digitaluapi

<back to all web services

GetCampaignCustomerCertificateByCommsGuid

The following routes are available for this service:
GET/campaign/certbycommsguid/{CampaignInstanceCommsPublicAccessGuid}Get Campaign Certificate By Comms Guid
import 'package:servicestack/servicestack.dart';

class CampaignActionsView implements IConvertible
{
    // @DataMember(Order=1)
    // @Required()
    int? Id;

    // @DataMember(Order=2)
    // @Required()
    // @References(typeof(Campaigns))
    int? CampaignsId;

    // @DataMember(Order=3)
    // @References(typeof(Actions))
    int? ActionsId;

    // @DataMember(Order=4)
    String? ButtonName;

    // @DataMember(Order=5)
    // @References(typeof(ActionTypes))
    int? ActionTypesId;

    // @DataMember(Order=6)
    String? Description;

    // @DataMember(Order=7)
    int? OfferOrder;

    // @DataMember(Order=8)
    bool? StandOut;

    // @DataMember(Order=9)
    // @Required()
    String? PublicAccessGuid;

    // @DataMember(Order=10)
    bool? IsPayment;

    // @DataMember(Order=11)
    bool? IsPayOff;

    // @DataMember(Order=12)
    bool? IsEnabled;

    CampaignActionsView({this.Id,this.CampaignsId,this.ActionsId,this.ButtonName,this.ActionTypesId,this.Description,this.OfferOrder,this.StandOut,this.PublicAccessGuid,this.IsPayment,this.IsPayOff,this.IsEnabled});
    CampaignActionsView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        CampaignsId = json['CampaignsId'];
        ActionsId = json['ActionsId'];
        ButtonName = json['ButtonName'];
        ActionTypesId = json['ActionTypesId'];
        Description = json['Description'];
        OfferOrder = json['OfferOrder'];
        StandOut = json['StandOut'];
        PublicAccessGuid = json['PublicAccessGuid'];
        IsPayment = json['IsPayment'];
        IsPayOff = json['IsPayOff'];
        IsEnabled = json['IsEnabled'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'CampaignsId': CampaignsId,
        'ActionsId': ActionsId,
        'ButtonName': ButtonName,
        'ActionTypesId': ActionTypesId,
        'Description': Description,
        'OfferOrder': OfferOrder,
        'StandOut': StandOut,
        'PublicAccessGuid': PublicAccessGuid,
        'IsPayment': IsPayment,
        'IsPayOff': IsPayOff,
        'IsEnabled': IsEnabled
    };

    getTypeName() => "CampaignActionsView";
    TypeContext? context = _ctx;
}

class Campaigns implements IConvertible
{
    // @DataMember(Order=1)
    // @Required()
    int? Id;

    // @DataMember(Order=2)
    // @Required()
    int? TenantsId;

    // @DataMember(Order=3)
    // @Required()
    String? Name;

    // @DataMember(Order=4)
    // @Required()
    String? Description;

    // @DataMember(Order=5)
    // @References(typeof(Avatars))
    int? AvatarsId;

    // @DataMember(Order=6)
    // @References(typeof(Schedules))
    int? SchedulesId;

    // @DataMember(Order=7)
    // @References(typeof(MessageTones))
    int? MessageTonesId;

    // @DataMember(Order=8)
    // @Required()
    // @References(typeof(StatusCodes))
    int? StatusCodesId;

    // @DataMember(Order=9)
    // @Required()
    String? PublicAccessGuid;

    // @DataMember(Order=10)
    String? ViewHeading;

    // @DataMember(Order=11)
    List<CampaignActionsView>? CampaignActions;

    Campaigns({this.Id,this.TenantsId,this.Name,this.Description,this.AvatarsId,this.SchedulesId,this.MessageTonesId,this.StatusCodesId,this.PublicAccessGuid,this.ViewHeading,this.CampaignActions});
    Campaigns.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        TenantsId = json['TenantsId'];
        Name = json['Name'];
        Description = json['Description'];
        AvatarsId = json['AvatarsId'];
        SchedulesId = json['SchedulesId'];
        MessageTonesId = json['MessageTonesId'];
        StatusCodesId = json['StatusCodesId'];
        PublicAccessGuid = json['PublicAccessGuid'];
        ViewHeading = json['ViewHeading'];
        CampaignActions = JsonConverters.fromJson(json['CampaignActions'],'List<CampaignActionsView>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'TenantsId': TenantsId,
        'Name': Name,
        'Description': Description,
        'AvatarsId': AvatarsId,
        'SchedulesId': SchedulesId,
        'MessageTonesId': MessageTonesId,
        'StatusCodesId': StatusCodesId,
        'PublicAccessGuid': PublicAccessGuid,
        'ViewHeading': ViewHeading,
        'CampaignActions': JsonConverters.toJson(CampaignActions,'List<CampaignActionsView>',context!)
    };

    getTypeName() => "Campaigns";
    TypeContext? context = _ctx;
}

class Customers implements IConvertible
{
    // @DataMember(Order=1)
    // @Required()
    int? Id;

    // @DataMember(Order=2)
    // @Required()
    // @References(typeof(Tenants))
    int? TenantsId;

