Campaign

Campaign operations

Create Campaign

Before creating a campaign, use the Qualify By Usecase endpoint to ensure that the brand you want to assign a new campaign to is qualified for the desired use case of that campaign. Please note: After campaign creation, you'll only be able to edit the campaign's sample messages. Creating a campaign will entail an upfront, non-refundable three month's cost that will depend on the campaign's use case (see 10DLC Costs section for details).

SecuritybearerAuth
Request
Request Body schema: application/json
required
affiliateMarketing
boolean (Affiliatemarketing)

Does message content controlled by affiliate marketing other than the brand?

ageGated
boolean (Agegated)

Age gated message content in campaign.

autoRenewal
boolean (Autorenewal)

Campaign subscription auto-renewal option. If set to true, then campaign will automatically renewal at end of billing cycle.

brandId
required
string (Brandid)

Alphanumeric identifier of the brand associated with this campaign.

description
required
string (Description)

Summary description of this campaign.

directLending
boolean (Directlending)

Direct lending or loan arrangement

embeddedLink
boolean (Embeddedlink)

Does message generated by the campaign include URL link in SMS?

embeddedPhone
boolean (Embeddedphone)

Does message generated by the campaign include phone number in SMS?

helpKeywords
string (Helpkeywords)

Subscriber help keywords. Multiple keywords are comma separated without space.

helpMessage
string (Helpmessage)

Help message of the campaign.

messageFlow
required
string (Messageflow)

Message flow description.

mnoIds
Array of integers (Mnoids) unique

Submit campaign to given list of MNOs by MNO's network ID. Default is all MNOs if no value provided.

numberPool
boolean (Numberpool)

Does campaign utilize pool of phone numbers?

optinKeywords
string (Optinkeywords)

Subscriber opt-in keywords. Multiple keywords are comma separated without space.

optinMessage
string (Optinmessage)

Subscriber opt-in message.

optoutKeywords
string (Optoutkeywords)

Subscriber opt-out keywords. Multiple keywords are comma separated without space.

optoutMessage
string (Optoutmessage)

Subscriber opt-out message.

referenceId
string (Referenceid)

Caller supplied campaign reference ID. If supplied, the value must be unique across all submitted campaigns. Can be used to prevent duplicate campaign registrations.

resellerId
string (Resellerid)

Alphanumeric identifier of the reseller that you want to associate with this campaign.

sample1
string (Sample1)

Message sample. Some campaign tiers require 1 or more message samples.

sample2
string (Sample2)

Message sample. Some campaign tiers require 2 or more message samples.

sample3
string (Sample3)

Message sample. Some campaign tiers require 3 or more message samples.

sample4
string (Sample4)

Message sample. Some campaign tiers require 4 or more message samples.

sample5
string (Sample5)

Message sample. Some campaign tiers require 5 or more message samples.

subUsecases
Array of strings (Subusecases) unique

Campaign sub-usecases. Must be of defined valid sub-usecase types. Use /registry/enum/usecase operation to retrieve list of valid sub-usecases

subscriberHelp
boolean (Subscriberhelp)

Does campaign responds to help keyword(s)?

subscriberOptin
boolean (Subscriberoptin)

Does campaign require subscriber to opt-in before SMS is sent to subscriber?

subscriberOptout
boolean (Subscriberoptout)

Does campaign support subscriber opt-out keyword(s)?

tag
Array of strings (Tag) unique

Tags to be set on the Campaign.

termsAndConditions
boolean (Termsandconditions)

Is terms and conditions accepted?

usecase
required
string (Usecase)

Campaign usecase. Must be of defined valid types. Use /registry/enum/usecase operation to retrieve usecases available for given brand.

webhookURL
string (WebhookURL)

Webhook to which campaign status updates are sent.

webhookFailoverURL
string (WebhookFailoverURL)

Failover webhook to which campaign status updates are sent.

Responses
200

Successful Response

