Kūrėjams

PUT/tcr/v2/campaign/{campaignId}

Pranešimų kampanijos atnaujinimas

Pataisykite kampanijos turinį, patikrinkite išsaugotą rezultatą ir aiškiai atskirkite peržiūros prašymus bei sprendimus dėl pratęsimo.

Šiame puslapyje
  1. Pataisykite kampaniją nekurdami naujos registracijos
  2. Pasirinkite tik iš tikrųjų pasikeitusius laukus
  3. Pateikite konkretų pataisymą
  4. Dar kartą nuskaitykite kampaniją
  5. Kaip elgtis susidūrus su apribojimais ir neaiškiais rezultatais

Pataisykite kampaniją nekurdami naujos registracijos

Šį maršrutą naudokite esamos kampanijos aprašui, pranešimų pavyzdžiams, sutikimo paaiškinimui arba palaikomoms turinio savybėms keisti. Išsaugokite kampanijos identifikatorių ir dabartinį jos prekės ženklą bei naudojimo atvejį. Nauja registracija nėra būdas pakartotinai bandyti pataisyti esamą kampaniją.

Autentifikuokitės naudodami įgalintą API paskyrą per HTTPS iš leidžiamo šaltinio IP adreso. Pasiekiama tik tai paskyrai priklausanti kampanija. Prieš rengdami pakeitimus nuskaitykite dabartinę jos būseną; pasibaigusio galiojimo kampanijų šiuo būdu atnaujinti negalima.

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

Pasirinkite tik iš tikrųjų pasikeitusius laukus

Paruoškite failą campaign-update.json su palaikomais pakeitimais. Dabartinis portalas siunčia tik pakeistus kampanijos laukus ir nesiunčia brandId, usecase, campaignId ar tik atsakyme pateikiamos būsenos informacijos. Tiesioginiams API atnaujinimams taip pat naudojamas laukų JSON objektas, o ne portalo changes/version apvalkalas.

Kampanijos atnaujinimo laukai
LaukaiKą pateikti
description, messageFlowTikslų paslaugos aprašą ir paaiškinimą, kaip žmonės duoda sutikimą, gauna pranešimus ir atšaukia sutikimą. Kiekviename lauke leidžiama 40–4096 ženklų.
sample1–sample5Tikroviškus šios kampanijos pavyzdžius; kiekviename netuščiame pavyzdyje turi būti 20–1024 ženklų. Išlaikykite pagal kvalifikuotą naudojimo atvejį reikalaujamą pavyzdžių skaičių; nesiųskite nesusijusių pranešimų.
helpMessage, optinMessage, optoutMessageTaikytinus gavėjams skirtus atsakymus, ne ilgesnius kaip 1024 ženklų. Kai reikalaujama, laikykitės 20 ženklų minimumo ir paaiškinkite faktiškai teikiamą paslaugą. Prieš ištuštindami lauką peržiūrėkite dabartinius sutikimo reikalavimus.
optinKeywords, optoutKeywords, helpKeywordsKableliais atskirtus raktažodžius be tarpų, ne daugiau kaip 255 ženklų. Užtikrinkite, kad atsakymai atitiktų faktinį raktažodžių apdorojimą.
privacyPolicyLink, termsAndConditionsLinkTinkamus viešus URL adresus, ne ilgesnius kaip 2048 ženklų, kuriuose aprašoma tikroji šios paslaugos praktika.
embeddedLinkSampleTipinę nuorodą, kuri bus įtraukiama į pranešimus, ne ilgesnę kaip 255 ženklų.
numberPool, embeddedLink, embeddedPhone, ageGated, directLendingFaktines kampanijos savybes kaip JSON logines reikšmes. Išjungdami savybę naudokite false, o ne eilutę "false".
autoRenewalViešoji API schema palaiko šią JSON loginę reikšmę, nors įprastoje portalo kampanijos turinio rengyklėje ji neprieinama. Išjungus pratęsimą esamas minimalus įsipareigojimas neatšaukiamas, o jau mokėtini mokesčiai nepanaikinami.
resellerIdSchema taip pat leidžia susieti kampaniją su perpardavėju. Ši galimybė neprieinama įprastoje portalo turinio taisymo formoje. Nenaudokite šio lauko kampanijai perkelti iš vieno kliento kitam ir nemanykite, kad API sukonfigūruos ryšio operatoriaus paslaugą kitam perpardavėjui.