    // @DataMember(Order=3)
    // @References(typeof(AppUser))
    int? UserAuthId;

    // @DataMember(Order=4)
    // @Required()
    // @References(typeof(Segments))
    int? SegmentsId;

    // @DataMember(Order=5)
    // @References(typeof(Companies))
    int? CompaniesId;

    // @DataMember(Order=6)
    int? CurrenciesId;

    // @DataMember(Order=7)
    String? Address;

    // @DataMember(Order=8)
    int? Age;

    // @DataMember(Order=9)
    String? City;

    // @DataMember(Order=10)
    String? ContactNumber;

    // @DataMember(Order=11)
    String? Email;

    // @DataMember(Order=12)
    String? EthnicGroup;

    // @DataMember(Order=13)
    String? FirstName;

    // @DataMember(Order=14)
    String? Gender;

    // @DataMember(Order=15)
    String? HomeLanguage;

    // @DataMember(Order=16)
    String? IdNumber;

    // @DataMember(Order=17)
    String? LastName;

    // @DataMember(Order=18)
    String? PostalCode;

    // @DataMember(Order=19)
    String? Region;

    // @DataMember(Order=20)
    String? Suburb;

    // @DataMember(Order=21)
    String? UniqueIdentifier;

    // @DataMember(Order=22)
    DateTime? BirthDate;

    // @DataMember(Order=23)
    Map<String,String?>? Classifications;

    // @DataMember(Order=24)
    String? Country;

    // @DataMember(Order=25)
    String? PassportNumber;

    // @DataMember(Order=26)
    // @Required()
    // @References(typeof(StatusCodes))
    int? StatusCodesId;

    // @DataMember(Order=27)
    String? Reason;

    // @DataMember(Order=28)
    bool? VulnerabilityFlag;

    // @DataMember(Order=29)
    Map<String,String?>? Meta;

    // @DataMember(Order=31)
    // @Computed()
    String? PublicAccessGuid;

    // @DataMember(Order=32)
    String? CustomField1;

    // @DataMember(Order=33)
    String? CustomField2;

    // @DataMember(Order=34)
    String? CustomField3;

    // @DataMember(Order=35)
    String? CustomField4;

    // @DataMember(Order=36)
    String? CustomField5;

    // @DataMember(Order=37)
    String? CustomField6;

    // @DataMember(Order=38)
    String? CustomField7;

    // @DataMember(Order=39)
    String? CustomField8;

    // @DataMember(Order=40)
    String? CustomField9;

    // @DataMember(Order=41)
    String? CustomField10;

    Customers({this.Id,this.TenantsId,this.UserAuthId,this.SegmentsId,this.CompaniesId,this.CurrenciesId,this.Address,this.Age,this.City,this.ContactNumber,this.Email,this.EthnicGroup,this.FirstName,this.Gender,this.HomeLanguage,this.IdNumber,this.LastName,this.PostalCode,this.Region,this.Suburb,this.UniqueIdentifier,this.BirthDate,this.Classifications,this.Country,this.PassportNumber,this.StatusCodesId,this.Reason,this.VulnerabilityFlag,this.Meta,this.PublicAccessGuid,this.CustomField1,this.CustomField2,this.CustomField3,this.CustomField4,this.CustomField5,this.CustomField6,this.CustomField7,this.CustomField8,this.CustomField9,this.CustomField10});
    Customers.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        TenantsId = json['TenantsId'];
        UserAuthId = json['UserAuthId'];
        SegmentsId = json['SegmentsId'];
        CompaniesId = json['CompaniesId'];
        CurrenciesId = json['CurrenciesId'];
        Address = json['Address'];
        Age = json['Age'];
        City = json['City'];
        ContactNumber = json['ContactNumber'];
        Email = json['Email'];
        EthnicGroup = json['EthnicGroup'];
        FirstName = json['FirstName'];
        Gender = json['Gender'];
        HomeLanguage = json['HomeLanguage'];
        IdNumber = json['IdNumber'];
        LastName = json['LastName'];
        PostalCode = json['PostalCode'];
        Region = json['Region'];
        Suburb = json['Suburb'];
        UniqueIdentifier = json['UniqueIdentifier'];
        BirthDate = JsonConverters.fromJson(json['BirthDate'],'DateTime',context!);
        Classifications = JsonConverters.toStringMap(json['Classifications']);
        Country = json['Country'];
        PassportNumber = json['PassportNumber'];
        StatusCodesId = json['StatusCodesId'];
        Reason = json['Reason'];
        VulnerabilityFlag = json['VulnerabilityFlag'];
        Meta = JsonConverters.toStringMap(json['Meta']);
        PublicAccessGuid = json['PublicAccessGuid'];
        CustomField1 = json['CustomField1'];
        CustomField2 = json['CustomField2'];
        CustomField3 = json['CustomField3'];
        CustomField4 = json['CustomField4'];
        CustomField5 = json['CustomField5'];
        CustomField6 = json['CustomField6'];
        CustomField7 = json['CustomField7'];
        CustomField8 = json['CustomField8'];
        CustomField9 = json['CustomField9'];
        CustomField10 = json['CustomField10'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'TenantsId': TenantsId,
        'UserAuthId': UserAuthId,
        'SegmentsId': SegmentsId,
        'CompaniesId': CompaniesId,
        'CurrenciesId': CurrenciesId,
        'Address': Address,
        'Age': Age,
        'City': City,
        'ContactNumber': ContactNumber,
        'Email': Email,
        'EthnicGroup': EthnicGroup,
        'FirstName': FirstName,
        'Gender': Gender,
        'HomeLanguage': HomeLanguage,
        'IdNumber': IdNumber,
        'LastName': LastName,
        'PostalCode': PostalCode,
        'Region': Region,
        'Suburb': Suburb,
        'UniqueIdentifier': UniqueIdentifier,
        'BirthDate': JsonConverters.toJson(BirthDate,'DateTime',context!),
        'Classifications': Classifications,
        'Country': Country,
        'PassportNumber': PassportNumber,
        'StatusCodesId': StatusCodesId,
        'Reason': Reason,
        'VulnerabilityFlag': VulnerabilityFlag,
        'Meta': Meta,
        'PublicAccessGuid': PublicAccessGuid,
        'CustomField1': CustomField1,
        'CustomField2': CustomField2,
        'CustomField3': CustomField3,
        'CustomField4': CustomField4,
        'CustomField5': CustomField5,
        'CustomField6': CustomField6,
        'CustomField7': CustomField7,
        'CustomField8': CustomField8,
        'CustomField9': CustomField9,
        'CustomField10': CustomField10
    };