Response Schema: application/json
campaignId
string (Campaignid)

Alphanumeric identifier assigned by the registry for a campaign. This identifier is required by the NetNumber OSR SMS enabling process of 10DLC.

resellerId
string (Resellerid) <= 8 characters

Alphanumeric identifier of the reseller that you want to associate with this campaign.

status
any (Status)

Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status.

Enum: "ACTIVE" "EXPIRED"
createDate
string <date-time> (Createdate)

Unix timestamp when campaign was created.

autoRenewal
boolean (Autorenewal)

Campaign subscription auto-renewal status.

billedDate
string <date-time> (Billeddate)

Campaign recent billed date.

brandId
required
string (Brandid) <= 8 characters

Alphanumeric identifier of the brand associated with this campaign.

vertical
required
any (Vertical)

Vertical or industry segment of the brand or campaign.

Enum: "REAL_ESTATE" "HEALTHCARE" "ENERGY" "ENTERTAINMENT" "RETAIL" "AGRICULTURE" "INSURANCE" "EDUCATION" "HOSPITALITY" "FINANCIAL" "GAMBLING" "CONSTRUCTION" "NGO" "MANUFACTURING" "GOVERNMENT" "TECHNOLOGY" "COMMUNICATION"
usecase
required
any (Usecase)

Campaign usecase. Must be of defined valid types. For more details, send a GET request to https://api.telnyx.com/10dlc/enum/usecase

Enum: "2FA" "ACCOUNT_NOTIFICATION" "AGENTS_FRANCHISES" "CARRIER_EXEMPT" "CHARITY" "CONVERSATIONAL" "CUSTOMER_CARE" "DELIVERY_NOTIFICATION" "EMERGENCY" "FRAUD_ALERT" "HIGHER_EDUCATION" "LOW_VOLUME" "MARKETING" "MANUFACTURING" "MIXED" "POLITICAL" "POLLING_VOTING" "PUBLIC_SERVICE_ANNOUNCEMENT" "SECURITY_ALERT" "SOCIAL" "SWEEPSTAKE" "TRIAL"
subUsecases
any (Usecase)

Campaign usecase. Must be of defined valid types. For more details, send a GET request to https://api.telnyx.com/10dlc/enum/usecase

Enum: "2FA" "ACCOUNT_NOTIFICATION" "AGENTS_FRANCHISES" "CARRIER_EXEMPT" "CHARITY" "CONVERSATIONAL" "CUSTOMER_CARE" "DELIVERY_NOTIFICATION" "EMERGENCY" "FRAUD_ALERT" "HIGHER_EDUCATION" "LOW_VOLUME" "MARKETING" "MANUFACTURING" "MIXED" "POLITICAL" "POLLING_VOTING" "PUBLIC_SERVICE_ANNOUNCEMENT" "SECURITY_ALERT" "SOCIAL" "SWEEPSTAKE" "TRIAL"
description
required
string (Description) <= 4096 characters

Summary description of this campaign.

embeddedLink
boolean (Embeddedlink)
Default: false

Does message generated by the campaign include URL link in SMS?

embeddedPhone
boolean (Embeddedphone)
Default: false

Does message generated by the campaign include phone number in SMS?

affiliateMarketing
boolean (Affiliatemarketing)

Does message content controlled by affiliate marketing other than the brand?

numberPool
boolean (Numberpool)
Default: false

Does campaign utilize pool of phone nubers?

ageGated
boolean (Agegated)

Age gated content in campaign.

directLending
boolean (Directlending)
subscriberOptin
boolean (Subscriberoptin)
Default: false

Does campaign require subscriber to opt-in before SMS is sent to subscriber?

subscriberOptout
boolean (Subscriberoptout)
Default: false

Does campaign support subscriber opt-out keyword(s)?

subscriberHelp
boolean (Subscriberhelp)
Default: false

Does campaign responds to help keyword(s)?

