digitaluapi

<back to all web services

GetCampaignCustomerCertificateByCustomerId

The following routes are available for this service:
GET/campaign/certbycustomerguid/{CampaignPublicAccessGuid}/{CustomerPublicAccessGuid}Get Campaign Certificate By Campaign and Customer GUID
import Foundation
import ServiceStack

public class GetCampaignCustomerCertificateByCustomerId : Codable
{
    public var campaignPublicAccessGuid:String
    public var customerPublicAccessGuid:String

    required public init(){}
}

public class GetCampaignCustomerCertificateResponse : Codable
{
    public var campaign:Campaigns
    public var customer:Customers
    public var campaignInstanceCommsDetails:[CampaignInstanceCommsDetails]
    public var responseStatus:ResponseStatus

    required public init(){}
}

public class Campaigns : Codable
{
    // @DataMember(Order=1)
    // @Required()
    public var id:Int?

    // @DataMember(Order=2)
    // @Required()
    public var tenantsId:Int?

    // @DataMember(Order=3)
    // @Required()
    public var name:String?

    // @DataMember(Order=4)
    // @Required()
    public var Description:String?

    // @DataMember(Order=5)
    // @References(typeof(Avatars))
    public var avatarsId:Int?

    // @DataMember(Order=6)
    // @References(typeof(Schedules))
    public var schedulesId:Int?

    // @DataMember(Order=7)
    // @References(typeof(MessageTones))
    public var messageTonesId:Int?

    // @DataMember(Order=8)
    // @Required()
    // @References(typeof(StatusCodes))
    public var statusCodesId:Int?

    // @DataMember(Order=9)
    // @Required()
    public var publicAccessGuid:String?

    // @DataMember(Order=10)
    public var viewHeading:String

    // @DataMember(Order=11)
    public var campaignActions:[CampaignActionsView]

    required public init(){}
}

public class CampaignActionsView : Codable
{
    // @DataMember(Order=1)
    // @Required()
    public var id:Int?

    // @DataMember(Order=2)
    // @Required()
    // @References(typeof(Campaigns))
    public var campaignsId:Int?

    // @DataMember(Order=3)
    // @References(typeof(Actions))
    public var actionsId:Int?

    // @DataMember(Order=4)
    public var buttonName:String

    // @DataMember(Order=5)
    // @References(typeof(ActionTypes))
    public var actionTypesId:Int?

    // @DataMember(Order=6)
    public var Description:String

    // @DataMember(Order=7)
    public var offerOrder:Int16?

    // @DataMember(Order=8)
    public var standOut:Bool?

    // @DataMember(Order=9)
    // @Required()
    public var publicAccessGuid:String?

    // @DataMember(Order=10)
    public var isPayment:Bool

    // @DataMember(Order=11)
    public var isPayOff:Bool

    // @DataMember(Order=12)
    public var isEnabled:Bool

    required public init(){}
}

public class Customers : Codable
{
    // @DataMember(Order=1)
    // @Required()
    public var id:Int?

    // @DataMember(Order=2)
    // @Required()
    // @References(typeof(Tenants))
    public var tenantsId:Int?

    // @DataMember(Order=3)
    // @References(typeof(AppUser))
    public var userAuthId:Int?

    // @DataMember(Order=4)
    // @Required()
    // @References(typeof(Segments))
    public var segmentsId:Int?

    // @DataMember(Order=5)
    // @References(typeof(Companies))
    public var companiesId:Int?

    // @DataMember(Order=6)
    public var currenciesId:Int?

    // @DataMember(Order=7)
    public var address:String

    // @DataMember(Order=8)
    public var age:Int?

    // @DataMember(Order=9)
    public var city:String

    // @DataMember(Order=10)
    public var contactNumber:String

    // @DataMember(Order=11)
    public var email:String

    // @DataMember(Order=12)
    public var ethnicGroup:String

    // @DataMember(Order=13)
    public var firstName:String

    // @DataMember(Order=14)
    public var gender:String

    // @DataMember(Order=15)
    public var homeLanguage:String

    // @DataMember(Order=16)
    public var idNumber:String

    // @DataMember(Order=17)
    public var lastName:String

    // @DataMember(Order=18)
    public var postalCode:String

    // @DataMember(Order=19)
    public var region:String

    // @DataMember(Order=20)
    public var suburb:String

    // @DataMember(Order=21)
    public var uniqueIdentifier:String

    // @DataMember(Order=22)
    public var birthDate:Date?

    // @DataMember(Order=23)
    public var classifications:[String:String]