    getTypeName() => "Customers";
    TypeContext? context = _ctx;
}

class CampaignInstanceComms implements IConvertible
{
    // @DataMember(Order=1)
    // @Required()
    int? Id;

    // @DataMember(Order=2)
    // @Required()
    // @References(typeof(CampaignInstanceCustomers))
    int? CampaignInstanceCustomersId;

    // @DataMember(Order=3)
    // @Required()
    // @References(typeof(Channels))
    int? ChannelsId;

    // @DataMember(Order=4)
    String? Email;

    // @DataMember(Order=5)
    String? MobileNumber;

    // @DataMember(Order=6)
    String? EmailAttachmentTemplate;

    // @DataMember(Order=7)
    String? EmailTemplate;

    // @DataMember(Order=8)
    String? EmailHtmlTemplate;

    // @DataMember(Order=9)
    String? SmsTemplate;

    // @DataMember(Order=10)
    // @Required()
    String? PublicAccessGuid;

    // @DataMember(Order=11)
    // @Required()
    // @References(typeof(Campaigns))
    int? CampaignsId;

    // @DataMember(Order=12)
    int? DebtsId;

    // @DataMember(Order=13)
    // @Required()
    bool? IsPaymentCampaign;

    // @DataMember(Order=14)
    // @References(typeof(SchedulesInstances))
    int? ScheduleInstancesId;

    // @DataMember(Order=15)
    int? StatusCodesId;

    // @DataMember(Order=16)
    int? EmailTemplatesId;

    // @DataMember(Order=17)
    String? AvatarTemplateText;

    // @DataMember(Order=18)
    String? HeadingTemplateText;

    // @DataMember(Order=19)
    String? SubheadingTemplateText;

    // @DataMember(Order=20)
    bool? Sent;

    // @DataMember(Order=21)
    bool? Failed;

    // @DataMember(Order=22)
    String? CommsUrl;

    CampaignInstanceComms({this.Id,this.CampaignInstanceCustomersId,this.ChannelsId,this.Email,this.MobileNumber,this.EmailAttachmentTemplate,this.EmailTemplate,this.EmailHtmlTemplate,this.SmsTemplate,this.PublicAccessGuid,this.CampaignsId,this.DebtsId,this.IsPaymentCampaign,this.ScheduleInstancesId,this.StatusCodesId,this.EmailTemplatesId,this.AvatarTemplateText,this.HeadingTemplateText,this.SubheadingTemplateText,this.Sent,this.Failed,this.CommsUrl});
    CampaignInstanceComms.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        CampaignInstanceCustomersId = json['CampaignInstanceCustomersId'];
        ChannelsId = json['ChannelsId'];
        Email = json['Email'];
        MobileNumber = json['MobileNumber'];
        EmailAttachmentTemplate = json['EmailAttachmentTemplate'];
        EmailTemplate = json['EmailTemplate'];
        EmailHtmlTemplate = json['EmailHtmlTemplate'];
        SmsTemplate = json['SmsTemplate'];
        PublicAccessGuid = json['PublicAccessGuid'];
        CampaignsId = json['CampaignsId'];
        DebtsId = json['DebtsId'];
        IsPaymentCampaign = json['IsPaymentCampaign'];
        ScheduleInstancesId = json['ScheduleInstancesId'];
        StatusCodesId = json['StatusCodesId'];
        EmailTemplatesId = json['EmailTemplatesId'];
        AvatarTemplateText = json['AvatarTemplateText'];
        HeadingTemplateText = json['HeadingTemplateText'];
        SubheadingTemplateText = json['SubheadingTemplateText'];
        Sent = json['Sent'];
        Failed = json['Failed'];
        CommsUrl = json['CommsUrl'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'CampaignInstanceCustomersId': CampaignInstanceCustomersId,
        'ChannelsId': ChannelsId,
        'Email': Email,
        'MobileNumber': MobileNumber,
        'EmailAttachmentTemplate': EmailAttachmentTemplate,
        'EmailTemplate': EmailTemplate,
        'EmailHtmlTemplate': EmailHtmlTemplate,
        'SmsTemplate': SmsTemplate,
        'PublicAccessGuid': PublicAccessGuid,
        'CampaignsId': CampaignsId,
        'DebtsId': DebtsId,
        'IsPaymentCampaign': IsPaymentCampaign,
        'ScheduleInstancesId': ScheduleInstancesId,
        'StatusCodesId': StatusCodesId,
        'EmailTemplatesId': EmailTemplatesId,
        'AvatarTemplateText': AvatarTemplateText,
        'HeadingTemplateText': HeadingTemplateText,
        'SubheadingTemplateText': SubheadingTemplateText,
        'Sent': Sent,
        'Failed': Failed,
        'CommsUrl': CommsUrl
    };

