Programeri

PUT/tcr/v2/campaign/{campaignId}

Ažuriranje kampanje za slanje poruka

Izmijenite sadržaj kampanje, provjerite spremljeni rezultat te izričito navedite zahtjeve za pregled i odluke o obnovi.

Na ovoj stranici
  1. Ispravite kampanju bez stvaranja nove registracije
  2. Odaberite polja koja su se doista promijenila
  3. Pošaljite ciljani ispravak
  4. Ponovno dohvatite kampanju
  5. Postupanje s ograničenjima i neizvjesnim rezultatima

Ispravite kampanju bez stvaranja nove registracije

Ovom rutom izmijenite opis postojeće kampanje, primjere poruka, objašnjenje privole ili podržane značajke sadržaja. Zadržite ID kampanje i njezinu trenutačnu robnu marku i slučaj uporabe. Nova registracija nije način ponovnog pokušaja ispravka postojeće kampanje.

Autentificirajte se omogućenim računom za API putem protokola HTTPS s dopuštene izvorne IP adrese. Dostupna je samo kampanja koja pripada tom računu. Dohvatite njezino trenutačno stanje prije pripreme izmjena; kampanje koje su istekle ne mogu se ažurirati ovim postupkom.

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

Odaberite polja koja su se doista promijenila

Pripremite datoteku campaign-update.json koja sadržava podržane izmjene. Trenutačni portal šalje samo izmijenjena polja kampanje i ne šalje brandId, usecase, campaignId ni informacije o statusu koje se pojavljuju samo u odgovoru. Izravna ažuriranja putem sučelja API također upotrebljavaju objekt s poljima u formatu JSON, a ne omotnicu changes/version koju upotrebljava portal.

Polja za ažuriranje kampanje
PoljaŠto navesti
description, messageFlowTočan opis usluge te načina na koji osobe daju privolu, primaju poruke i povlače privolu. Svako polje dopušta 40–4096 znakova.
sample1–sample5Realistični primjeri za ovu kampanju, s 20–1024 znaka po primjeru koji nije prazan. Zadržite broj primjera koji zahtijeva kvalificirani slučaj uporabe; nemojte slati nepovezane poruke.
helpMessage, optinMessage, optoutMessagePrimjenjivi odgovori namijenjeni primateljima, do 1024 znaka. Kada je obvezno, poštujte najmanju duljinu od 20 znakova i objasnite stvarnu uslugu. Pregledajte trenutačne zahtjeve za privolu prije pražnjenja polja.
optinKeywords, optoutKeywords, helpKeywordsKljučne riječi odvojene zarezima, bez razmaka, do 255 znakova. Uskladite odgovore sa stvarnom obradom ključnih riječi.
privacyPolicyLink, termsAndConditionsLinkRelevantne javne URL adrese, do 2048 znakova, koje opisuju stvarne postupke ove usluge.
embeddedLinkSampleReprezentativna poveznica koju će poruke sadržavati, do 255 znakova.
numberPool, embeddedLink, embeddedPhone, ageGated, directLendingStvarne značajke kampanje kao logičke vrijednosti u formatu JSON. Pri isključivanju neke značajke upotrijebite false, a ne niz znakova "false".
autoRenewalJavna shema sučelja API podržava ovu logičku vrijednost u formatu JSON, iako je uobičajeni uređivač sadržaja kampanje na portalu ne prikazuje. Isključivanje obnove ne ukida postojeću minimalnu obvezu niti briše već dospjela dugovanja.
resellerIdShema također omogućuje povezivanje s preprodavačem. To nije dio uobičajenog obrasca za ispravak sadržaja na portalu. Nemojte upotrebljavati ovo polje za premještanje kampanje između korisnika niti pretpostavljati da će API konfigurirati uslugu operatera za drugog preprodavača.

Shema za ažuriranje ne nudi brandId, usecase, subscriberOptin, subscriberOptout ni subscriberHelp kao promjenjiva polja. Nemojte kopirati cjelokupan sadržaj zahtjeva za stvaranje kampanje u ažuriranje. Pogledajte trenutačnu kvalifikaciju pri pregledu zahtjeva za poruke.

Pošaljite ciljani ispravak

Ovaj primjer ilustrira uslugu podsjetnika na termine. Prije uporabe prilagodite ga stvarnoj usluzi kampanje i postupku davanja privole.

{
  "description": "Appointment reminders requested by customers of the registered business.",
  "sample1": "Example business: Your requested appointment reminder is ready. Reply STOP to opt out."
}
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
  --request PUT \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --data-binary @campaign-update.json \
  "https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"

Za isto namjeravano slanje zadržite isti ključ te potpuno istu metodu, putanju, upit i bajtove tijela zahtjeva. Izmijenjeni sadržaj zahtijeva zasebno pregledan zahtjev; nemojte naslijepo mijenjati ključeve nakon isteka vremena čekanja. Dovršeni zahtjev može ponovno vratiti pogrešku iz predmemorije, a duplikat zahtjeva koji se obrađuje može vratiti 409 uz Retry-After.

Ponovno dohvatite kampanju

HTTP 200 vraća kampanju izravno kao objekt u formatu JSON. Provjerite campaignId, zatim dohvatite istu kampanju metodom GET i usporedite predviđena polja. Uspješno spremanje samo po sebi ne traži novi pregled operatera, ne mijenja dodjele brojeva, ne aktivira slanje niti šalje poruku.

Portal provjerava verziju obrasca prije spremanja, a nakon toga ponovno dohvaća kampanju. Javna krajnja točka PUT ne provodi provjeru te verzije portala: uskladite istodobna uređivanja. Ključ idempotentnosti ne otkriva ažuriranje drugog uređivača.

Ako portal prikazuje neriješeno odbijanje nakon pregleda, prvo ispravite sadržaj, a zatim upotrijebite zasebnu radnju za traženje pregleda kada je dostupna. Ta radnja provjerava trenutačnu kampanju u produkciji i stanje dijeljenja. Samo spremanje sadržaja ne pokreće tu radnju, a postojanje ID-ja kampanje ne dokazuje odobrenje.

Uobičajena ažuriranja kampanje metodom PUT u trenutačnoj usluzi ne pokreću zasebno terećenje za registraciju kampanje. Postojeće mjesečne naknade, minimalne obveze, najam brojeva i potrošnja poruka i dalje se primjenjuju. Za trenutačno konfigurirane cijene kampanje pogledajte naknade za kampanje.

Postupanje s ograničenjima i neizvjesnim rezultatima

Za HTTP 400 pročitajte pogrešku pojedinog polja te provjerite duljine, tekst privole i stanje kampanje. Za 401, 403 ili 404 provjerite vjerodajnice za API, dopuštenu izvornu IP adresu i vlasništvo. Za 429 poštujte Retry-After. Za 500, 502 ili prekinuti zahtjev sačuvajte ID kampanje i eventualni requestId, a zatim provjerite i uskladite postojeći zapis prije ponovnog slanja.

Lokalna snimka stanja ovisi o vraćenom tijelu odgovora. Djelomičan odgovor koji nije prazan može izostaviti starija polja, uključujući metapodatke o obnovi; prazan odgovor može zadržati zastarjele vrijednosti. Provjerite cjelokupan rezultat metode GET umjesto da sam uspjeh smatrate dokazom da je svako polje sačuvano. Prijavite neriješene razlike podršci. Ova ruta ne ažurira dodjele operatera atomarno niti pruža opću radnju za oporavak aktivacije kod operatera.