TicketUserServices

<back to all web services

OutboundCampaignLaunchRequest

Requires Authentication
Required role:Admin
The following routes are available for this service:
POST/Outbound/Campaigns/{CampaignId}/Launch
import java.math.*
import java.util.*
import net.servicestack.client.*


open class OutboundCampaignLaunchRequest
{
    var campaignId:Int? = null
    var people:ArrayList<OutboundCampaignPerson> = ArrayList<OutboundCampaignPerson>()
}

open class OutboundCampaignPerson
{
    var phone:String? = null
    var email:String? = null
    var devices:ArrayList<OutboundCampaignDevice> = ArrayList<OutboundCampaignDevice>()
    var pushConsent:Boolean? = null
    var smsConsent:Boolean? = null
    var emailConsent:Boolean? = null
    var payloadJson:String? = null
}

open class OutboundCampaignDevice
{
    var token:String? = null
    var platform:String? = null
}

open class OutboundCampaignResult
{
    var campaignId:Int? = null
    var decisions:HashMap<String,Int> = HashMap<String,Int>()
    var queuedByChannel:HashMap<String,Int> = HashMap<String,Int>()
    var messageStatuses:HashMap<String,Int> = HashMap<String,Int>()
    var duplicates:Int? = null
    var noIdentity:Int? = null
    var statusCode:Int? = null
    var message:String? = null
}

Kotlin OutboundCampaignLaunchRequest 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/{CampaignId}/Launch 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,
			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
}