sample1
string (Sample1) <= 255 characters

Message sample. Some campaign tiers require 1 or more message samples.

sample2
string (Sample2) <= 255 characters

Message sample. Some campaign tiers require 2 or more message samples.

sample3
string (Sample3) <= 255 characters

Message sample. Some campaign tiers require 3 or more message samples.

sample4
string (Sample4) <= 255 characters

Message sample. Some campaign tiers require 4 or more message samples.

sample5
string (Sample5) <= 255 characters

Message sample. Some campaign tiers require 5 or more message samples.

messageFlow
required
string (Messageflow) <= 2048 characters

Message flow description.

helpMessage
string (Helpmessage) <= 255 characters

Help message of the campaign.

Callbacks
postWebhook for 10DLC campaign status update events.
post/campaignBuilder
Request samples
application/json
{
  • "affiliateMarketing": true,
  • "ageGated": true,
  • "autoRenewal": true,
  • "brandId": "string",
  • "description": "string",
  • "directLending": true,
  • "embeddedLink": true,
  • "embeddedPhone": true,
  • "helpKeywords": "string",
  • "helpMessage": "string",
  • "messageFlow": "string",
  • "mnoIds": [
    • 0
    ],
  • "numberPool": true,
  • "optinKeywords": "string",
  • "optinMessage": "string",
  • "optoutKeywords": "string",
  • "optoutMessage": "string",
  • "referenceId": "string",
  • "resellerId": "string",
  • "sample1": "string",
  • "sample2": "string",
  • "sample3": "string",
  • "sample4": "string",
  • "sample5": "string",
  • "subUsecases": [
    • "string"
    ],
  • "subscriberHelp": true,
  • "subscriberOptin": true,
  • "subscriberOptout": true,
  • "tag": [
    • "string"
    ],
  • "termsAndConditions": true,
  • "usecase": "string",
  • "webhookURL": "string",
  • "webhookFailoverURL": "string"
}
Response samples
application/json
{
  • "campaignId": "4b30017a-15eb-6a25-2e3f-59b6422cud79",
  • "resellerId": "RPQFAOY",
  • "status": "ACTIVE",
  • "createDate": "2019-08-24T14:15:22Z",
  • "autoRenewal": true,
  • "billedDate": "2019-08-24T14:15:22Z",
  • "brandId": "4b206179-f731-8ab7-f19c-34e19d22ide9",
  • "vertical": "TECHNOLOGY",
  • "usecase": "MARKETING",
  • "subUsecases": "MARKETING",
  • "description": "Campaign description goes here.",
  • "embeddedLink": false,
  • "embeddedPhone": false,
  • "affiliateMarketing": true,
  • "numberPool": false,
  • "ageGated": true,
  • "directLending": true,
  • "subscriberOptin": false,
  • "subscriberOptout": false,
  • "subscriberHelp": false,
  • "sample1": "This is a sample message associated with your campaign!",
  • "sample2": "string",
  • "sample3": "string",
  • "sample4": "string",
  • "sample5": "string",
  • "messageFlow": "string",
  • "helpMessage": "string"
}
Callback payload samples
POST: Webhook for 10DLC campaign status update events.
application/json
{
  • "brandId": "d88dd2aa-1bb9-4ef0-9ec8-1752b80316a5",
  • "campaignId": "4b300178-131c-d902-d54e-72d90ba1620j",
  • "createDate": "string",
  • "cspId": "string",
  • "isTMobileRegistered": true
}

List My Campaigns

Retrieve a list of campaigns associated with a supplied brandId.

SecuritybearerAuth
Request
query Parameters
brandId
required
string (Brandid)
status
string (Status)
usecase
string (Usecase)
vertical
string (Vertical)
resellerId
string (Resellerid)
autoRenewal
boolean (Autorenewal)
upstreamCnpId
string (Upstreamcnpid)
page
integer (Page)
Default: 1
recordsPerPage
integer (Recordsperpage)
Default: 10
Responses
200

