TicketUserServices

<back to all web services

CampaignConversionRunRequest

The following routes are available for this service:
POST/CampaignConversions/Run

export class CampaignConversionSurfaceCount
{
    public key?: string;
    public people?: number;
    public count?: number;
    public amount?: number;

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

export class CampaignConversionResult
{
    public runId?: string;
    public peopleMeasured?: number;
    public peopleConverted?: number;
    public totalAmount?: number;
    public bySurface?: CampaignConversionSurfaceCount[];
    public byChannel?: CampaignConversionSurfaceCount[];
    public headlineConversions?: number;
    public headlineAmount?: number;
    public medianHoursToConvert?: number;
    public notes?: string[];
    public statusCode?: number;
    public message?: string;

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

export class CampaignConversionPerson
{
    public phone?: string;
    public email?: string;
    public recipientId?: number;
    public channel?: string;
    public sentAt?: string;

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

export class CampaignConversionRunRequest
{
    public campaignId?: number;
    public people?: CampaignConversionPerson[];
    public windowHours?: number;
    public targetEventId?: number;
    public includeFood?: boolean;

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

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

{
	campaignId: 0,
	people: 
	[
		{
			phone: String,
			email: String,
			recipientId: 0,
			channel: String,
			sentAt: 0001-01-01
		}
	],
	windowHours: 0,
	targetEventId: 0,
	includeFood: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	runId: String,
	peopleMeasured: 0,
	peopleConverted: 0,
	totalAmount: 0,
	bySurface: 
	[
		{
			key: String,
			people: 0,
			count: 0,
			amount: 0
		}
	],
	byChannel: 
	[
		{
			key: String,
			people: 0,
			count: 0,
			amount: 0
		}
	],
	headlineConversions: 0,
	headlineAmount: 0,
	medianHoursToConvert: 0,
	notes: 
	[
		String
	],
	statusCode: 0,
	message: String
}