    getTypeName() => "CampaignInstanceComms";
    TypeContext? context = _ctx;
}

class EmailEventsView implements IConvertible
{
    // @DataMember(Order=1)
    int? Id;

    // @DataMember(Order=2)
    String? Email;

    // @DataMember(Order=3)
    DateTime? TimestampDate;

    // @DataMember(Order=4)
    String? Event;

    // @DataMember(Order=5)
    String? Category;

    // @DataMember(Order=6)
    String? SgEventId;

    // @DataMember(Order=7)
    String? SgMessageId;

    // @DataMember(Order=8)
    String? UserAgent;

    // @DataMember(Order=9)
    String? Ipaddress;

    // @DataMember(Order=10)
    String? Url;

    // @DataMember(Order=11)
    int? CampaignInstanceCommsId;

    // @DataMember(Order=12)
    int? TenantsId;

    // @DataMember(Order=13)
    int? SegmentsId;

    // @DataMember(Order=14)
    String? Address;

    // @DataMember(Order=15)
    int? Age;

    // @DataMember(Order=16)
    String? City;

    // @DataMember(Order=17)
    String? ContactNumber;

    // @DataMember(Order=18)
    String? EthnicGroup;

    // @DataMember(Order=19)
    String? FirstName;

    // @DataMember(Order=20)
    String? Gender;

    // @DataMember(Order=21)
    String? HomeLanguage;

    // @DataMember(Order=22)
    String? IdNumber;

    // @DataMember(Order=23)
    String? LastName;

    // @DataMember(Order=24)
    String? PostalCode;

    // @DataMember(Order=25)
    String? Region;

    // @DataMember(Order=26)
    String? Suburb;

    // @DataMember(Order=27)
    DateTime? BirthDate;

    // @DataMember(Order=28)
    Map<String,String?>? Classifications;

    // @DataMember(Order=29)
    String? Country;

    // @DataMember(Order=30)
    String? PassportNumber;

    // @DataMember(Order=31)
    int? StatusCodesId;

    // @DataMember(Order=32)
    String? Reason;

    // @DataMember(Order=33)
    bool? VulnerabilityFlag;

    // @DataMember(Order=34)
    String? CompaniesName;

    // @DataMember(Order=35)
    String? SegmentsName;

    // @DataMember(Order=36)
    bool? SegmentsIsCustom;

    // @DataMember(Order=37)
    String? StatusCodesDescription;

    // @DataMember(Order=38)
    int? CampaignsId;

