Разработчици

POST/tcr/v2/campaignBuilder

Регистриране на 10DLC кампания

Подайте квалифицирана кампания и разграничете регистрацията в регистъра от активирането при оператора и готовността за изпращане.

На тази страница
  1. Квалифицирайте бранд, преди да регистрирате неговата кампания
  2. Дръжте тестовата и производствената среда разделени
  3. Подайте JSON на кампанията
  4. Полета на кампанията и условни изисквания
  5. Повторете безопасно същата предвидена заявка
  6. Идентификаторът на кампанията не е окончателната настройка за изпращане
  7. Такси за производствени кампании
  8. Обработка на неуспешни проверки и частични неуспехи

Квалифицирайте бранд, преди да регистрирате неговата кампания

Кампанията 10DLC описва съобщенията, които регистрираният бизнес възнамерява да изпраща, как получателите предоставят съгласие и как могат да получат помощ или да спрат съобщенията. Този API създава записа в регистъра; завършването на производственото активиране при оператора е отделна стъпка от настройката на акаунта. Използвайте бранд, който притежавате и който е създаден чрез регистрация на бранд, след това заредете неговите налични случаи на употреба и текущи изисквания за избрания случай на употреба.

Използвайте текущия резултат от квалификацията, за да изберете подварианти на употреба, допустими идентификатори на мрежи, примерни съобщения и декларации за включване/отписване/помощ. Изискванията могат да се различават според бранда и мрежата. Не подавайте идентификаторите от примера и не копирайте описанието на съгласието за бизнес с различен процес.

Дръжте тестовата и производствената среда разделени

За упражнение в тестова среда използвайте ваш собствен тестов бранд и текущ случай на употреба, за който той е квалифициран. Използвайте TRIAL само когато тази квалификация го предлага. Порталът проверява дали избраният бранд и средата на кампанията съвпадат. Директната API заявка не изпълнява вместо вас пълната проверка на съветника в портала, затова запазете това разделение във вашата интеграция.

Създаването на производствена кампания е таксувано и не прави автоматично даден номер готов за изпращане. Поддържайте средата на кампанията в съответствие с нейния бранд и прегледайте таксата и приложимите условия, преди да създадете реална кампания.

Подайте JSON на кампанията

Подгответе campaign.json с вашите квалифицирани стойности. R000000 означава без препродавач; използвайте го само когато това е предвидената конфигурация. За нормалната конфигурация с препродавач на MultiTEL вземете разрешения идентификатор на препродавач MultiTEL LLC от колекцията с препродавачи на вашия акаунт или от подготвителния процес в портала, вместо да вграждате чужд идентификатор.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  'https://api.multitel.net/tcr/v2/reseller?companyName=MultiTEL%20LLC&recordsPerPage=500'

Следващият JSON илюстрира пробна кампания за притежаван от вас тестов бранд. Заменете бранда, случая на употреба, препродавача и текста за съгласие със стойностите, които действително са квалифицирани за вашия тест.

{
  "brandId": "B123ABC",
  "channelId": "10DLC",
  "usecase": "TRIAL",
  "subUsecases": [],
  "resellerId": "R000000",
  "description": "Trial account notices requested by users of the example application.",
  "messageFlow": "Test users explicitly select an unchecked consent box before requesting these trial notices.",
  "sample1": "Example application: your requested account notice is available. Reply STOP to stop notices.",
  "subscriberOptin": true,
  "optinKeywords": "START",
  "optinMessage": "You are subscribed to the example application's requested account notices.",
  "subscriberOptout": true,
  "optoutKeywords": "STOP",
  "optoutMessage": "You will no longer receive the example application's account notices.",
  "subscriberHelp": true,
  "helpKeywords": "HELP",
  "helpMessage": "For help with example account notices, contact support@example.invalid.",
  "embeddedLink": false,
  "embeddedPhone": false,
  "numberPool": false,
  "ageGated": false,
  "directLending": false,
  "termsAndConditions": true,
  "autoRenewal": false,
  "mnoIds": [],
  "referenceId": "your-trial-reference"
}