Successful Response

Response Schema: application/json
Array of objects (Records)
page
integer (Page)
totalRecords
integer (Totalrecords)
get/campaign
Request samples
# install http://docs.python-requests.org/en/master/
import requests

url = 'https://api.telnyx.com/10dlc/campaign'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json', 
  'Authorization': 'Bearer API_TOKEN'
}
response = requests.request('get', url, headers=headers)
print(response.text)
Response samples
application/json
{
  • "records": [
    • {
      • "campaignId": "4b30017a-15eb-6a25-2e3f-59b6422cud79",
      • "resellerId": "RPQFAOY",
      • "status": "ACTIVE",
      • "createDate": "2019-08-24T14:15:22Z",
      • "autoRenewal": true,
      • "billedDate": "2019-08-24T14:15:22Z",
      • "brandId": "4b206179-f731-8ab7-f19c-34e19d22ide9",
      • "vertical": "TECHNOLOGY",
      • "usecase": "MARKETING",
      • "subUsecases": "MARKETING",
      • "description": "Campaign description goes here.",
      • "embeddedLink": false,
      • "embeddedPhone": false,
      • "affiliateMarketing": true,
      • "numberPool": false,
      • "ageGated": true,
      • "directLending": true,
      • "subscriberOptin": false,
      • "subscriberOptout": false,
      • "subscriberHelp": false,
      • "sample1": "This is a sample message associated with your campaign!",
      • "sample2": "string",
      • "sample3": "string",
      • "sample4": "string",
      • "sample5": "string",
      • "messageFlow": "string",
      • "helpMessage": "string"
      }
    ],
  • "page": 1,
  • "totalRecords": 1
}

Get My Campaign

Retrieve campaign details by campaignId.

SecuritybearerAuth
Request
path Parameters
campaignId
required
string (Campaign Id)
Responses
200

Successful Response

Response Schema: application/json
campaignId
string (Campaignid)

Alphanumeric identifier assigned by the registry for a campaign. This identifier is required by the NetNumber OSR SMS enabling process of 10DLC.

resellerId
string (Resellerid) <= 8 characters

Alphanumeric identifier of the reseller that you want to associate with this campaign.

status
any (Status)

Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status.

Enum: "ACTIVE" "EXPIRED"
createDate
string <date-time> (Createdate)

Unix timestamp when campaign was created.

autoRenewal
boolean (Autorenewal)

Campaign subscription auto-renewal status.

billedDate
string <date-time> (Billeddate)

Campaign recent billed date.

brandId
required
string (Brandid) <= 8 characters

Alphanumeric identifier of the brand associated with this campaign.

vertical
required
any (Vertical)

Vertical or industry segment of the brand or campaign.

Enum: "REAL_ESTATE" "HEALTHCARE" "ENERGY" "ENTERTAINMENT" "RETAIL" "AGRICULTURE" "INSURANCE" "EDUCATION" "HOSPITALITY" "FINANCIAL" "GAMBLING" "CONSTRUCTION" "NGO" "MANUFACTURING" "GOVERNMENT" "TECHNOLOGY" "COMMUNICATION"
usecase
required
any (Usecase)

Campaign usecase. Must be of defined valid types. For more details, send a GET request to https://api.telnyx.com/10dlc/enum/usecase

Enum: "2FA" "ACCOUNT_NOTIFICATION" "AGENTS_FRANCHISES" "CARRIER_EXEMPT" "CHARITY" "CONVERSATIONAL" "CUSTOMER_CARE" "DELIVERY_NOTIFICATION" "EMERGENCY" "FRAUD_ALERT" "HIGHER_EDUCATION" "LOW_VOLUME" "MARKETING" "MANUFACTURING" "MIXED" "POLITICAL" "POLLING_VOTING" "PUBLIC_SERVICE_ANNOUNCEMENT" "SECURITY_ALERT" "SOCIAL" "SWEEPSTAKE" "TRIAL"
subUsecases
any (Usecase)