    EmailEventsView({this.Id,this.Email,this.TimestampDate,this.Event,this.Category,this.SgEventId,this.SgMessageId,this.UserAgent,this.Ipaddress,this.Url,this.CampaignInstanceCommsId,this.TenantsId,this.SegmentsId,this.Address,this.Age,this.City,this.ContactNumber,this.EthnicGroup,this.FirstName,this.Gender,this.HomeLanguage,this.IdNumber,this.LastName,this.PostalCode,this.Region,this.Suburb,this.BirthDate,this.Classifications,this.Country,this.PassportNumber,this.StatusCodesId,this.Reason,this.VulnerabilityFlag,this.CompaniesName,this.SegmentsName,this.SegmentsIsCustom,this.StatusCodesDescription,this.CampaignsId});
    EmailEventsView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Email = json['Email'];
        TimestampDate = JsonConverters.fromJson(json['TimestampDate'],'DateTime',context!);
        Event = json['Event'];
        Category = json['Category'];
        SgEventId = json['SgEventId'];
        SgMessageId = json['SgMessageId'];
        UserAgent = json['UserAgent'];
        Ipaddress = json['Ipaddress'];
        Url = json['Url'];
        CampaignInstanceCommsId = json['CampaignInstanceCommsId'];
        TenantsId = json['TenantsId'];
        SegmentsId = json['SegmentsId'];
        Address = json['Address'];
        Age = json['Age'];
        City = json['City'];
        ContactNumber = json['ContactNumber'];
        EthnicGroup = json['EthnicGroup'];
        FirstName = json['FirstName'];
        Gender = json['Gender'];
        HomeLanguage = json['HomeLanguage'];
        IdNumber = json['IdNumber'];
        LastName = json['LastName'];
        PostalCode = json['PostalCode'];
        Region = json['Region'];
        Suburb = json['Suburb'];
        BirthDate = JsonConverters.fromJson(json['BirthDate'],'DateTime',context!);
        Classifications = JsonConverters.toStringMap(json['Classifications']);
        Country = json['Country'];
        PassportNumber = json['PassportNumber'];
        StatusCodesId = json['StatusCodesId'];
        Reason = json['Reason'];
        VulnerabilityFlag = json['VulnerabilityFlag'];
        CompaniesName = json['CompaniesName'];
        SegmentsName = json['SegmentsName'];
        SegmentsIsCustom = json['SegmentsIsCustom'];
        StatusCodesDescription = json['StatusCodesDescription'];
        CampaignsId = json['CampaignsId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Email': Email,
        'TimestampDate': JsonConverters.toJson(TimestampDate,'DateTime',context!),
        'Event': Event,
        'Category': Category,
        'SgEventId': SgEventId,
        'SgMessageId': SgMessageId,
        'UserAgent': UserAgent,
        'Ipaddress': Ipaddress,
        'Url': Url,
        'CampaignInstanceCommsId': CampaignInstanceCommsId,
        'TenantsId': TenantsId,
        'SegmentsId': SegmentsId,
        'Address': Address,
        'Age': Age,
        'City': City,
        'ContactNumber': ContactNumber,
        'EthnicGroup': EthnicGroup,
        'FirstName': FirstName,
        'Gender': Gender,
        'HomeLanguage': HomeLanguage,
        'IdNumber': IdNumber,
        'LastName': LastName,
        'PostalCode': PostalCode,
        'Region': Region,
        'Suburb': Suburb,
        'BirthDate': JsonConverters.toJson(BirthDate,'DateTime',context!),
        'Classifications': Classifications,
        'Country': Country,
        'PassportNumber': PassportNumber,
        'StatusCodesId': StatusCodesId,
        'Reason': Reason,
        'VulnerabilityFlag': VulnerabilityFlag,
        'CompaniesName': CompaniesName,
        'SegmentsName': SegmentsName,
        'SegmentsIsCustom': SegmentsIsCustom,
        'StatusCodesDescription': StatusCodesDescription,
        'CampaignsId': CampaignsId
    };

    getTypeName() => "EmailEventsView";
    TypeContext? context = _ctx;
}

class SmsWatsappEventsView implements IConvertible
{
    // @DataMember(Order=1)
    int? Id;

    // @DataMember(Order=2)
    int? CampaignInstancesCommsId;

    // @DataMember(Order=3)
    Map<String,String?>? RawJson;

    // @DataMember(Order=4)
    String? IntegrationId;

    // @DataMember(Order=5)
    String? IntegrationName;

    // @DataMember(Order=6)
    String? Channel;

    // @DataMember(Order=7)
    int? Timestamp;

    // @DataMember(Order=8)
    DateTime? TimestampDate;

    // @DataMember(Order=9)
    int? StatusCode;

    // @DataMember(Order=10)
    String? Status;

    // @DataMember(Order=11)
    String? MessageId;

    // @DataMember(Order=12)
    String? ClientMessageId;

    // @DataMember(Order=13)
    int? TenantsId;

    // @DataMember(Order=14)
    int? SegmentsId;

    // @DataMember(Order=15)
    String? Address;

    // @DataMember(Order=16)
    int? Age;

    // @DataMember(Order=17)
    String? City;

    // @DataMember(Order=18)
    String? ContactNumber;

    // @DataMember(Order=19)
    String? EthnicGroup;

    // @DataMember(Order=20)
    String? FirstName;

    // @DataMember(Order=21)
    String? Gender;

    // @DataMember(Order=22)
    String? HomeLanguage;

    // @DataMember(Order=23)
    String? IdNumber;

    // @DataMember(Order=24)
    String? LastName;

    // @DataMember(Order=25)
    String? PostalCode;

    // @DataMember(Order=26)
    String? Region;

    // @DataMember(Order=27)
    String? Suburb;

    // @DataMember(Order=28)
    DateTime? BirthDate;

    // @DataMember(Order=29)
    Map<String,String?>? Classifications;

    // @DataMember(Order=30)
    String? Country;

    // @DataMember(Order=31)
    String? PassportNumber;

    // @DataMember(Order=32)
    int? StatusCodesId;

    // @DataMember(Order=33)
    String? Reason;

    // @DataMember(Order=34)
    bool? VulnerabilityFlag;

    // @DataMember(Order=35)
    String? CompaniesName;

    // @DataMember(Order=36)
    String? SegmentsName;

    // @DataMember(Order=37)
    bool? SegmentsIsCustom;

    // @DataMember(Order=38)
    String? StatusCodesDescription;

    // @DataMember(Order=39)
    int? CampaignsId;

    // @DataMember(Order=40)
    int? CustomersId;

