Programeri

POST/tcr/v2/campaignBuilder

Registrirajte 10DLC kampanju

Pošaljite kvalificiranu kampanju i razlikujte registraciju u registru od aktivacije kod operatera i spremnosti za slanje.

Na ovoj stranici
  1. Kvalificirajte brand prije registracije njegove kampanje
  2. Držite sandbox i produkciju odvojeno
  3. Pošaljite JSON kampanje
  4. Polja kampanje i uvjetni zahtjevi
  5. Sigurno ponovite isti namjeravani zahtjev
  6. ID kampanje nije konačno postavljanje slanja
  7. Naknade za produkcijske kampanje
  8. Obradite validacijske i djelomične neuspjehe

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

10DLC zahtjev za kampanju
PoljaŠto navesti
brandId, channelId, usecaseVaš vlastiti brand, kanal 10DLC i prihvatljivi trenutačni kod slučaja upotrebe. Upotrijebite kodove iz kvalifikacije, a ne prevedene oznake.
subUsecasesNiz prihvatljivih kodova podslučajeva upotrebe. Poštujte minimalni i maksimalni broj odabrane kvalifikacije.
resellerIdDopuš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, messageFlowOpiš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 … sample5Reprezentativne 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, subscriberHelpDeklarirajte 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, helpKeywordsStvarne prepoznate ključne riječi, do 255 znakova. Moraju odgovarati ponašanju aplikacije primatelja.
optinMessage, optoutMessage, helpMessageOdgovarajuće poruke. Trenutačna objavljena pravila polja propisuju 20–1024 znaka. Uključite stvarno ponašanje podrške i odjave.
embeddedLink, embeddedPhone, embeddedLinkSampleIstinito 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.
mnoIdsNeobavezni niz prihvatljivih numeričkih mrežnih ID-ova iz kvalifikacije. Nemojte pretpostavljati da svaka mreža podržava odabrani slučaj upotrebe.
numberPool, ageGated, directLendingPrimjenjive značajke kampanje kao JSON logičke vrijednosti. Odaberite ih prema stvarnoj usluzi.
privacyPolicyLink, termsAndConditionsLinkVaši relevantni javni URL-ovi pravila i uvjeta kada je primjenjivo, do 2048 znaka svaki. Moraju opisivati stvarnu uslugu razmjene poruka.
termsAndConditionsIzričito prihvaćanje primjenjivih uvjeta kampanje. Portal zahtijeva true, a njegov čarobnjak također prikuplja trenutačne pojedinačne potvrde.
autoRenewalObnavlja li se kampanja. Zadana vrijednost je true. Onemogućavanje obnove ne uklanja minimalnu obvezu već povezanu s produkcijskom kampanjom.
referenceId, tagVaš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

Trenutačne konfigurirane mjesečne naknade za kampanje
Slučaj upotrebeMjeseč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.

Neuspjesi kampanje
HTTP rezultatSljedeći korak
400Ispravite određena polja ili ključ idempotencije. Ponovno pročitajte trenutačnu kvalifikaciju, potreban broj uzoraka i zahtjeve tijeka primatelja.
401, 403 ili 404Provjerite API vjerodajnice i dopušteni izvorišni IP, zatim vlasništvo i dopuštenja brenda/preprodavatelja. Nemojte koristiti identifikatore s drugog računa.
402Pregledajte financiranje produkcije i dopuštenje za kupnju prije ponovnog pokušaja istog namjeravanog stvaranja.
409Razlikujte 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č nedostupanPoštujte Retry-After kada je prisutan te zadržite izvorni ključ i točan zahtjev.
500 ili 502Stvaranje se možda već dogodilo. Spremite svaki campaignId i requestId, provjerite postojeću kampanju te nastavite ili uskladite njezinu aktivaciju umjesto stvaranja duplikata.