TicketUserServices

<back to all web services

OutboundCampaignCreateRequest

Requires Authentication
Required role:Admin
The following routes are available for this service:
POST/Outbound/Campaigns

export class OutboundCampaignResult
{
    public campaignId?: number;
    public decisions?: { [index: string]: number; };
    public queuedByChannel?: { [index: string]: number; };
    public messageStatuses?: { [index: string]: number; };
    public duplicates?: number;
    public noIdentity?: number;
    public statusCode?: number;
    public message?: string;

    public constructor(init?: Partial<OutboundCampaignResult>) { (Object as any).assign(this, init); }
}

export class OutboundCampaignDevice
{
    public token?: string;
    public platform?: string;

    public constructor(init?: Partial<OutboundCampaignDevice>) { (Object as any).assign(this, init); }
}

export class OutboundCampaignPerson
{
    public phone?: string;
    public email?: string;
    public devices?: OutboundCampaignDevice[];
    public pushConsent?: boolean;
    public smsConsent?: boolean;
    public emailConsent?: boolean;
    public payloadJson?: string;

    public constructor(init?: Partial<OutboundCampaignPerson>) { (Object as any).assign(this, init); }
}

export class OutboundCampaignCreateRequest
{
    public ownerId?: number;
    public name?: string;
    public lane?: string;
    public templateKey?: string;
    public payloadJson?: string;
    public channelOrder?: string;
    public holdoutPercent?: number;
    public guardKey?: string;
    public guardSubject?: string;
    public sendAt?: string;
    public expiresAt?: string;
    public audienceSource?: string;
    public people?: OutboundCampaignPerson[];

    public constructor(init?: Partial<OutboundCampaignCreateRequest>) { (Object as any).assign(this, init); }
}

TypeScript OutboundCampaignCreateRequest 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 /Outbound/Campaigns HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ownerId: 0,
	name: String,
	lane: String,
	templateKey: String,
	payloadJson: String,
	channelOrder: String,
	holdoutPercent: 0,
	guardKey: String,
	guardSubject: String,
	sendAt: 0001-01-01,
	expiresAt: 0001-01-01,
	audienceSource: String,
	people: 
	[
		{
			phone: String,
			email: String,
			devices: 
			[
				{
					token: String,
					platform: String
				}
			],
			pushConsent: False,
			smsConsent: False,
			emailConsent: False,
			payloadJson: String
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	campaignId: 0,
	decisions: 
	{
		String: 0
	},
	queuedByChannel: 
	{
		String: 0
	},
	messageStatuses: 
	{
		String: 0
	},
	duplicates: 0,
	noIdentity: 0,
	statusCode: 0,
	message: String
}