Kvalifikuokite prekės ženklą prieš registruodami jo kampaniją
10DLC kampanija aprašo pranešimus, kuriuos registruotas verslas ketina siųsti, kaip gavėjai sutinka ir kaip jie gali gauti pagalbą arba atsisakyti pranešimų. Ši API sukuria registro įrašą; gamybinio operatoriaus aktyvavimo užbaigimas yra atskiras paskyros sąrankos veiksmas. Naudokite jums priklausantį prekės ženklą, sukurtą per prekės ženklo registraciją, tada įkelkite jo galimus naudojimo atvejus ir pasirinkto naudojimo atvejo dabartinius reikalavimus.
Naudokite dabartinį kvalifikavimo rezultatą, kad pasirinktumėte papildomus naudojimo atvejus, tinkamus tinklo identifikatorius, pranešimų pavyzdžius ir sutikimo, atsisakymo bei pagalbos deklaracijas. Reikalavimai gali skirtis pagal prekės ženklą ir tinklą. Nepateikite pavyzdyje pateiktų identifikatorių ir nekopijuokite jo sutikimo aprašymo verslui, kurio procesas kitoks.
Laikykite bandomąją ir gamybinę aplinkas atskirai
Bandomajam pratimui naudokite savo bandomąjį prekės ženklą ir dabartinį naudojimo atvejį, kuriam jis kvalifikuojamas. Naudokite TRIAL tik tada, kai tą siūlo tas kvalifikavimas. Portalas patikrina, ar pasirinkto prekės ženklo ir kampanijos aplinkos sutampa. Tiesioginė API užklausa neatlieka už jus viso portalo vedlio patvirtinimo, todėl išlaikykite šį atskyrimą savo integracijoje.
Gamybinės kampanijos sukūrimas yra mokamas ir automatiškai nepadaro numerio paruošto siųsti. Laikykite kampanijos aplinką suderintą su jos prekės ženklu ir prieš kurdami veikiančią kampaniją peržiūrėkite mokestį bei taikomas sąlygas.
Pateikite kampanijos JSON
Paruoškite campaign.json su savo kvalifikuotomis reikšmėmis. R000000 reiškia, kad perpardavėjo nėra; naudokite jį tik tada, kai tokia yra numatyta konfigūracija. Įprastai MultiTEL perpardavėjo konfigūracijai gaukite leidžiamą MultiTEL LLC perpardavėjo identifikatorių iš savo paskyros perpardavėjų rinkinio arba portalo parengimo srauto, o ne įrašykite kito asmens identifikatorių tiesiogiai.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
'https://api.multitel.net/tcr/v2/reseller?companyName=MultiTEL%20LLC&recordsPerPage=500'Toliau pateiktas JSON iliustruoja bandomąją kampaniją jums priklausančiam bandomajam prekės ženklui. Pakeiskite prekės ženklą, naudojimo atvejį, perpardavėją ir sutikimo tekstą reikšmėmis, kurios iš tikrųjų kvalifikuojamos jūsų testui.
{
"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"
}Nustatykite termsAndConditions į true tik po to, kai įgaliotas asmuo peržiūrėjo ir priėmė taikomas sąlygas. Pavyzdys nėra sutikimas jūsų vardu. Vėliavėlėms naudokite JSON logines reikšmes, o ne kabutėse pateiktas eilutes.
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'Kampanijos laukai ir sąlyginiai reikalavimai
| Laukai | Ką pateikti |
|---|---|
| brandId, channelId, usecase | Jums priklausantis prekės ženklas, kanalas 10DLC ir tinkamas dabartinis naudojimo atvejo kodas. Naudokite kodus iš kvalifikavimo, o ne išverstas etiketes. |
| subUsecases | Tinkamų papildomų naudojimo atvejų kodų masyvas. Laikykitės pasirinkto kvalifikavimo minimalaus ir maksimalaus skaičiaus. |
| resellerId | Leidžiamas perpardavėjo identifikatorius. Paskyrai priklausantis maršrutas priima priklausančius perpardavėjus, jo sukonfigūruotą bendrą perpardavėją arba tyčinę reikšmę be perpardavėjo. Nesusijęs perpardavėjas atmetamas. |
| description, messageFlow | Aprašykite tikrąjį tikslą ir tai, kaip renkamas sutikimas. Kiekviename turėtų būti 40–4096 simboliai. Nurodykite tikrąjį naudotojo veiksmą, formą ar procesą; neišgalvokite sutikimo, kurio jūsų programa nerenka. |
| sample1 … sample5 | Tipiniai pranešimai, paprastai po 20–1024 simbolius. Portalas reikalauja bent vieno; tinkami tinklai gali reikalauti daugiau. Pateikite skaičių, kurio reikalauja dabartinis kvalifikavimas. |
| subscriberOptin, subscriberOptout, subscriberHelp | Deklaruokite palaikomus gavėjų srautus naudodami šiuos tikslius laukų pavadinimus. Kai srautas įjungtas, pateikite jo raktažodžių ir pranešimų laukus. Tinklo reikalavimai gali padaryti tam tikrus srautus privalomus. |
| optinKeywords, optoutKeywords, helpKeywords | Tikrieji atpažįstami raktažodžiai, iki 255 simbolių. Jie turi atitikti priimančiosios programos veikimą. |
| optinMessage, optoutMessage, helpMessage | Atitinkami pranešimai. Dabartinės paskelbtos laukų taisyklės nurodo 20–1024 simbolius. Nurodykite tikrąjį palaikymo ir atsisakymo veikimą. |
| embeddedLink, embeddedPhone, embeddedLinkSample | Teisingai deklaruokite įterptąsias nuorodas ar telefono numerius. Net ir kitus kvalifikavimo reikalavimus atitinkantis tinklas gali jų neleisti. Nuorodos pavyzdyje leidžiama iki 255 simbolių. |
| mnoIds | Neprivalomas tinkamų skaitinių tinklo identifikatorių masyvas iš kvalifikavimo. Nemanykite, kad kiekvienas tinklas palaiko pasirinktą naudojimo atvejį. |
| numberPool, ageGated, directLending | Taikomos kampanijos charakteristikos kaip JSON loginės reikšmės. Pasirinkite jas pagal tikrąją paslaugą. |
| privacyPolicyLink, termsAndConditionsLink | Jūsų aktualios viešosios politikos ir sąlygų URL nuorodos, kai taikoma, iki 2048 simbolių kiekviena. Jos turi apibūdinti tikrąją pranešimų paslaugą. |
| termsAndConditions | Aiškus taikomų kampanijos sąlygų priėmimas. Portalas reikalauja true, o jo vedlys taip pat surenka dabartinius individualius patvirtinimus. |
| autoRenewal | Ar kampanija atnaujinama. Numatytasis yra true. Atnaujinimo išjungimas nepašalina minimalaus įsipareigojimo, jau susijusio su gamybine kampanija. |
| referenceId, tag | Jūsų kampanijos nuoroda, iki 50 simbolių, ir neprivalomos žymos. referenceId nėra Idempotency-Key antraštė. |
Paskelbtoje schemoje aprašomosiose lentelėse yra nenuoseklaus didžiųjų raidžių vartojimo. Dabartinė portalo užklausa naudoja subscriberOptin ir subscriberOptout, kaip parodyta aukščiau. Išlaikykite tiksliai šį raidžių registrą. Šis vadovas apima nuomininkui skirtą 10DLC darbo eigą; nemanykite, kad kito kanalo privalomi laukai ar aktyvavimo veiksmai yra tokie patys.
Saugiai pakartokite tą pačią numatytą užklausą
Naudokite vieną Idempotency-Key šiam numatytam sukūrimui. Raktą sudaro 1–128 spausdinami ASCII simboliai be tarpų, ir jis susietas su savininko paskyra. Pakartodami nekeiskite HTTP metodo, kelio, užklausos eilutės ir tikslių turinio baitų. Performuotas JSON failas konfliktuoja, net jei jo reikšmės lygiavertės.
Vykdomas dublikatas gali grąžinti HTTP 409 su Retry-After; užbaigtos užklausos gali pakartoti savo išsaugotą atsakymą. Išsaugota klaida neįrodo, kad registras nieko nesukūrė. Išsaugokite campaignId, requestId ir visas koreliacijos antraštes, patikrinkite esamą kampaniją ir patikrinkite tikrąją būseną ir pašalinkite dėl dalinės nesėkmės atsiradusius neatitikimus prieš svarstydami naują raktą.
Kampanijos ID nėra galutinė siuntimo sąranka
Atsakyme naudojama HTTP būsena ir tiesioginis JSON. Sėkmingai sukūrę, išsaugokite campaignId ir perskaitykite jo dabartinę būseną:
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Dabartinė portalo gamybinė darbo eiga taip pat bendrina kampaniją su pranešimų operatoriumi ir įkelia prekės ženklą/kampaniją į siuntimo paskyrą. Tai atskiros operacijos nuo šio viešo sukūrimo iškvietimo. Registro kampanija gali egzistuoti, net jei vėlesnis bendrinimo ar operatoriaus įkėlimo veiksmas nepavyksta.
Naudokite integruotą portalo gamybinio sukūrimo darbo eigą, kai reikia sujungtos registravimo, bendrinimo ir operatoriaus įkėlimo sekos. Gamybinei kampanijai, jau tiesiogiai sukurtai per šią API, išsaugokite jos kampanijos ID ir paprašykite suderinti paskyros operatoriaus sąranką per palaikymą. Dabartinė klientų sąsaja neatskleidžia bendro tęsimo mygtuko kiekvienai tiesiogiai sukurtai gamybinei kampanijai. Nekurkite kitos registracijos, kad pakartotumėte jos aktyvavimą. Patvirtinkite, kad kampanija aktyvi ir operatoriaus sąranka užbaigta, prieš siuntimo numerio priskyrimą. Numeris taip pat turi priklausyti jums, būti aktyvus ir palaikyti SMS. Kampanijos sukūrimas nesiunčia pranešimų.
Gamybinių kampanijų mokesčiai
| Naudojimo atvejis | Mėnesinis mokestis |
|---|---|
| LOW_VOLUME, UCAAS_LOW | $1.67 |
| SOLE_PROPRIETOR | $2.23 |
| CHARITY | $3.34 |
| EMERGENCY | $5.56 |
| AGENTS_FRANCHISES | $33.34 |
| Kiti sukonfigūruoti atsarginiai naudojimo atvejai | $11.12 |
Šios mažmeninės sumos buvo patikrintos pagal dabartinę portalo konfigūraciją spalio 24 d., 2026 m. Prieš gamybinį pateikimą patvirtinkite dabartinį kvalifikuotą naudojimo atvejį ir rodomą kainą. monthlyFee registro kvalifikavimo atsakyme nėra automatiškai jūsų MultiTEL mažmeninė kaina.
Dabartinis portalas nurodo trijų mėnesių minimalų įsipareigojimą nepolitinėms gamybinėms kampanijoms. Prieš patvirtindami peržiūrėkite taikomas sąlygas ir atnaujinimo pasirinkimą. Registracija, numerio nuoma, papildomas patikrinimas ir pranešimų naudojimas yra atskiri mokesčiai. Sėkmingas sukūrimo atsakymas pats savaime neįrodo, kad visi atsiskaitymo ar operatoriaus aktyvavimo veiksmai užbaigti.
Tvarkykite patvirtinimo ir dalinius gedimus
Skaitykite HTTP status ir grąžintą JSON. Patvirtinimo gedimai gali būti code/description objektų masyvai; vietiniai gedimai vietoj to gali būti objektai su message, status ir, kai kurioms apdorojimo klaidoms, requestId.
| HTTP rezultatas | Kitas veiksmas |
|---|---|
| 400 | Ištaisykite konkrečius laukus arba idempotentumo raktą. Dar kartą perskaitykite dabartinį kvalifikavimą, reikalaujamą pavyzdžių skaičių ir gavėjų srautų reikalavimus. |
| 401, 403 arba 404 | Patikrinkite API kredencialus ir leidžiamą šaltinio IP, tada prekės ženklo/perpardavėjo nuosavybę ir leidimus. Nenaudokite kitos paskyros identifikatorių. |
| 402 | Peržiūrėkite gamybinį finansavimą ir pirkimo leidimą prieš pakartodami tą patį numatytą sukūrimą. |
| 409 | Atskirkite vykdomą pakartojimą nuo pakeistos užklausos naudojant tą patį raktą. Derindami išsaugokite esamos kampanijos ir užklausos duomenis. |
| 429 arba ribotuvas nepasiekiamas | Kai pateikta, paisykite Retry-After ir išsaugokite pradinį raktą bei tikslią užklausą. |
| 500 arba 502 | Sukūrimas galbūt jau įvyko. Išsaugokite visus campaignId ir requestId, patikrinkite esamą kampaniją ir tęskite arba suderinkite jos aktyvavimą, o ne kurkite dublikatą. |