Atnaujinimo schemoje brandId, usecase, subscriberOptin, subscriberOptout ir subscriberHelp nėra keičiami laukai. Nekopijuokite visų kampanijos kūrimo užklausos duomenų į atnaujinimo užklausą. Žr. dabartinį kvalifikavimo rezultatą peržiūrėdami pranešimų reikalavimus.

Pateikite konkretų pataisymą

Šiame pavyzdyje aprašoma iliustracinė priminimų apie susitikimus paslauga. Prieš naudodami pritaikykite jį prie faktinės kampanijos paslaugos ir sutikimo gavimo proceso.

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

Tam pačiam numatytam pateikimui išlaikykite tą patį raktą ir visiškai tokius pačius metodo, kelio, užklausos parametrų bei turinio baitus. Pakeistam turiniui reikia atskirai peržiūrėtos užklausos; pasibaigus laukimo laikui nekeiskite raktų aklai. Užbaigta užklausa gali pakartotinai grąžinti podėlyje išsaugotą klaidą, o dar apdorojamos užklausos dublikatas gali grąžinti 409 su Retry-After.

Dar kartą nuskaitykite kampaniją

HTTP 200 atsakyme tiesiogiai grąžinamas kampanijos JSON objektas. Patikrinkite campaignId, tada nuskaitykite tą pačią kampaniją naudodami GET ir palyginkite numatytus laukus. Sėkmingas išsaugojimas savaime nepateikia prašymo ryšio operatoriui atlikti dar vieną peržiūrą, nekeičia numerių priskyrimų, neaktyvina siuntimo ir neišsiunčia pranešimo.

Prieš išsaugodamas portalas patikrina formos versiją, o išsaugojęs dar kartą nuskaito kampaniją. Viešasis PUT galinis taškas netikrina atitikties tai portalo versijai: derinkite vienu metu atliekamus pakeitimus. Idempotentiškumo raktas neaptinka kito redaktoriaus atlikto atnaujinimo.

Jei portalas rodo neišspręstą peržiūros atmetimą, pirmiausia pataisykite turinį, tada, jei prieinama, naudokite atskirą prašymo atlikti peržiūrą veiksmą. Šis veiksmas patikrina dabartinę kampaniją darbinėje aplinkoje ir bendrinimo būseną. Vien turinio išsaugojimas jo nepaleidžia, o kampanijos identifikatoriaus buvimas nepatvirtina, kad kampanija patvirtinta.

Įprasti kampanijos atnaujinimai naudojant PUT dabartinėje paslaugoje nesukelia atskiro mokesčio už kampanijos registraciją nurašymo. Esami mėnesiniai mokesčiai, minimalūs įsipareigojimai, numerių nuomos ir pranešimų naudojimo mokesčiai tebegalioja. Šiuo metu sukonfigūruotus kampanijų tarifus žr. skiltyje kampanijų mokesčiai.

Kaip elgtis susidūrus su apribojimais ir neaiškiais rezultatais

Gavę HTTP 400, perskaitykite lauko klaidą ir patikrinkite ilgius, sutikimo tekstą bei kampanijos būseną. Gavę 401, 403 arba 404, patikrinkite API prisijungimo duomenis, leidžiamą šaltinio IP adresą ir priklausymą paskyrai. Gavę 429, laikykitės Retry-After nurodymo. Gavę 500, 502 arba nutrūkus užklausai, išsaugokite kampanijos identifikatorių ir bet kokį requestId, tada prieš pateikdami dar kartą patikrinkite ir suderinkite esamą įrašą.

Vietinė momentinė kopija priklauso nuo grąžinto atsakymo turinio. Netuščiame daliniame atsakyme gali nebūti ankstesnių laukų, įskaitant pratęsimo metaduomenis; dėl tuščio atsakymo gali likti pasenusios reikšmės. Patikrinkite visą GET rezultatą, užuot vien sėkmę laikę įrodymu, kad visi laukai išsaugoti. Apie neišspręstus neatitikimus praneškite pagalbos tarnybai. Šis maršrutas neatnaujina ryšio operatorių priskyrimų atomine operacija ir nesuteikia bendro atkūrimo veiksmo ryšio operatoriaus paslaugos aktyvinimo problemoms spręsti.