| Required role: | Admin |
| POST | /Outbound/Campaigns |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OutboundCampaignResult:
campaign_id: Optional[int] = None
decisions: Optional[Dict[str, int]] = None
queued_by_channel: Optional[Dict[str, int]] = None
message_statuses: Optional[Dict[str, int]] = None
duplicates: Optional[int] = None
no_identity: Optional[int] = None
status_code: Optional[int] = None
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OutboundCampaignDevice:
token: Optional[str] = None
platform: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OutboundCampaignPerson:
phone: Optional[str] = None
email: Optional[str] = None
devices: Optional[List[OutboundCampaignDevice]] = None
push_consent: Optional[bool] = None
sms_consent: Optional[bool] = None
email_consent: Optional[bool] = None
payload_json: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OutboundCampaignCreateRequest:
owner_id: Optional[int] = None
name: Optional[str] = None
lane: Optional[str] = None
template_key: Optional[str] = None
payload_json: Optional[str] = None
channel_order: Optional[str] = None
holdout_percent: Optional[int] = None
guard_key: Optional[str] = None
guard_subject: Optional[str] = None
send_at: Optional[datetime.datetime] = None
expires_at: Optional[datetime.datetime] = None
audience_source: Optional[str] = None
people: Optional[List[OutboundCampaignPerson]] = None
Python OutboundCampaignCreateRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<OutboundCampaignCreateRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
<AudienceSource>String</AudienceSource>
<ChannelOrder>String</ChannelOrder>
<ExpiresAt>0001-01-01T00:00:00</ExpiresAt>
<GuardKey>String</GuardKey>
<GuardSubject>String</GuardSubject>
<HoldoutPercent>0</HoldoutPercent>
<Lane>String</Lane>
<Name>String</Name>
<OwnerId>0</OwnerId>
<PayloadJson>String</PayloadJson>
<People>
<OutboundCampaignPerson>
<Devices>
<OutboundCampaignDevice>
<Platform>String</Platform>
<Token>String</Token>
</OutboundCampaignDevice>
</Devices>
<Email>String</Email>
<EmailConsent>false</EmailConsent>
<PayloadJson>String</PayloadJson>
<Phone>String</Phone>
<PushConsent>false</PushConsent>
<SmsConsent>false</SmsConsent>
</OutboundCampaignPerson>
</People>
<SendAt>0001-01-01T00:00:00</SendAt>
<TemplateKey>String</TemplateKey>
</OutboundCampaignCreateRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<OutboundCampaignResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
<CampaignId>0</CampaignId>
<Decisions xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringint>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>0</d2p1:Value>
</d2p1:KeyValueOfstringint>
</Decisions>
<Duplicates>0</Duplicates>
<Message>String</Message>
<MessageStatuses xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringint>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>0</d2p1:Value>
</d2p1:KeyValueOfstringint>
</MessageStatuses>
<NoIdentity>0</NoIdentity>
<QueuedByChannel xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringint>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>0</d2p1:Value>
</d2p1:KeyValueOfstringint>
</QueuedByChannel>
<StatusCode>0</StatusCode>
</OutboundCampaignResult>