Campaign usecase. Must be of defined valid types. For more details, send a GET request to https://api.telnyx.com/10dlc/enum/usecase

Enum: "2FA" "ACCOUNT_NOTIFICATION" "AGENTS_FRANCHISES" "CARRIER_EXEMPT" "CHARITY" "CONVERSATIONAL" "CUSTOMER_CARE" "DELIVERY_NOTIFICATION" "EMERGENCY" "FRAUD_ALERT" "HIGHER_EDUCATION" "LOW_VOLUME" "MARKETING" "MANUFACTURING" "MIXED" "POLITICAL" "POLLING_VOTING" "PUBLIC_SERVICE_ANNOUNCEMENT" "SECURITY_ALERT" "SOCIAL" "SWEEPSTAKE" "TRIAL"
description
required
string (Description) <= 4096 characters

Summary description of this campaign.

embeddedLink
boolean (Embeddedlink)
Default: false

Does message generated by the campaign include URL link in SMS?

embeddedPhone
boolean (Embeddedphone)
Default: false

Does message generated by the campaign include phone number in SMS?

affiliateMarketing
boolean (Affiliatemarketing)

Does message content controlled by affiliate marketing other than the brand?

numberPool
boolean (Numberpool)
Default: false

Does campaign utilize pool of phone nubers?

ageGated
boolean (Agegated)

Age gated content in campaign.

directLending
boolean (Directlending)
subscriberOptin
boolean (Subscriberoptin)
Default: false

Does campaign require subscriber to opt-in before SMS is sent to subscriber?

subscriberOptout
boolean (Subscriberoptout)
Default: false

Does campaign support subscriber opt-out keyword(s)?

subscriberHelp
boolean (Subscriberhelp)
Default: false

Does campaign responds to help keyword(s)?

sample1
string (Sample1) <= 255 characters

Message sample. Some campaign tiers require 1 or more message samples.

sample2
string (Sample2) <= 255 characters

Message sample. Some campaign tiers require 2 or more message samples.

sample3
string (Sample3) <= 255 characters

Message sample. Some campaign tiers require 3 or more message samples.

sample4
string (Sample4) <= 255 characters

Message sample. Some campaign tiers require 4 or more message samples.

sample5
string (Sample5) <= 255 characters

Message sample. Some campaign tiers require 5 or more message samples.

messageFlow
required
string (Messageflow) <= 2048 characters

Message flow description.

helpMessage
string (Helpmessage) <= 255 characters

Help message of the campaign.

get/campaign/{campaignId}
Request samples
# install http://docs.python-requests.org/en/master/
import requests

url = 'https://api.telnyx.com/10dlc/campaign/{campaignId}'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json', 
  'Authorization': 'Bearer API_TOKEN'
}
response = requests.request('get', url, headers=headers)
print(response.text)
Response samples
application/json
{
  • "campaignId": "4b30017a-15eb-6a25-2e3f-59b6422cud79",
  • "resellerId": "RPQFAOY",
  • "status": "ACTIVE",
  • "createDate": "2019-08-24T14:15:22Z",
  • "autoRenewal": true,
  • "billedDate": "2019-08-24T14:15:22Z",
  • "brandId": "4b206179-f731-8ab7-f19c-34e19d22ide9",
  • "vertical": "TECHNOLOGY",
  • "usecase": "MARKETING",
  • "subUsecases": "MARKETING",
  • "description": "Campaign description goes here.",
  • "embeddedLink": false,
  • "embeddedPhone": false,
  • "affiliateMarketing": true,
  • "numberPool": false,
  • "ageGated": true,
  • "directLending": true,
  • "subscriberOptin": false,
  • "subscriberOptout": false,
  • "subscriberHelp": false,
  • "sample1": "This is a sample message associated with your campaign!",
  • "sample2": "string",
  • "sample3": "string",
  • "sample4": "string",
  • "sample5": "string",
  • "messageFlow": "string",
  • "helpMessage": "string"
}

