Kvalificirajte brand prije registracije njegove kampanje
10DLC kampanja opisuje poruke koje registrirano poduzeće namjerava slati, kako primatelji daju privolu te kako mogu dobiti pomoć ili zaustaviti poruke. Ovaj API stvara zapis u registru; dovršetak produkcijske aktivacije kod operatera zaseban je korak postavljanja računa. Upotrijebite vlastiti brand iz registracije brenda, a zatim učitajte njegove dostupne slučajeve upotrebe i za odabrani slučaj upotrebe trenutačne zahtjeve.
Upotrijebite trenutačni rezultat kvalifikacije za odabir podslučajeva upotrebe, prihvatljivih mrežnih ID-ova, uzoraka poruka i izjava o uključivanju/isključivanju/pomoći. Zahtjevi se mogu razlikovati prema brandu i mreži. Nemojte slati identifikatore iz primjera niti kopirati njegov opis privole za poduzeće s drugačijim postupkom.
Držite sandbox i produkciju odvojeno
Za vježbu u sandboxu upotrijebite vlastiti lažni brand i trenutačni slučaj upotrebe za koji je kvalificiran. Upotrijebite TRIAL samo kada ga ta kvalifikacija nudi. Portal provjerava podudaraju li se okruženja odabranog brenda i kampanje. Izravni API zahtjev ne pokreće za vas potpunu validaciju čarobnjaka portala, stoga očuvajte to razdvajanje u svojoj integraciji.
Stvaranje produkcijske kampanje naplaćuje se i ne čini automatski broj spremnim za slanje. Održavajte okruženje kampanje usklađenim s njegovim brendom te pregledajte naknadu i primjenjive uvjete prije stvaranja produkcijske kampanje.
Pošaljite JSON kampanje
Pripremite campaign.json sa svojim kvalificiranim vrijednostima. R000000 znači bez preprodavatelja; upotrijebite ga samo kada je to namjeravana konfiguracija. Za uobičajenu MultiTEL konfiguraciju preprodavatelja pribavite dopušteni MultiTEL LLC identifikator preprodavatelja iz zbirke preprodavatelja svog računa ili iz pripremnog tijeka portala, umjesto da fiksno upisujete tuđi identifikator.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
'https://api.multitel.net/tcr/v2/reseller?companyName=MultiTEL%20LLC&recordsPerPage=500'Sljedeći JSON prikazuje probnu kampanju za vlastiti lažni brand. Zamijenite brand, slučaj upotrebe, preprodavatelja i tekst privole vrijednostima koje se stvarno kvalificiraju za vaš 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"
}Postavite termsAndConditions na true tek nakon što je ovlaštena osoba pregledala i prihvatila primjenjive uvjete. Primjer nije privola u vaše ime. Za zastavice upotrijebite JSON logičke vrijednosti, a ne nizove pod navodnicima.
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'Polja kampanje i uvjetni zahtjevi
| Polja | Što navesti |
|---|---|
| brandId, channelId, usecase | Vaš vlastiti brand, kanal 10DLC i prihvatljivi trenutačni kod slučaja upotrebe. Upotrijebite kodove iz kvalifikacije, a ne prevedene oznake. |
| subUsecases | Niz prihvatljivih kodova podslučajeva upotrebe. Poštujte minimalni i maksimalni broj odabrane kvalifikacije. |
| resellerId | Dopušteni identifikator preprodavatelja. Ruta u vlasništvu računa prihvaća vlastite preprodavatelje, svog konfiguriranog dijeljenog preprodavatelja ili namjernu vrijednost bez preprodavatelja. Nepovezani preprodavatelj odbija se. |
| description, messageFlow | Opišite stvarnu svrhu i način prikupljanja privole. Svaki treba sadržavati 40–4096 znakova. Navedite stvarnu radnju korisnika, obrazac ili postupak; nemojte izmišljati privolu koju vaša aplikacija ne prikuplja. |
| sample1 … sample5 | Reprezentativne poruke, obično 20–1024 znaka svaka. Portal zahtijeva najmanje jednu; prihvatljive mreže mogu zahtijevati više. Navedite broj koji zahtijeva trenutačna kvalifikacija. |
| subscriberOptin, subscriberOptout, subscriberHelp | Deklarirajte podržane tijekove primatelja koristeći točno ove nazive polja. Kada je tijek omogućen, navedite njegova polja ključne riječi i poruke. Mrežni zahtjevi mogu određene tijekove učiniti obaveznima. |
| optinKeywords, optoutKeywords, helpKeywords | Stvarne prepoznate ključne riječi, do 255 znakova. Moraju odgovarati ponašanju aplikacije primatelja. |
| optinMessage, optoutMessage, helpMessage | Odgovarajuće poruke. Trenutačna objavljena pravila polja propisuju 20–1024 znaka. Uključite stvarno ponašanje podrške i odjave. |
| embeddedLink, embeddedPhone, embeddedLinkSample | Istinito deklarirajte ugrađene poveznice ili telefonske brojeve. Čak i mreža koja ispunjava ostale uvjete kvalifikacije može ih zabraniti. Uzorak poveznice dopušta do 255 znakova. |
| mnoIds | Neobavezni niz prihvatljivih numeričkih mrežnih ID-ova iz kvalifikacije. Nemojte pretpostavljati da svaka mreža podržava odabrani slučaj upotrebe. |
| numberPool, ageGated, directLending | Primjenjive značajke kampanje kao JSON logičke vrijednosti. Odaberite ih prema stvarnoj usluzi. |
| privacyPolicyLink, termsAndConditionsLink | Vaši relevantni javni URL-ovi pravila i uvjeta kada je primjenjivo, do 2048 znaka svaki. Moraju opisivati stvarnu uslugu razmjene poruka. |
| termsAndConditions | Izričito prihvaćanje primjenjivih uvjeta kampanje. Portal zahtijeva true, a njegov čarobnjak također prikuplja trenutačne pojedinačne potvrde. |
| autoRenewal | Obnavlja li se kampanja. Zadana vrijednost je true. Onemogućavanje obnove ne uklanja minimalnu obvezu već povezanu s produkcijskom kampanjom. |
| referenceId, tag | Vaša referenca kampanje, do 50 znakova, i neobavezne oznake. referenceId nije zaglavlje Idempotency-Key. |
Objavljena shema sadrži nedosljedno pisanje velikih slova u opisnim tablicama. Trenutačni zahtjev portala koristi subscriberOptin i subscriberOptout kako je gore prikazano. Zadržite točno to pisanje. Ovaj vodič obuhvaća 10DLC tijek za zakupce; nemojte zaključivati da su obavezna polja ili koraci aktivacije drugog kanala isti.
Sigurno ponovite isti namjeravani zahtjev
Upotrijebite jedan Idempotency-Key za ovo namjeravano stvaranje. Ključ ima 1–128 ispisivih ASCII znakova bez razmaka i vezan je za račun vlasnika. Zadržite HTTP metodu, putanju, niz upita i točne bajtove tijela nepromijenjenima pri ponovnom pokušaju. Preformatirana JSON datoteka uzrokuje sukob čak i ako su joj vrijednosti jednake.
Duplikat u tijeku može vratiti HTTP 409 s Retry-After; dovršeni zahtjevi mogu ponoviti svoj pohranjeni odgovor. Predmemorirana pogreška ne dokazuje da registar nije ništa stvorio. Spremite campaignId, requestId i sva korelacijska zaglavlja, pregledajte postojeću kampanju i provjerite stvarno stanje i razriješite nepodudarnosti nastale djelomičnim neuspjehom prije razmatranja novog ključa.
ID kampanje nije konačno postavljanje slanja
Odgovor koristi HTTP status i izravni JSON. Nakon uspješnog stvaranja sačuvajte campaignId i pročitajte njegovo trenutačno stanje:
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Trenutačni produkcijski tijek portala također dijeli kampanju s operaterom za razmjenu poruka te učitava brand/kampanju u račun za slanje. To su zasebne operacije od ovog javnog poziva za stvaranje. Kampanja u registru može postojati čak i ako kasniji korak dijeljenja ili učitavanja kod operatera ne uspije.
Upotrijebite integrirani produkcijski tijek stvaranja portala kada vam je potreban kombinirani slijed registracije, dijeljenja i učitavanja kod operatera. Za produkcijsku kampanju koju je ovaj API već izravno stvorio zadržite njezin ID kampanje i dajte uskladiti postavljanje operatera računa putem podrške. Trenutačno korisničko sučelje ne nudi opći gumb za nastavak za svaku izravno stvorenu produkcijsku kampanju. Nemojte stvarati drugu registraciju za ponovni pokušaj njezine aktivacije. Potvrdite da je kampanja aktivna i da je postavljanje operatera dovršeno prije dodjele broja za slanje. Broj također mora biti u vlasništvu, aktivan i omogućen za SMS. Stvaranje kampanje ne šalje poruke.
Naknade za produkcijske kampanje
| Slučaj upotrebe | Mjesečna naknada |
|---|---|
| LOW_VOLUME, UCAAS_LOW | $1.67 |
| SOLE_PROPRIETOR | $2.23 |
| CHARITY | $3.34 |
| EMERGENCY | $5.56 |
| AGENTS_FRANCHISES | $33.34 |
| Ostali konfigurirani rezervni slučajevi upotrebe | $11.12 |
Ovi maloprodajni iznosi provjereni su prema trenutačnoj konfiguraciji portala na dan 24. listopada 2026. Potvrdite trenutačni kvalificirani slučaj upotrebe i prikazanu cijenu prije produkcijskog podnošenja. monthlyFee u odgovoru kvalifikacije registra nije automatski vaša MultiTEL maloprodajna cijena.
Trenutačni portal navodi tromjesečnu minimalnu obvezu za nepolitičke produkcijske kampanje. Pregledajte primjenjive uvjete i odabir obnove prije potvrde. Registracija, najam broja, dodatna provjera i korištenje poruka zasebne su naplate. Uspješan odgovor o stvaranju sam po sebi ne dokazuje da su dovršeni svi koraci naplate ili aktivacije kod operatera.
Obradite validacijske i djelomične neuspjehe
Pročitajte HTTP status i vraćeni JSON. Validacijski neuspjesi mogu biti nizovi objekata code/description; lokalni neuspjesi umjesto toga mogu biti objekti s message, status i, za neke pogreške obrade, requestId.
| HTTP rezultat | Sljedeći korak |
|---|---|
| 400 | Ispravite određena polja ili ključ idempotencije. Ponovno pročitajte trenutačnu kvalifikaciju, potreban broj uzoraka i zahtjeve tijeka primatelja. |
| 401, 403 ili 404 | Provjerite API vjerodajnice i dopušteni izvorišni IP, zatim vlasništvo i dopuštenja brenda/preprodavatelja. Nemojte koristiti identifikatore s drugog računa. |
| 402 | Pregledajte financiranje produkcije i dopuštenje za kupnju prije ponovnog pokušaja istog namjeravanog stvaranja. |
| 409 | Razlikujte ponavljanje u tijeku od izmijenjenog zahtjeva koji koristi isti ključ. Zadržite postojeću kampanju i pojedinosti zahtjeva pri usklađivanju. |
| 429 ili ograničivač nedostupan | Poštujte Retry-After kada je prisutan te zadržite izvorni ključ i točan zahtjev. |
| 500 ili 502 | Stvaranje se možda već dogodilo. Spremite svaki campaignId i requestId, provjerite postojeću kampanju te nastavite ili uskladite njezinu aktivaciju umjesto stvaranja duplikata. |