Задайте termsAndConditions на true едва след като упълномощеното лице е прегледало и приело приложимите условия. Примерът не е съгласие от ваше име. Използвайте JSON булеви стойности за флаговете, а не низове в кавички.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --data-binary @campaign.json \
  'https://api.multitel.net/tcr/v2/campaignBuilder'

Полета на кампанията и условни изисквания

10DLC заявка за кампания
ПолетаКакво да предоставите
brandId, channelId, usecaseВашият собствен бранд, канал 10DLC и допустим текущ код на случай на употреба. Използвайте кодове от квалификацията, а не преведени етикети.
subUsecasesМасив от допустими кодове на подварианти на употреба. Спазвайте минималния и максималния брой на избраната квалификация.
resellerIdРазрешен идентификатор на препродавач. Маршрутът, притежаван от акаунта, приема собствени препродавачи, конфигурирания си споделен препродавач или умишлената стойност без препродавач. Несвързан препродавач се отхвърля.
description, messageFlowОпишете действителното предназначение и как се събира съгласието. Всяко трябва да съдържа 40–4096 знака. Посочете реалното действие на потребителя, формуляр или процес; не измисляйте съгласие, което вашето приложение не събира.
sample1 … sample5Представителни съобщения, обикновено 20–1024 знака всяко. Порталът изисква поне едно; допустимите мрежи могат да изискват повече. Предоставете броя, изискван от текущата квалификация.
subscriberOptin, subscriberOptout, subscriberHelpДекларирайте поддържаните потоци за получатели, като използвате точно тези имена на полета. Когато даден поток е разрешен, посочете неговите полета за ключова дума и съобщение. Изискванията на мрежите могат да направят определени потоци задължителни.
optinKeywords, optoutKeywords, helpKeywordsДействителните разпознавани ключови думи, до 255 знака. Те трябва да съответстват на поведението на приемащото приложение.
optinMessage, optoutMessage, helpMessageСъответните съобщения. Текущите публикувани правила за полетата предвиждат 20–1024 знака. Включете реално поведение за поддръжка и отписване.
embeddedLink, embeddedPhone, embeddedLinkSampleДекларирайте достоверно вградените връзки или телефонни номера. Дори квалифицирана мрежа може да ги забрани. Примерът за връзка допуска до 255 знака.
mnoIdsНезадължителен масив от допустими числови идентификатори на мрежи от квалификацията. Не приемайте, че всяка мрежа поддържа избрания случай на употреба.
numberPool, ageGated, directLendingПриложими характеристики на кампанията като JSON булеви стойности. Изберете ги според действителната услуга.
privacyPolicyLink, termsAndConditionsLinkВашите съответни публични URL адреси на правила и условия, когато е приложимо, до 2048 знака всеки. Те трябва да описват действителната услуга за съобщения.
termsAndConditionsИзрично приемане на приложимите условия на кампанията. Порталът изисква true, а неговият съветник събира и текущите индивидуални потвърждения.
autoRenewalДали кампанията се подновява. Стойността по подразбиране е true. Деактивирането на подновяването не премахва минимален ангажимент, който вече е свързан с производствена кампания.
referenceId, tagВашата препратка за кампанията, до 50 знака, и незадължителни етикети. referenceId не е заглавката Idempotency-Key.

Публикуваната схема съдържа някои непоследователни главни букви в описателните таблици. Текущата заявка в портала използва subscriberOptin и subscriberOptout както е показано по-горе. Запазете точно тази употреба на главни и малки букви. Това ръководство обхваща работния процес 10DLC за наематели; не правете извод, че изискваните полета или стъпките за активиране на друг канал са същите.

Повторете безопасно същата предвидена заявка

Използвайте един Idempotency-Key за това предвидено създаване. Ключът е 1–128 печатни ASCII знака без интервали и е ограничен до акаунта, от който се подава заявката. Запазете непроменени HTTP метода, пътя, низа на заявката и точните байтове на тялото при повторен опит. Преформатиран JSON файл създава конфликт, дори стойностите му да са еквивалентни.

