Vývojáři

POST/tcr/v2/campaignBuilder

Zaregistrujte kampaň 10DLC

Odešlete kvalifikovanou kampaň a rozlišujte registraci v registru od aktivace u operátora a připravenosti k odesílání.

Na této stránce
  1. Před registrací kampaně kvalifikujte značku
  2. Oddělujte testovací a produkční prostředí
  3. Odešlete JSON kampaně
  4. Pole kampaně a podmíněné požadavky
  5. Bezpečně opakujte stejný zamýšlený požadavek
  6. ID kampaně není konečným nastavením odesílání
  7. Poplatky za produkční kampaně
  8. Zpracujte chyby ověření a částečná selhání

Před registrací kampaně kvalifikujte značku

Kampaň 10DLC popisuje zprávy, které registrovaná firma zamýšlí odesílat, jak příjemci udělují souhlas a jak mohou získat pomoc nebo zastavit zprávy. Toto API vytváří záznam v registru; dokončení produkční aktivace u operátora je samostatným krokem nastavení účtu. Použijte vlastněnou značku z registrace značky, poté načtěte její dostupné případy užití a aktuální požadavky vybraného případu užití.

Aktuální výsledek kvalifikace použijte k výběru dílčích případů užití, způsobilých ID sítí, vzorků zpráv a prohlášení o přihlášení/odhlášení/nápovědě. Požadavky se mohou lišit podle značky a sítě. Neodesílejte identifikátory z příkladu ani nekopírujte jeho popis souhlasu pro firmu s odlišným procesem.

Oddělujte testovací a produkční prostředí

Pro cvičení v testovacím prostředí použijte vlastní testovací značku a aktuální případ užití, pro který je kvalifikována. Hodnotu TRIAL použijte pouze tehdy, když ji daná kvalifikace nabízí. Portál kontroluje, zda se vybraná značka a prostředí kampaně shodují. Přímý požadavek API za vás neprovede úplné ověření průvodcem portálu, proto toto oddělení zachovejte ve své integraci.

Vytvoření produkční kampaně je zpoplatněno a automaticky nepřipraví číslo k odesílání. Udržujte prostředí kampaně v souladu s její značkou a před vytvořením živé kampaně zkontrolujte poplatek a platné podmínky.

Odešlete JSON kampaně

Připravte soubor campaign.json s kvalifikovanými hodnotami. Hodnota R000000 znamená žádného prodejce; použijte ji pouze tehdy, když je to zamýšlená konfigurace. Pro běžnou konfiguraci prodejce MultiTEL získejte povolený identifikátor prodejce MultiTEL LLC ze sbírky prodejců vašeho účtu nebo z přípravného postupu portálu, místo abyste natvrdo zadávali identifikátor někoho jiného.

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

Následující JSON znázorňuje testovací kampaň pro vlastněnou testovací značku. Značku, případ užití, prodejce a text souhlasu nahraďte hodnotami, které se skutečně kvalifikují pro váš test.

{
  "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"
}

Nastavte pole termsAndConditions na hodnotu true až poté, co oprávněná osoba zkontrolovala a přijala platné podmínky. Příklad není souhlasem vaším jménem. Pro příznaky použijte booleovské hodnoty JSON, nikoli řetězce v uvozovkách.

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'

Pole kampaně a podmíněné požadavky