Update My Campaign

Update a campaign's properties by campaignId. Please note: only sample messages are editable.

SecuritybearerAuth
Request
path Parameters
campaignId
required
string (Campaign Id)
Request Body schema: application/json
required
resellerId
string (Resellerid) <= 8 characters

Alphanumeric identifier of the reseller that you want to associate with this campaign.

sample1
string (Sample1) <= 255 characters

Message sample. Some campaign tiers require 1 or more message samples.

sample2
string (Sample2) <= 255 characters

Message sample. Some campaign tiers require 2 or more message samples.

sample3
string (Sample3) <= 255 characters

Message sample. Some campaign tiers require 3 or more message samples.

sample4
string (Sample4) <= 255 characters

Message sample. Some campaign tiers require 4 or more message samples.

sample5
string (Sample5) <= 255 characters

Message sample. Some campaign tiers require 5 or more message samples.

messageFlow
string (Messageflow) <= 2048 characters

Message flow description.

helpMessage
string (Helpmessage) <= 255 characters

Help message of the campaign.

autoRenewal
boolean (Autorenewal)
Default: true

Help message of the campaign.

description
string (Description) <= 2048 characters

Summary description of this campaign.

optinKeywords
string (optinKeywords) <= 255 characters

Subscriber opt-in keywords. Multiple keywords are comma separated without space.

optinMessage
string (optinMessage) <= 320 characters

Subscriber opt-in message.

optoutKeywords
string (optoutKeywords) <= 255 characters

Subscriber opt-out keywords. Multiple keywords are comma separated without space.

optoutMessage
string (optoutMessage) <= 320 characters

Subscriber opt-out message.

helpKeywords
string (helpKeywords) <= 255 characters

Subscriber help keywords. Multiple keywords are comma separated without space.

Responses
200

Successful Response

Response Schema: application/json
campaignId
string (Campaignid)

Alphanumeric identifier assigned by the registry for a campaign. This identifier is required by the NetNumber OSR SMS enabling process of 10DLC.

cspId
string (Cspid)

Alphanumeric identifier of the CSP associated with this campaign.

resellerId
string (Resellerid) <= 8 characters

Alphanumeric identifier of the reseller that you want to associate with this campaign.

status
any (Status)

Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status.

Enum: "ACTIVE" "EXPIRED"
createDate
string <date-time> (Createdate)

Unix timestamp when campaign was created.

autoRenewal
boolean (Autorenewal)

Campaign subscription auto-renewal status.

billedDate
string <date-time> (Billeddate)

Campaign recent billed date.

brandId
required
string (Brandid) <= 8 characters

Alphanumeric identifier of the brand associated with this campaign.

vertical
required
any (Vertical)

Vertical or industry segment of the brand or campaign.

Enum: "REAL_ESTATE" "HEALTHCARE" "ENERGY" "ENTERTAINMENT" "RETAIL" "AGRICULTURE" "INSURANCE" "EDUCATION" "HOSPITALITY" "FINANCIAL" "GAMBLING" "CONSTRUCTION" "NGO" "MANUFACTURING" "GOVERNMENT" "TECHNOLOGY" "COMMUNICATION"
usecase
required
any (Usecase)

Campaign usecase. Must be of defined valid types. For more details, send a GET request to https://api.telnyx.com/10dlc/enum/usecase

Enum: "2FA" "ACCOUNT_NOTIFICATION" "AGENTS_FRANCHISES" "CARRIER_EXEMPT" "CHARITY" "CONVERSATIONAL" "CUSTOMER_CARE" "DELIVERY_NOTIFICATION" "EMERGENCY" "FRAUD_ALERT" "HIGHER_EDUCATION" "LOW_VOLUME" "MARKETING" "MANUFACTURING" "MIXED" "POLITICAL" "POLLING_VOTING" "PUBLIC_SERVICE_ANNOUNCEMENT" "SECURITY_ALERT" "SOCIAL" "SWEEPSTAKE" "TRIAL"
subUsecases
any (Usecase)

