Trendsic Platform Service

<back to all web services

CampaignRequest

Requires Authentication
Requires any of the roles:Agent, Administrator, Agent, Administrator, Agent, Administrator
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/Campaign/{CampaignId}
GET,POST,PUT,DELETE,OPTIONS/v1/Campaign
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class CampaignRequest
{
    open var CampaignId:Int? = null
    open var Campaign:ArrayList<Campaign> = ArrayList<Campaign>()
}

open class Campaign
{
    open var CampaignId:Int? = null
    open var CampaignTypeId:Int? = null
    open var CampaignName:String? = null
    open var AgentID:Int? = null
    open var Subject:String? = null
    open var Template:String? = null
    open var DateCreated:Date? = null
    open var DateDeleted:Date? = null
    open var Frequency:String? = null
    open var StartDate:Date? = null
    open var TimeOfDay:TimeSpan? = null
    open var LastRunAtUtc:Date? = null
    open var NextRunAtUtc:Date? = null
    open var TimeZoneId:String? = null
    open var DayOfWeek:DayOfWeek? = null
    open var DayOfMonth:Short? = null
    open var IsActive:Boolean? = null
    open var CreatedUtc:Date? = null
    open var UpdatedUtc:Date? = null
    open var Channels:DeliveryChannel? = null
}

@Flags()
enum class DeliveryChannel(val value:Int)
{
    @SerializedName("0") None(0),
    @SerializedName("1") Email(1),
    @SerializedName("2") Sms(2),
}

open class CampaignResponse
{
    open var ResponseStatus:ResponseStatus? = null
    open var Campaign:ArrayList<CampaignExtended> = ArrayList<CampaignExtended>()
}

open class CampaignExtended : Campaign()
{
    open var CampaignType:String? = null
    open var AgentName:String? = null
}

Kotlin CampaignRequest 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.

POST /v1/Campaign/{CampaignId} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CampaignId: 0,
	Campaign: 
	[
		{
			CampaignId: 0,
			CampaignTypeId: 0,
			CampaignName: String,
			AgentID: 0,
			Subject: String,
			Template: String,
			DateCreated: 0001-01-01,
			DateDeleted: 0001-01-01,
			Frequency: String,
			StartDate: 0001-01-01,
			TimeOfDay: PT0S,
			LastRunAtUtc: 0001-01-01,
			NextRunAtUtc: 0001-01-01,
			TimeZoneId: String,
			DayOfWeek: Sunday,
			DayOfMonth: 0,
			IsActive: False,
			CreatedUtc: 0001-01-01,
			UpdatedUtc: 0001-01-01,
			Channels: 0
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	Campaign: 
	[
		{
			CampaignType: String,
			AgentName: String,
			CampaignId: 0,
			CampaignTypeId: 0,
			CampaignName: String,
			AgentID: 0,
			Subject: String,
			Template: String,
			DateCreated: 0001-01-01,
			DateDeleted: 0001-01-01,
			Frequency: String,
			StartDate: 0001-01-01,
			TimeOfDay: PT0S,
			LastRunAtUtc: 0001-01-01,
			NextRunAtUtc: 0001-01-01,
			TimeZoneId: String,
			DayOfWeek: Sunday,
			DayOfMonth: 0,
			IsActive: False,
			CreatedUtc: 0001-01-01,
			UpdatedUtc: 0001-01-01,
			Channels: 0
		}
	]
}