| 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
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
}
}
}