Požadavek na kampaň 10DLC
PoleCo uvést
brandId, channelId, usecaseVaše vlastněná značka, kanál 10DLC a způsobilý aktuální kód případu užití. Používejte kódy z kvalifikace, nikoli přeložené popisky.
subUsecasesPole způsobilých kódů dílčích případů užití. Dodržujte minimální a maximální počet vybrané kvalifikace.
resellerIdPovolený identifikátor prodejce. Trasa vlastněná účtem přijímá vlastněné prodejce, svého nakonfigurovaného sdíleného prodejce nebo záměrnou hodnotu bez prodejce. Nesouvisející prodejce je odmítnut.
description, messageFlowPopište skutečný účel a způsob získávání souhlasu. Každý popis by měl obsahovat 40–4096 znaků. Uveďte skutečnou akci uživatele, formulář nebo proces; nevymýšlejte si souhlas, který vaše aplikace neshromažďuje.
sample1 … sample5Reprezentativní zprávy, obvykle každá o délce 20–1024 znaků. Portál vyžaduje alespoň jednu; způsobilé sítě mohou vyžadovat více. Uveďte počet vyžadovaný aktuální kvalifikací.
subscriberOptin, subscriberOptout, subscriberHelpPodporované toky příjemců deklarujte pomocí těchto přesných názvů polí. Když je tok povolen, uveďte jeho pole klíčových slov a zpráv. Požadavky sítí mohou určité toky stanovit jako povinné.
optinKeywords, optoutKeywords, helpKeywordsSkutečně rozpoznávaná klíčová slova, maximálně 255 znaků. Musí odpovídat chování přijímající aplikace.
optinMessage, optoutMessage, helpMessageOdpovídající zprávy. Aktuální publikovaná pravidla polí stanoví 20–1024 znaků. Uveďte skutečnou podporu a chování při odhlášení.
embeddedLink, embeddedPhone, embeddedLinkSampleVložené odkazy nebo telefonní čísla deklarujte pravdivě. Jinak kvalifikovaná síť je může zakázat. Vzorek odkazu umožňuje maximálně 255 znaků.
mnoIdsVolitelné pole způsobilých číselných ID sítí z kvalifikace. Nepředpokládejte, že každá síť podporuje vybraný případ užití.
numberPool, ageGated, directLendingPoužitelné vlastnosti kampaně jako booleovské hodnoty JSON. Vyberte je podle skutečné služby.
privacyPolicyLink, termsAndConditionsLinkPříslušné veřejné adresy URL vašich zásad a podmínek, je-li to relevantní, každá maximálně 2048 znaků. Musí popisovat skutečnou službu zasílání zpráv.
termsAndConditionsVýslovné přijetí platných podmínek kampaně. Portál vyžaduje hodnotu true a jeho průvodce rovněž shromažďuje aktuální individuální potvrzení.
autoRenewalZda se kampaň obnovuje. Výchozí hodnota je true. Zakázání obnovení neodstraňuje minimální závazek již spojený s produkční kampaní.
referenceId, tagVáš odkaz na kampaň, maximálně 50 znaků, a volitelné značky. Hodnota referenceId není hlavička Idempotency-Key.

Publikované schéma obsahuje v popisných tabulkách nekonzistentní velikost písmen. Aktuální požadavek portálu používá hodnoty subscriberOptin a subscriberOptout, jak je uvedeno výše. Zachovejte přesně tuto velikost písmen. Tato příručka pokrývá pracovní postup 10DLC pro tenanty; nevyvozujte, že požadovaná pole nebo kroky aktivace jiného kanálu jsou stejné.

Bezpečně opakujte stejný zamýšlený požadavek

Pro toto zamýšlené vytvoření použijte jeden klíč Idempotency-Key. Klíč má 1–128 tisknutelných znaků ASCII bez mezer a je vázán na účet vlastníka. Při opakování zachovejte beze změny metodu HTTP, cestu, řetězec dotazu a přesné bajty těla. Přeformátovaný soubor JSON je v konfliktu, i když jsou jeho hodnoty rovnocenné.

Probíhající duplicita může vrátit HTTP 409 s hlavičkou Retry-After; dokončené požadavky mohou přehrát svou uloženou odpověď. Chyba z mezipaměti nedokazuje, že registr nic nevytvořil. Před zvážením nového klíče uložte hodnoty campaignId, requestId a případné korelační hlavičky, zkontrolujte existující kampaň a vyřešte částečné selhání.

ID kampaně není konečným nastavením odesílání