    // @DataMember(Order=24)
    public var country:String

    // @DataMember(Order=25)
    public var passportNumber:String

    // @DataMember(Order=26)
    // @Required()
    // @References(typeof(StatusCodes))
    public var statusCodesId:Int?

    // @DataMember(Order=27)
    public var reason:String

    // @DataMember(Order=28)
    public var vulnerabilityFlag:Bool?

    // @DataMember(Order=29)
    public var meta:[String:String]

    // @DataMember(Order=31)
    // @Computed()
    public var publicAccessGuid:String

    // @DataMember(Order=32)
    public var customField1:String

    // @DataMember(Order=33)
    public var customField2:String

    // @DataMember(Order=34)
    public var customField3:String

    // @DataMember(Order=35)
    public var customField4:String

    // @DataMember(Order=36)
    public var customField5:String

    // @DataMember(Order=37)
    public var customField6:String

    // @DataMember(Order=38)
    public var customField7:String

    // @DataMember(Order=39)
    public var customField8:String

    // @DataMember(Order=40)
    public var customField9:String

    // @DataMember(Order=41)
    public var customField10:String

    required public init(){}
}

public class CampaignInstanceCommsDetails : Codable
{
    public var campaignInstanceComms:CampaignInstanceComms
    public var emailEvents:[EmailEventsView]
    public var smsWatsappEvents:[SmsWatsappEventsView]
    public var campaignInstanceCommsStats:[CampaignInstanceCommsStats]

    required public init(){}
}

public class CampaignInstanceComms : Codable
{
    // @DataMember(Order=1)
    // @Required()
    public var id:Int?

    // @DataMember(Order=2)
    // @Required()
    // @References(typeof(CampaignInstanceCustomers))
    public var campaignInstanceCustomersId:Int?

    // @DataMember(Order=3)
    // @Required()
    // @References(typeof(Channels))
    public var channelsId:Int?

    // @DataMember(Order=4)
    public var email:String

    // @DataMember(Order=5)
    public var mobileNumber:String

    // @DataMember(Order=6)
    public var emailAttachmentTemplate:String

    // @DataMember(Order=7)
    public var emailTemplate:String

    // @DataMember(Order=8)
    public var emailHtmlTemplate:String

    // @DataMember(Order=9)
    public var smsTemplate:String

    // @DataMember(Order=10)
    // @Required()
    public var publicAccessGuid:String?

    // @DataMember(Order=11)
    // @Required()
    // @References(typeof(Campaigns))
    public var campaignsId:Int?

    // @DataMember(Order=12)
    public var debtsId:Int?

    // @DataMember(Order=13)
    // @Required()
    public var isPaymentCampaign:Bool?

    // @DataMember(Order=14)
    // @References(typeof(SchedulesInstances))
    public var scheduleInstancesId:Int?

    // @DataMember(Order=15)
    public var statusCodesId:Int?

    // @DataMember(Order=16)
    public var emailTemplatesId:Int?

    // @DataMember(Order=17)
    public var avatarTemplateText:String

    // @DataMember(Order=18)
    public var headingTemplateText:String

    // @DataMember(Order=19)
    public var subheadingTemplateText:String

    // @DataMember(Order=20)
    public var sent:Bool

    // @DataMember(Order=21)
    public var failed:Bool

    // @DataMember(Order=22)
    public var commsUrl:String

    required public init(){}
}

public class EmailEventsView : Codable
{
    // @DataMember(Order=1)
    public var id:Int?

    // @DataMember(Order=2)
    public var email:String

    // @DataMember(Order=3)
    public var timestampDate:Date?

    // @DataMember(Order=4)
    public var event:String

    // @DataMember(Order=5)
    public var category:String

    // @DataMember(Order=6)
    public var sgEventId:String

    // @DataMember(Order=7)
    public var sgMessageId:String

    // @DataMember(Order=8)
    public var userAgent:String

    // @DataMember(Order=9)
    public var ipaddress:String

    // @DataMember(Order=10)
    public var url:String

    // @DataMember(Order=11)
    public var campaignInstanceCommsId:Int?

    // @DataMember(Order=12)
    public var tenantsId:Int?

    // @DataMember(Order=13)
    public var segmentsId:Int?

    // @DataMember(Order=14)
    public var address:String

    // @DataMember(Order=15)
    public var age:Int?

    // @DataMember(Order=16)
    public var city:String

    // @DataMember(Order=17)
    public var contactNumber:String

    // @DataMember(Order=18)
    public var ethnicGroup:String

    // @DataMember(Order=19)
    public var firstName:String