Campaign usecase. Must be of defined valid types. For more details, send a GET request to https://api.telnyx.com/10dlc/enum/usecase

Enum: "2FA" "ACCOUNT_NOTIFICATION" "AGENTS_FRANCHISES" "CARRIER_EXEMPT" "CHARITY" "CONVERSATIONAL" "CUSTOMER_CARE" "DELIVERY_NOTIFICATION" "EMERGENCY" "FRAUD_ALERT" "HIGHER_EDUCATION" "LOW_VOLUME" "MARKETING" "MANUFACTURING" "MIXED" "POLITICAL" "POLLING_VOTING" "PUBLIC_SERVICE_ANNOUNCEMENT" "SECURITY_ALERT" "SOCIAL" "SWEEPSTAKE" "TRIAL"
description
required
string (Description) <= 4096 characters

Summary description of this campaign.

embeddedLink
boolean (Embeddedlink)
Default: false

Does message generated by the campaign include URL link in SMS?

embeddedPhone
boolean (Embeddedphone)
Default: false

Does message generated by the campaign include phone number in SMS?

affiliateMarketing
boolean (Affiliatemarketing)

Does message content controlled by affiliate marketing other than the brand?

numberPool
boolean (Numberpool)
Default: false

Does campaign utilize pool of phone nubers?

ageGated
boolean (Agegated)

Age gated content in campaign.

directLending
boolean (Directlending)
subscriberOptin
boolean (Subscriberoptin)
Default: false

Does campaign require subscriber to opt-in before SMS is sent to subscriber?

subscriberOptout
boolean (Subscriberoptout)
Default: false

Does campaign support subscriber opt-out keyword(s)?

subscriberHelp
boolean (Subscriberhelp)
Default: false

Does campaign responds to help keyword(s)?

sample1
string (Sample1) <= 255 characters

Message sample. Some campaign tiers require 1 or more message samples.

sample2
string (Sample2) <= 255 characters

Message sample. Some campaign tiers require 2 or more message samples.

sample3
string (Sample3) <= 255 characters

Message sample. Some campaign tiers require 3 or more message samples.

sample4
string (Sample4) <= 255 characters

Message sample. Some campaign tiers require 4 or more message samples.

sample5
string (Sample5) <= 255 characters

Message sample. Some campaign tiers require 5 or more message samples.

messageFlow
required
string (Messageflow) <= 2048 characters

Message flow description.

helpMessage
string (Helpmessage) <= 255 characters

Help message of the campaign.

Callbacks
postWebhook for 10DLC campaign status update events.
put/campaign/{campaignId}
Request samples
application/json
{
  • "resellerId": "string",
  • "sample1": "string",
  • "sample2": "string",
  • "sample3": "string",
  • "sample4": "string",
  • "sample5": "string",
  • "messageFlow": "string",
  • "helpMessage": "string",
  • "autoRenewal": true,
  • "description": "string",
  • "optinKeywords": "string",
  • "optinMessage": "string",
  • "optoutKeywords": "string",
  • "optoutMessage": "string",
  • "helpKeywords": "string"
}
Response samples
application/json
{
  • "campaignId": "4b30017a-15eb-6a25-2e3f-59b6422cud79",
  • "cspId": "string",
  • "resellerId": "RPQFAOY",
  • "status": "ACTIVE",
  • "createDate": "2019-08-24T14:15:22Z",
  • "autoRenewal": true,
  • "billedDate": "2019-08-24T14:15:22Z",
  • "brandId": "4b206179-f731-8ab7-f19c-34e19d22ide9",
  • "vertical": "TECHNOLOGY",
  • "usecase": "MARKETING",
  • "subUsecases": "MARKETING",
  • "description": "Campaign description goes here.",
  • "embeddedLink": false,
  • "embeddedPhone": false,
  • "affiliateMarketing": true,
  • "numberPool": false,
  • "ageGated": true,
  • "directLending": true,
  • "subscriberOptin": false,
  • "subscriberOptout": false,
  • "subscriberHelp": false,
  • "sample1": "This is a an updated message!",
  • "sample2": "This is a newly created message!",
  • "sample3": "This is a newly created message!",
  • "sample4": "string",
  • "sample5": "string",
  • "messageFlow": "string",
  • "helpMessage": "string"
}
Callback payload samples
POST: Webhook for 10DLC campaign status update events.
application/json
{
  • "brandId": "d88dd2aa-1bb9-4ef0-9ec8-1752b80316a5",
  • "campaignId": "4b300178-131c-d902-d54e-72d90ba1620j",
  • "createDate": "string",
  • "cspId": "string",
  • "isTMobileRegistered": true
}