    SmsWatsappEventsView({this.Id,this.CampaignInstancesCommsId,this.RawJson,this.IntegrationId,this.IntegrationName,this.Channel,this.Timestamp,this.TimestampDate,this.StatusCode,this.Status,this.MessageId,this.ClientMessageId,this.TenantsId,this.SegmentsId,this.Address,this.Age,this.City,this.ContactNumber,this.EthnicGroup,this.FirstName,this.Gender,this.HomeLanguage,this.IdNumber,this.LastName,this.PostalCode,this.Region,this.Suburb,this.BirthDate,this.Classifications,this.Country,this.PassportNumber,this.StatusCodesId,this.Reason,this.VulnerabilityFlag,this.CompaniesName,this.SegmentsName,this.SegmentsIsCustom,this.StatusCodesDescription,this.CampaignsId,this.CustomersId});
    SmsWatsappEventsView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        CampaignInstancesCommsId = json['CampaignInstancesCommsId'];
        RawJson = JsonConverters.toStringMap(json['RawJson']);
        IntegrationId = json['IntegrationId'];
        IntegrationName = json['IntegrationName'];
        Channel = json['Channel'];
        Timestamp = json['Timestamp'];
        TimestampDate = JsonConverters.fromJson(json['TimestampDate'],'DateTime',context!);
        StatusCode = json['StatusCode'];
        Status = json['Status'];
        MessageId = json['MessageId'];
        ClientMessageId = json['ClientMessageId'];
        TenantsId = json['TenantsId'];
        SegmentsId = json['SegmentsId'];
        Address = json['Address'];
        Age = json['Age'];
        City = json['City'];
        ContactNumber = json['ContactNumber'];
        EthnicGroup = json['EthnicGroup'];
        FirstName = json['FirstName'];
        Gender = json['Gender'];
        HomeLanguage = json['HomeLanguage'];
        IdNumber = json['IdNumber'];
        LastName = json['LastName'];
        PostalCode = json['PostalCode'];
        Region = json['Region'];
        Suburb = json['Suburb'];
        BirthDate = JsonConverters.fromJson(json['BirthDate'],'DateTime',context!);
        Classifications = JsonConverters.toStringMap(json['Classifications']);
        Country = json['Country'];
        PassportNumber = json['PassportNumber'];
        StatusCodesId = json['StatusCodesId'];
        Reason = json['Reason'];
        VulnerabilityFlag = json['VulnerabilityFlag'];
        CompaniesName = json['CompaniesName'];
        SegmentsName = json['SegmentsName'];
        SegmentsIsCustom = json['SegmentsIsCustom'];
        StatusCodesDescription = json['StatusCodesDescription'];
        CampaignsId = json['CampaignsId'];
        CustomersId = json['CustomersId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'CampaignInstancesCommsId': CampaignInstancesCommsId,
        'RawJson': RawJson,
        'IntegrationId': IntegrationId,
        'IntegrationName': IntegrationName,
        'Channel': Channel,
        'Timestamp': Timestamp,
        'TimestampDate': JsonConverters.toJson(TimestampDate,'DateTime',context!),
        'StatusCode': StatusCode,
        'Status': Status,
        'MessageId': MessageId,
        'ClientMessageId': ClientMessageId,
        'TenantsId': TenantsId,
        'SegmentsId': SegmentsId,
        'Address': Address,
        'Age': Age,
        'City': City,
        'ContactNumber': ContactNumber,
        'EthnicGroup': EthnicGroup,
        'FirstName': FirstName,
        'Gender': Gender,
        'HomeLanguage': HomeLanguage,
        'IdNumber': IdNumber,
        'LastName': LastName,
        'PostalCode': PostalCode,
        'Region': Region,
        'Suburb': Suburb,
        'BirthDate': JsonConverters.toJson(BirthDate,'DateTime',context!),
        'Classifications': Classifications,
        'Country': Country,
        'PassportNumber': PassportNumber,
        'StatusCodesId': StatusCodesId,
        'Reason': Reason,
        'VulnerabilityFlag': VulnerabilityFlag,
        'CompaniesName': CompaniesName,
        'SegmentsName': SegmentsName,
        'SegmentsIsCustom': SegmentsIsCustom,
        'StatusCodesDescription': StatusCodesDescription,
        'CampaignsId': CampaignsId,
        'CustomersId': CustomersId
    };

    getTypeName() => "SmsWatsappEventsView";
    TypeContext? context = _ctx;
}

class CampaignInstanceCommsStats implements IConvertible
{
    // @DataMember(Order=1)
    // @Required()
    int? Id;

    // @DataMember(Order=2)
    // @Required()
    int? CampaignInstanceCommsId;

    // @DataMember(Order=3)
    DateTime? ViewedDate;

    CampaignInstanceCommsStats({this.Id,this.CampaignInstanceCommsId,this.ViewedDate});
    CampaignInstanceCommsStats.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        CampaignInstanceCommsId = json['CampaignInstanceCommsId'];
        ViewedDate = JsonConverters.fromJson(json['ViewedDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'CampaignInstanceCommsId': CampaignInstanceCommsId,
        'ViewedDate': JsonConverters.toJson(ViewedDate,'DateTime',context!)
    };

    getTypeName() => "CampaignInstanceCommsStats";
    TypeContext? context = _ctx;
}

class CampaignInstanceCommsDetails implements IConvertible
{
    CampaignInstanceComms? CampaignInstanceComms;
    List<EmailEventsView>? EmailEvents;
    List<SmsWatsappEventsView>? SmsWatsappEvents;
    List<CampaignInstanceCommsStats>? CampaignInstanceCommsStats;

