| PUT POST | /campaign/inbox/form |
|---|
namespace digitaluapi.ServiceModel
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type CampaignActionFile() =
member val Name:String = null with get,set
member val FileType:String = null with get,set
member val FileSize:String = null with get,set
member val Extension:String = null with get,set
member val UploadUrl:String = null with get,set
[<AllowNullLiteral>]
type CampaignActionFormResults() =
member val CustomFormResults:String = null with get,set
member val Comments:String = null with get,set
member val CampaignActionFiles:ResizeArray<CampaignActionFile> = null with get,set
[<AllowNullLiteral>]
type CampaignActionsFormResponses() =
[<DataMember(Order=1)>]
[<Required>]
member val Id:Int64 = new Int64() with get,set
[<DataMember(Order=2)>]
[<Required>]
[<References(typeof<CampaignActions>)>]
member val CampaignActionsId:Int64 = new Int64() with get,set
[<DataMember(Order=3)>]
[<References(typeof<Customers>)>]
member val CustomersId:Nullable<Int64> = new Nullable<Int64>() with get,set
[<DataMember(Order=4)>]
[<Required>]
[<Computed>]
member val ActionTimestamp:DateTimeOffset = new DateTimeOffset() with get,set
[<DataMember(Order=5)>]
member val FormMetaResponses:CampaignActionFormResults = null with get,set
[<DataMember(Order=6)>]
member val FormMetaCustomResponses:Dictionary<String, String> = null with get,set
[<DataMember(Order=7)>]
member val CampaignInstanceCommsId:Nullable<Int64> = new Nullable<Int64>() with get,set
[<DataMember(Order=8)>]
member val FormMetaFilesResponses:ResizeArray<CampaignActionFile> = null with get,set
[<DataMember(Order=9)>]
member val FormMetaComments:String = null with get,set
[<DataMember(Order=10)>]
member val StatusCodesId:Int32 = new Int32() with get,set
[<DataMember(Order=11)>]
member val SentToEmailAddress:String = null with get,set
[<DataMember(Order=12)>]
member val VersionNumber:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type SaveCampaignActionClientFormResponse() =
member val CampaignActionsFormResponses:CampaignActionsFormResponses = null with get,set
member val ResponseStatus:ResponseStatus = null with get,set
[<AllowNullLiteral>]
type SaveCampaignActionClientForm() =
member val CommsGuid:Guid = new Guid() with get,set
member val CampaignActionsRequestsId:Int64 = new Int64() with get,set
member val Comments:String = null with get,set
member val CampaignActionFiles:ResizeArray<CampaignActionFile> = null with get,set
F# 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
}
}
}