    // @DataMember(Order=20)
    public var gender:String

    // @DataMember(Order=21)
    public var homeLanguage:String

    // @DataMember(Order=22)
    public var idNumber:String

    // @DataMember(Order=23)
    public var lastName:String

    // @DataMember(Order=24)
    public var postalCode:String

    // @DataMember(Order=25)
    public var region:String

    // @DataMember(Order=26)
    public var suburb:String

    // @DataMember(Order=27)
    public var birthDate:Date?

    // @DataMember(Order=28)
    public var classifications:[String:String]

    // @DataMember(Order=29)
    public var country:String

    // @DataMember(Order=30)
    public var passportNumber:String

    // @DataMember(Order=31)
    public var statusCodesId:Int?

    // @DataMember(Order=32)
    public var reason:String

    // @DataMember(Order=33)
    public var vulnerabilityFlag:Bool?

    // @DataMember(Order=34)
    public var companiesName:String

    // @DataMember(Order=35)
    public var segmentsName:String

    // @DataMember(Order=36)
    public var segmentsIsCustom:Bool?

    // @DataMember(Order=37)
    public var statusCodesDescription:String

    // @DataMember(Order=38)
    public var campaignsId:Int?

    required public init(){}
}

public class SmsWatsappEventsView : Codable
{
    // @DataMember(Order=1)
    public var id:Int?

    // @DataMember(Order=2)
    public var campaignInstancesCommsId:Int?

    // @DataMember(Order=3)
    public var rawJson:[String:String]

    // @DataMember(Order=4)
    public var integrationId:String

    // @DataMember(Order=5)
    public var integrationName:String

    // @DataMember(Order=6)
    public var channel:String

    // @DataMember(Order=7)
    public var timestamp:Int?

    // @DataMember(Order=8)
    public var timestampDate:Date?

    // @DataMember(Order=9)
    public var statusCode:Int?

    // @DataMember(Order=10)
    public var status:String

    // @DataMember(Order=11)
    public var messageId:String

    // @DataMember(Order=12)
    public var clientMessageId:String

    // @DataMember(Order=13)
    public var tenantsId:Int?

    // @DataMember(Order=14)
    public var segmentsId:Int?

    // @DataMember(Order=15)
    public var address:String

    // @DataMember(Order=16)
    public var age:Int?

    // @DataMember(Order=17)
    public var city:String

    // @DataMember(Order=18)
    public var contactNumber:String

    // @DataMember(Order=19)
    public var ethnicGroup:String

    // @DataMember(Order=20)
    public var firstName:String

    // @DataMember(Order=21)
    public var gender:String

    // @DataMember(Order=22)
    public var homeLanguage:String

    // @DataMember(Order=23)
    public var idNumber:String

    // @DataMember(Order=24)
    public var lastName:String

    // @DataMember(Order=25)
    public var postalCode:String

    // @DataMember(Order=26)
    public var region:String

    // @DataMember(Order=27)
    public var suburb:String

    // @DataMember(Order=28)
    public var birthDate:Date?

    // @DataMember(Order=29)
    public var classifications:[String:String]

    // @DataMember(Order=30)
    public var country:String

    // @DataMember(Order=31)
    public var passportNumber:String

    // @DataMember(Order=32)
    public var statusCodesId:Int?

    // @DataMember(Order=33)
    public var reason:String

    // @DataMember(Order=34)
    public var vulnerabilityFlag:Bool?

    // @DataMember(Order=35)
    public var companiesName:String

    // @DataMember(Order=36)
    public var segmentsName:String

    // @DataMember(Order=37)
    public var segmentsIsCustom:Bool?

    // @DataMember(Order=38)
    public var statusCodesDescription:String

    // @DataMember(Order=39)
    public var campaignsId:Int?

    // @DataMember(Order=40)
    public var customersId:Int?

    required public init(){}
}

public class CampaignInstanceCommsStats : Codable
{
    // @DataMember(Order=1)
    // @Required()
    public var id:Int?

    // @DataMember(Order=2)
    // @Required()
    public var campaignInstanceCommsId:Int?

    // @DataMember(Order=3)
    public var viewedDate:Date?

    required public init(){}
}


Swift GetCampaignCustomerCertificateByCustomerId DTOs

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

HTTP + JSV

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

GET /campaign/certbycustomerguid/{CampaignPublicAccessGuid}/{CustomerPublicAccessGuid} HTTP/1.1 
Host: duengageapi.uat.scadsoftware.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
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-01,
		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-01,
					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-01,
					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
		}
	}
}