    CampaignInstanceCommsDetails({this.CampaignInstanceComms,this.EmailEvents,this.SmsWatsappEvents,this.CampaignInstanceCommsStats});
    CampaignInstanceCommsDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CampaignInstanceComms = JsonConverters.fromJson(json['CampaignInstanceComms'],'CampaignInstanceComms',context!);
        EmailEvents = JsonConverters.fromJson(json['EmailEvents'],'List<EmailEventsView>',context!);
        SmsWatsappEvents = JsonConverters.fromJson(json['SmsWatsappEvents'],'List<SmsWatsappEventsView>',context!);
        CampaignInstanceCommsStats = JsonConverters.fromJson(json['CampaignInstanceCommsStats'],'List<CampaignInstanceCommsStats>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CampaignInstanceComms': JsonConverters.toJson(CampaignInstanceComms,'CampaignInstanceComms',context!),
        'EmailEvents': JsonConverters.toJson(EmailEvents,'List<EmailEventsView>',context!),
        'SmsWatsappEvents': JsonConverters.toJson(SmsWatsappEvents,'List<SmsWatsappEventsView>',context!),
        'CampaignInstanceCommsStats': JsonConverters.toJson(CampaignInstanceCommsStats,'List<CampaignInstanceCommsStats>',context!)
    };

    getTypeName() => "CampaignInstanceCommsDetails";
    TypeContext? context = _ctx;
}

class GetCampaignCustomerCertificateResponse implements IConvertible
{
    Campaigns? Campaign;
    Customers? Customer;
    List<CampaignInstanceCommsDetails>? CampaignInstanceCommsDetails;
    ResponseStatus? ResponseStatus;

