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
"use strict";
/** @typedef {number} */
export var DeliveryChannel;
(function (DeliveryChannel) {
    DeliveryChannel[DeliveryChannel["None"] = 0] = "None"
    DeliveryChannel[DeliveryChannel["Email"] = 1] = "Email"
    DeliveryChannel[DeliveryChannel["Sms"] = 2] = "Sms"
})(DeliveryChannel || (DeliveryChannel = {}));
export class Campaign {
    /** @param {{CampaignId?:number,CampaignTypeId?:number,CampaignName?:string,AgentID?:number,Subject?:string,Template?:string,DateCreated?:string,DateDeleted?:string,Frequency?:string,StartDate?:string,TimeOfDay?:string,LastRunAtUtc?:string,NextRunAtUtc?:string,TimeZoneId?:string,DayOfWeek?:DayOfWeek,DayOfMonth?:number,IsActive?:boolean,CreatedUtc?:string,UpdatedUtc?:string,Channels?:DeliveryChannel}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    CampaignId;
    /** @type {number} */
    CampaignTypeId;
    /** @type {string} */
    CampaignName;
    /** @type {number} */
    AgentID;
    /** @type {string} */
    Subject;
    /** @type {string} */
    Template;
    /** @type {?string} */
    DateCreated;
    /** @type {?string} */
    DateDeleted;
    /** @type {string} */
    Frequency;
    /** @type {string} */
    StartDate;
    /** @type {?string} */
    TimeOfDay;
    /** @type {?string} */
    LastRunAtUtc;
    /** @type {?string} */
    NextRunAtUtc;
    /** @type {string} */
    TimeZoneId;
    /** @type {?DayOfWeek} */
    DayOfWeek;
    /** @type {?number} */
    DayOfMonth;
    /** @type {boolean} */
    IsActive;
    /** @type {?string} */
    CreatedUtc;
    /** @type {?string} */
    UpdatedUtc;
    /** @type {DeliveryChannel} */
    Channels;
}
export class CampaignExtended extends Campaign {
    /** @param {{CampaignType?:string,AgentName?:string,CampaignId?:number,CampaignTypeId?:number,CampaignName?:string,AgentID?:number,Subject?:string,Template?:string,DateCreated?:string,DateDeleted?:string,Frequency?:string,StartDate?:string,TimeOfDay?:string,LastRunAtUtc?:string,NextRunAtUtc?:string,TimeZoneId?:string,DayOfWeek?:DayOfWeek,DayOfMonth?:number,IsActive?:boolean,CreatedUtc?:string,UpdatedUtc?:string,Channels?:DeliveryChannel}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    CampaignType;
    /** @type {string} */
    AgentName;
}
export class CampaignResponse {
    /** @param {{ResponseStatus?:ResponseStatus,Campaign?:CampaignExtended[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ResponseStatus} */
    ResponseStatus;
    /** @type {CampaignExtended[]} */
    Campaign = [];
}
export class CampaignRequest {
    /** @param {{CampaignId?:number,Campaign?:Campaign[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    CampaignId;
    /** @type {Campaign[]} */
    Campaign = [];
}

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