Deactivate My Campaign

This endpoint is used to deactivate and delete a campaign.

SecuritybearerAuth
Request
path Parameters
campaignId
required
string (Campaign Id)
Responses
200

Successful Response

Response Schema: application/json
any
delete/campaign/{campaignId}
Request samples
# install http://docs.python-requests.org/en/master/
import requests

url = 'https://api.telnyx.com/10dlc/campaign/{campaignId}'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json', 
  'Authorization': 'Bearer API_TOKEN'
}
response = requests.request('delete', url, headers=headers)
print(response.text)
Response samples
application/json
"This endpoint is used to deactivate and delete a campaign."

Get Campaign MNO Metadata

Retrieve a campaign's Mobile Network Operator (MNO) metadata.

SecuritybearerAuth
Request
path Parameters
campaignId
required
string (Campaign Id)
Responses
200

Successful Response

Response Schema: application/json
object (Response Get My Campaign Mno Metadata Campaign Campaign Id Mnometadata Get)
get/campaign/{campaignId}/mnoMetadata
Request samples
# install http://docs.python-requests.org/en/master/
import requests

url = 'https://api.telnyx.com/10dlc/campaign/{campaignId}/mnoMetadata'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json', 
  'Authorization': 'Bearer API_TOKEN'
}
response = requests.request('get', url, headers=headers)
print(response.text)
Response samples
application/json
{ }

Get Campaign's Operation Status

Retrieve campaign's operation status at MNO level.

SecuritybearerAuth
Request
path Parameters
campaignId
required
string (Campaign Id)
Responses
200

Successful Response

Response Schema: application/json
object (Response Get My Campaign Operation Status Campaign Campaign Id Operationstatus Get)
get/campaign/{campaignId}/operationStatus
Request samples
# install http://docs.python-requests.org/en/master/
import requests

url = 'https://api.telnyx.com/10dlc/campaign/{campaignId}/operationStatus'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json', 
  'Authorization': 'Bearer API_TOKEN'
}
response = requests.request('get', url, headers=headers)
print(response.text)
Response samples
application/json
{ }

Qualify By Usecase

This endpoint allows you to see whether or not the supplied brand is suitable for your desired campaign use case.

SecuritybearerAuth
Request
path Parameters
usecase
required
string (Usecase)
brandId
required
string (Brand Id)
Responses
200

Successful Response

Response Schema: application/json
object (Response Qualify By Usecase Campaignbuilder Brand Brand Id Usecase Usecase Get)
get/campaignBuilder/brand/{brandId}/usecase/{usecase}
Request samples
# install http://docs.python-requests.org/en/master/
import requests

url = 'https://api.telnyx.com/10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase}'
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json', 
  'Authorization': 'Bearer API_TOKEN'
}
response = requests.request('get', url, headers=headers)
print(response.text)
Response samples
application/json
{ }