Odpověď používá stav HTTP a přímý JSON. Při úspěšném vytvoření si ponechte hodnotu campaignId a přečtěte její aktuální stav:

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

Aktuální produkční pracovní postup portálu také sdílí kampaň s operátorem pro zasílání zpráv a načítá značku/kampaň do odesílacího účtu. Jedná se o operace oddělené od tohoto veřejného volání vytvoření. Kampaň v registru může existovat, i když pozdější krok sdílení nebo načtení u operátora selže.

Když potřebujete kombinovanou sekvenci registrace, sdílení a načtení u operátora, použijte integrovaný pracovní postup portálu pro produkční vytvoření. U produkční kampaně již přímo vytvořené tímto API si ponechte její ID kampaně a nastavení operátora účtu nechte uvést do souladu prostřednictvím podpory. Aktuální zákaznické uživatelské rozhraní neposkytuje obecné tlačítko pro pokračování pro každou přímo vytvořenou produkční kampaň. Nevytvářejte další registraci, abyste opakovali její aktivaci. Potvrďte, že kampaň je aktivní a nastavení operátora bylo dokončeno před přiřazením odesílacího čísla. Číslo musí být rovněž vlastněné, aktivní a s povoleným SMS. Vytvoření kampaně neodesílá zprávy.

Poplatky za produkční kampaně

Aktuální nakonfigurované měsíční poplatky za kampaně
Případ užitíMěsíční poplatek
LOW_VOLUME, UCAAS_LOW$1.67
SOLE_PROPRIETOR$2.23
CHARITY$3.34
EMERGENCY$5.56
AGENTS_FRANCHISES$33.34
Ostatní nakonfigurované náhradní případy užití$11.12

Tyto maloobchodní částky byly ověřeny oproti aktuální konfiguraci portálu dne 24. října 2026. Před produkčním odesláním potvrďte aktuální kvalifikovaný případ užití a zobrazenou cenu. Hodnota monthlyFee v odpovědi kvalifikace registru není automaticky vaší maloobchodní cenou MultiTEL.

Aktuální portál uvádí tříměsíční minimální závazek pro nepolitické produkční kampaně. Před potvrzením zkontrolujte platné podmínky a volbu obnovení. Registrace, pronájem čísla, dodatečné prověření a využití zpráv jsou samostatné poplatky. Úspěšná odpověď na vytvoření sama o sobě nedokazuje, že byly dokončeny všechny kroky fakturace nebo aktivace u operátora.

Zpracujte chyby ověření a částečná selhání

Přečtěte hodnotu HTTP status a vrácený JSON. Selhání ověření mohou být pole objektů code/description; místní selhání mohou být místo toho objekty s hodnotami message, status a u některých chyb zpracování s hodnotou requestId.

Selhání kampaní
Výsledek HTTPDalší krok
400Opravte konkrétní pole nebo klíč idempotence. Znovu si přečtěte aktuální kvalifikaci, požadovaný počet vzorků a požadavky na toky příjemců.
401, 403 nebo 404Zkontrolujte přihlašovací údaje API a povolenou zdrojovou IP adresu, poté vlastnictví a oprávnění značky/prodejce. Nepoužívejte identifikátory z jiného účtu.
402Před opakováním stejného zamýšleného vytvoření zkontrolujte produkční financování a oprávnění k nákupu.
409Rozlišujte přehrání probíhajícího požadavku od změněného požadavku se stejným klíčem. Při uvádění do souladu zachovejte podrobnosti existující kampaně a požadavku.
429 nebo nedostupný omezovačJe-li přítomna hlavička Retry-After, respektujte ji a zachovejte původní klíč a přesný požadavek.
500 nebo 502Vytvoření již mohlo proběhnout. Místo vytváření duplikátu uložte hodnoty campaignId a requestId, zkontrolujte existující kampaň a její aktivaci obnovte nebo uveďte do souladu.