Дубликат в процес на изпълнение може да върне HTTP 409 с Retry-After; завършените заявки могат да възпроизведат съхранения си отговор. Кеширана грешка не доказва, че регистърът не е създал нищо. Запазете campaignId, requestId и всички корелационни заглавки, проверете съществуващата кампания и съгласувайте частичен неуспех, преди да обмислите нов ключ.

Идентификаторът на кампанията не е окончателната настройка за изпращане

Отговорът използва HTTP статус и директен JSON. При успешно създаване запазете campaignId и прочетете текущото му състояние:

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  "https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"

Текущият производствен работен процес в портала също споделя кампанията с оператора за съобщения и зарежда бранда/кампанията в акаунта за изпращане. Това са отделни операции от това публично извикване за създаване. Кампания в регистъра може да съществува, дори ако по-късна стъпка за споделяне или зареждане при оператора е неуспешна.

Използвайте интегрирания производствен процес за създаване в портала, когато се нуждаете от комбинираната последователност от регистрация, споделяне и зареждане при оператора. За производствена кампания, която вече е създадена директно чрез този API, запазете нейния идентификатор на кампания и съгласувайте настройката на оператора за акаунта чрез поддръжката. Текущият потребителски интерфейс не предоставя общ бутон за продължаване за всяка директно създадена производствена кампания. Не създавайте друга регистрация, за да повторите нейното активиране. Потвърдете, че кампанията е активна и настройката на оператора е завършена, преди присвояване на номер за изпращане. Номерът също трябва да е притежаван, активен и с разрешен SMS. Създаването на кампания не изпраща съобщения.

Такси за производствени кампании

Текущи конфигурирани месечни такси за кампании
Случай на употребаМесечна такса
LOW_VOLUME, UCAAS_LOW$1.67
SOLE_PROPRIETOR$2.23
CHARITY$3.34
EMERGENCY$5.56
AGENTS_FRANCHISES$33.34
Други конфигурирани резервни случаи на употреба$11.12

Тези цени на дребно бяха сверени с текущата конфигурация на портала на 24 октомври 2026 г. Потвърдете текущия квалифициран случай на употреба и показаната цена преди подаване за производствена среда. monthlyFee в отговор за квалификация от регистъра не е автоматично вашата цена на дребно от MultiTEL.

Текущият портал предвижда тримесечен минимален ангажимент за неполитически производствени кампании. Прегледайте приложимите условия и избора за подновяване, преди да потвърдите. Регистрацията, наемът на номер, допълнителната проверка и използването на съобщения са отделни такси. Успешният отговор за създаване не доказва самостоятелно, че всяка стъпка за таксуване или активиране при оператора е завършена.

Обработка на неуспешни проверки и частични неуспехи

Прочетете HTTP status и върнатия JSON. Неуспешните проверки могат да бъдат масиви от обекти code/description; локалните неуспехи могат вместо това да бъдат обекти с message, status и, за някои грешки при обработка, requestId.

Неуспехи на кампании
HTTP резултатСледващо действие
400Коригирайте конкретните полета или ключа за идемпотентност. Прочетете отново текущата квалификация, изисквания брой мостри и изискванията за потоци на получателите.
401, 403 или 404Проверете API идентификационните данни и разрешения изходен IP адрес, след това собствеността и разрешенията за бранд/препродавач. Не използвайте идентификатори от друг акаунт.
402Прегледайте финансирането за производствена среда и разрешението за покупка, преди да повторите същото предвидено създаване.
409Разграничете повторното изпълнение в процес от променена заявка, използваща същия ключ. Запазете съществуващата кампания и данните за заявката при съгласуване.
429 или ограничителят е недостъпенСпазвайте Retry-After, когато е налице, и запазете оригиналния ключ и точната заявка.
500 или 502Създаването може вече да е настъпило. Запазете всички campaignId и requestId, проверете съществуващата кампания и продължете или съгласувайте нейното активиране, вместо да създавате дубликат.