| PUT POST | /campaign/inbox/form |
|---|
import Foundation
import ServiceStack
public class SaveCampaignActionClientForm : Codable
{
public var commsGuid:String
public var campaignActionsRequestsId:Int
public var comments:String
public var campaignActionFiles:[CampaignActionFile]
required public init(){}
}
public class CampaignActionFile : Codable
{
public var name:String
public var fileType:String
public var fileSize:String
public var `extension`:String
public var uploadUrl:String
required public init(){}
}
public class SaveCampaignActionClientFormResponse : Codable
{
public var campaignActionsFormResponses:CampaignActionsFormResponses
public var responseStatus:ResponseStatus
required public init(){}
}
public class CampaignActionsFormResponses : Codable
{
// @DataMember(Order=1)
// @Required()
public var id:Int?
// @DataMember(Order=2)
// @Required()
// @References(typeof(CampaignActions))
public var campaignActionsId:Int?
// @DataMember(Order=3)
// @References(typeof(Customers))
public var customersId:Int?
// @DataMember(Order=4)
// @Required()
// @Computed()
public var actionTimestamp:Date?
// @DataMember(Order=5)
public var formMetaResponses:CampaignActionFormResults
// @DataMember(Order=6)
public var formMetaCustomResponses:[String:String]
// @DataMember(Order=7)
public var campaignInstanceCommsId:Int?
// @DataMember(Order=8)
public var formMetaFilesResponses:[CampaignActionFile]
// @DataMember(Order=9)
public var formMetaComments:String
// @DataMember(Order=10)
public var statusCodesId:Int
// @DataMember(Order=11)
public var sentToEmailAddress:String
// @DataMember(Order=12)
public var versionNumber:Int
required public init(){}
}
public class CampaignActionFormResults : Codable
{
public var customFormResults:String
public var comments:String
public var campaignActionFiles:[CampaignActionFile]
required public init(){}
}
Swift SaveCampaignActionClientForm 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.
POST /campaign/inbox/form HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CommsGuid: 00000000000000000000000000000000,
CampaignActionsRequestsId: 0,
Comments: String,
CampaignActionFiles:
[
{
Name: String,
FileType: String,
FileSize: String,
Extension: String,
UploadUrl: String
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
CampaignActionsFormResponses:
{
Id: 0,
CampaignActionsId: 0,
CustomersId: 0,
ActionTimestamp: 0001-01-01T00:00:00.0000000+00:00,
FormMetaResponses:
{
CustomFormResults: String,
Comments: String,
CampaignActionFiles:
[
{
Name: String,
FileType: String,
FileSize: String,
Extension: String,
UploadUrl: String
}
]
},
FormMetaCustomResponses:
{
String: String
},
CampaignInstanceCommsId: 0,
FormMetaFilesResponses:
[
{
Name: String,
FileType: String,
FileSize: String,
Extension: String,
UploadUrl: String
}
],
FormMetaComments: String,
StatusCodesId: 0,
SentToEmailAddress: String,
VersionNumber: 0
},
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}