    GetCampaignCustomerCertificateResponse({this.Campaign,this.Customer,this.CampaignInstanceCommsDetails,this.ResponseStatus});
    GetCampaignCustomerCertificateResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Campaign = JsonConverters.fromJson(json['Campaign'],'Campaigns',context!);
        Customer = JsonConverters.fromJson(json['Customer'],'Customers',context!);
        CampaignInstanceCommsDetails = JsonConverters.fromJson(json['CampaignInstanceCommsDetails'],'List<CampaignInstanceCommsDetails>',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Campaign': JsonConverters.toJson(Campaign,'Campaigns',context!),
        'Customer': JsonConverters.toJson(Customer,'Customers',context!),
        'CampaignInstanceCommsDetails': JsonConverters.toJson(CampaignInstanceCommsDetails,'List<CampaignInstanceCommsDetails>',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetCampaignCustomerCertificateResponse";
    TypeContext? context = _ctx;
}

class GetCampaignCustomerCertificateByCommsGuid implements IConvertible
{
    String? CampaignInstanceCommsPublicAccessGuid;

    GetCampaignCustomerCertificateByCommsGuid({this.CampaignInstanceCommsPublicAccessGuid});
    GetCampaignCustomerCertificateByCommsGuid.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CampaignInstanceCommsPublicAccessGuid = json['CampaignInstanceCommsPublicAccessGuid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CampaignInstanceCommsPublicAccessGuid': CampaignInstanceCommsPublicAccessGuid
    };

    getTypeName() => "GetCampaignCustomerCertificateByCommsGuid";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'duengageapi.uat.scadsoftware.com', types: <String, TypeInfo> {
    'CampaignActionsView': TypeInfo(TypeOf.Class, create:() => CampaignActionsView()),
    'Campaigns': TypeInfo(TypeOf.Class, create:() => Campaigns()),
    'List<CampaignActionsView>': TypeInfo(TypeOf.Class, create:() => <CampaignActionsView>[]),
    'Customers': TypeInfo(TypeOf.Class, create:() => Customers()),
    'CampaignInstanceComms': TypeInfo(TypeOf.Class, create:() => CampaignInstanceComms()),
    'EmailEventsView': TypeInfo(TypeOf.Class, create:() => EmailEventsView()),
    'SmsWatsappEventsView': TypeInfo(TypeOf.Class, create:() => SmsWatsappEventsView()),
    'CampaignInstanceCommsStats': TypeInfo(TypeOf.Class, create:() => CampaignInstanceCommsStats()),
    'CampaignInstanceCommsDetails': TypeInfo(TypeOf.Class, create:() => CampaignInstanceCommsDetails()),
    'List<EmailEventsView>': TypeInfo(TypeOf.Class, create:() => <EmailEventsView>[]),
    'List<SmsWatsappEventsView>': TypeInfo(TypeOf.Class, create:() => <SmsWatsappEventsView>[]),
    'List<CampaignInstanceCommsStats>': TypeInfo(TypeOf.Class, create:() => <CampaignInstanceCommsStats>[]),
    'GetCampaignCustomerCertificateResponse': TypeInfo(TypeOf.Class, create:() => GetCampaignCustomerCertificateResponse()),
    'List<CampaignInstanceCommsDetails>': TypeInfo(TypeOf.Class, create:() => <CampaignInstanceCommsDetails>[]),
    'GetCampaignCustomerCertificateByCommsGuid': TypeInfo(TypeOf.Class, create:() => GetCampaignCustomerCertificateByCommsGuid()),
});

Dart GetCampaignCustomerCertificateByCommsGuid DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /campaign/certbycommsguid/{CampaignInstanceCommsPublicAccessGuid} HTTP/1.1 
Host: duengageapi.uat.scadsoftware.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Campaign":{"Id":0,"TenantsId":0,"Name":"String","Description":"String","AvatarsId":0,"SchedulesId":0,"MessageTonesId":0,"StatusCodesId":0,"PublicAccessGuid":"00000000000000000000000000000000","ViewHeading":"String","CampaignActions":[{"Id":0,"CampaignsId":0,"ActionsId":0,"ButtonName":"String","ActionTypesId":0,"Description":"String","OfferOrder":0,"StandOut":false,"PublicAccessGuid":"00000000000000000000000000000000","IsPayment":false,"IsPayOff":false,"IsEnabled":false}]},"Customer":{"Id":0,"TenantsId":0,"UserAuthId":0,"SegmentsId":0,"CompaniesId":0,"CurrenciesId":0,"Address":"String","Age":0,"City":"String","ContactNumber":"String","Email":"String","EthnicGroup":"String","FirstName":"String","Gender":"String","HomeLanguage":"String","IdNumber":"String","LastName":"String","PostalCode":"String","Region":"String","Suburb":"String","UniqueIdentifier":"String","BirthDate":"0001-01-01T00:00:00.0000000","Classifications":{"String":"String"},"Country":"String","PassportNumber":"String","StatusCodesId":0,"Reason":"String","VulnerabilityFlag":false,"Meta":{"String":"String"},"PublicAccessGuid":"00000000000000000000000000000000","CustomField1":"String","CustomField2":"String","CustomField3":"String","CustomField4":"String","CustomField5":"String","CustomField6":"String","CustomField7":"String","CustomField8":"String","CustomField9":"String","CustomField10":"String"},"CampaignInstanceCommsDetails":[{"CampaignInstanceComms":{"Id":0,"CampaignInstanceCustomersId":0,"ChannelsId":0,"Email":"String","MobileNumber":"String","EmailAttachmentTemplate":"String","EmailTemplate":"String","EmailHtmlTemplate":"String","SmsTemplate":"String","PublicAccessGuid":"00000000000000000000000000000000","CampaignsId":0,"DebtsId":0,"IsPaymentCampaign":false,"ScheduleInstancesId":0,"StatusCodesId":0,"EmailTemplatesId":0,"AvatarTemplateText":"String","HeadingTemplateText":"String","SubheadingTemplateText":"String","Sent":false,"Failed":false,"CommsUrl":"String"},"EmailEvents":[{"Id":0,"Email":"String","TimestampDate":"0001-01-01T00:00:00.0000000+00:00","Event":"String","Category":"String","SgEventId":"String","SgMessageId":"String","UserAgent":"String","Ipaddress":"String","Url":"String","CampaignInstanceCommsId":0,"TenantsId":0,"SegmentsId":0,"Address":"String","Age":0,"City":"String","ContactNumber":"String","EthnicGroup":"String","FirstName":"String","Gender":"String","HomeLanguage":"String","IdNumber":"String","LastName":"String","PostalCode":"String","Region":"String","Suburb":"String","BirthDate":"0001-01-01T00:00:00.0000000","Classifications":{"String":"String"},"Country":"String","PassportNumber":"String","StatusCodesId":0,"Reason":"String","VulnerabilityFlag":false,"CompaniesName":"String","SegmentsName":"String","SegmentsIsCustom":false,"StatusCodesDescription":"String","CampaignsId":0}],"SmsWatsappEvents":[{"Id":0,"CampaignInstancesCommsId":0,"RawJson":{"String":"String"},"IntegrationId":"String","IntegrationName":"String","Channel":"String","Timestamp":0,"TimestampDate":"0001-01-01T00:00:00.0000000+00:00","StatusCode":0,"Status":"String","MessageId":"String","ClientMessageId":"String","TenantsId":0,"SegmentsId":0,"Address":"String","Age":0,"City":"String","ContactNumber":"String","EthnicGroup":"String","FirstName":"String","Gender":"String","HomeLanguage":"String","IdNumber":"String","LastName":"String","PostalCode":"String","Region":"String","Suburb":"String","BirthDate":"0001-01-01T00:00:00.0000000","Classifications":{"String":"String"},"Country":"String","PassportNumber":"String","StatusCodesId":0,"Reason":"String","VulnerabilityFlag":false,"CompaniesName":"String","SegmentsName":"String","SegmentsIsCustom":false,"StatusCodesDescription":"String","CampaignsId":0,"CustomersId":0}],"CampaignInstanceCommsStats":[{"Id":0,"CampaignInstanceCommsId":0,"ViewedDate":"0001-01-01T00:00:00.0000000+00:00"}]}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}