Utvecklare

PUT/tcr/v2/campaign/{campaignId}

Uppdatera en meddelandekampanj

Ändra kampanjens innehåll, kontrollera det sparade resultatet och hantera begäranden om granskning och beslut om förnyelse uttryckligen.

På denna sida
  1. Korrigera en kampanj utan att skapa en ny registrering
  2. Välj de fält som faktiskt har ändrats
  3. Skicka en avgränsad korrigering
  4. Läs kampanjen på nytt
  5. Hantera begränsningar och osäkra resultat

Korrigera en kampanj utan att skapa en ny registrering

Använd den här sökvägen för att ändra en befintlig kampanjs beskrivning, meddelandeexempel, förklaring av samtycke eller innehållsegenskaper som stöds. Behåll kampanjens ID och dess nuvarande varumärke och användningsfall. En ny registrering ska inte användas för att försöka korrigera en befintlig kampanj på nytt.

Autentisera med ett aktiverat API-konto via HTTPS från en tillåten käll-IP-adress. Endast en kampanj som tillhör det kontot är tillgänglig. Läs dess aktuella tillstånd innan du förbereder ändringar; utgångna kampanjer kan inte uppdateras genom det här arbetsflödet.

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

Välj de fält som faktiskt har ändrats

Förbered campaign-update.json med de ändringar som stöds. Den nuvarande portalen skickar endast ändrade kampanjfält och skickar inte brandId, usecase, campaignId eller statusinformation som endast förekommer i svar. Direkta API-uppdateringar använder också ett JSON-objekt med fält, inte portalens omslutande changes/version-struktur.

Fält för kampanjuppdatering
FältVad du ska ange
description, messageFlowEn korrekt beskrivning av tjänsten och hur personer lämnar samtycke, tar emot meddelanden och återkallar samtycke. Varje fält tillåter 40–4096 tecken.
sample1–sample5Realistiska exempel för den här kampanjen, med 20–1024 tecken per exempel som inte är tomt. Behåll det antal exempel som krävs för användningsfallet enligt den aktuella kvalificeringen; skicka inte orelaterade meddelanden.
helpMessage, optinMessage, optoutMessageTillämpliga svar som visas för mottagaren, med högst 1024 tecken. Uppfyll minimikravet på 20 tecken när det krävs och förklara den faktiska tjänsten. Granska de aktuella samtyckeskraven innan du tömmer ett fält.
optinKeywords, optoutKeywords, helpKeywordsKommaseparerade nyckelord utan blanksteg, med högst 255 tecken. Se till att svaren och den faktiska hanteringen av nyckelord stämmer överens.
privacyPolicyLink, termsAndConditionsLinkRelevanta offentliga webbadresser, med högst 2048 tecken, som beskriver hur den här tjänsten faktiskt fungerar.
embeddedLinkSampleEn representativ länk som meddelandena kommer att innehålla, med högst 255 tecken.
numberPool, embeddedLink, embeddedPhone, ageGated, directLendingKampanjens faktiska egenskaper som booleska JSON-värden. Använd false, inte strängen "false", när du inaktiverar en egenskap.
autoRenewalDet offentliga API-schemat stöder detta booleska JSON-värde, även om det inte visas i portalens vanliga redigerare för kampanjinnehåll. Att inaktivera förnyelse upphäver inte ett befintligt minimiåtagande och tar inte bort avgifter som redan ska betalas.
resellerIdSchemat erbjuder även koppling till en återförsäljare. Detta ingår inte i portalens vanliga formulär för innehållskorrigering. Använd inte det här fältet för att flytta en kampanj mellan kunder och förutsätt inte att API:et konfigurerar operatörstjänsten för en annan återförsäljare.

Uppdateringsschemat erbjuder inte brandId, usecase, subscriberOptin, subscriberOptout eller subscriberHelp som ändringsbara fält. Kopiera inte hela nyttolasten för att skapa en kampanj till en uppdatering. Se aktuell kvalificering när du granskar meddelandekraven.

Skicka en avgränsad korrigering

Det här exemplet illustrerar en tjänst för påminnelser om bokade tider. Anpassa det till kampanjens faktiska tjänst och samtyckesflöde innan du använder det.

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

Behåll samma nyckel och exakt samma metod, sökväg, frågeparametrar och byte i meddelandekroppen för samma avsedda inskickning. Ändrat innehåll kräver en separat granskad begäran; byt inte nycklar blint efter en timeout. En slutförd begäran kan återge ett cachelagrat fel, och en dubblett av en begäran som håller på att behandlas kan returnera 409 med Retry-After.

Läs kampanjen på nytt

HTTP 200 returnerar kampanjen direkt som ett JSON-objekt. Kontrollera campaignId, hämta sedan samma kampanj med GET och jämför de avsedda fälten. En lyckad sparning begär inte i sig en ny operatörsgranskning, ändrar inte nummertilldelningar, aktiverar inte sändning och skickar inget meddelande.

Portalen kontrollerar formulärets version före sparning och läser kampanjen på nytt efteråt. Den offentliga PUT-ändpunkten upprätthåller inte den versionskontrollen från portalen: samordna samtidiga redigeringar. En idempotensnyckel upptäcker inte en annan redigerares uppdatering.

Om portalen visar ett avslag från granskningen som ännu inte har åtgärdats ska du först korrigera innehållet och sedan använda den separata åtgärden för att begära granskning när den är tillgänglig. Den åtgärden kontrollerar den aktuella kampanjen i produktionsmiljön och dess delningsstatus. Att enbart spara innehållet anropar inte åtgärden, och ett kampanj-ID innebär inte att kampanjen är godkänd.

Vanliga PUT-uppdateringar av kampanjer utlöser ingen separat debitering för kampanjregistrering i den nuvarande tjänsten. Befintliga månadsavgifter, minimiåtaganden, nummerhyra och avgifter för meddelandeanvändning gäller fortfarande. För de kampanjpriser som för närvarande är konfigurerade, se kampanjavgifter.

Hantera begränsningar och osäkra resultat

Vid HTTP 400 ska du läsa felet för det aktuella fältet och kontrollera längder, samtyckestext och kampanjens tillstånd. Vid 401, 403 eller 404 ska du kontrollera API-inloggningsuppgifter, tillåten käll-IP-adress och ägarskap. Vid 429 ska du följa Retry-After. Vid 500, 502 eller en avbruten begäran ska du behålla kampanjens ID och eventuellt requestId och sedan stämma av den befintliga posten innan du skickar igen.

Den lokala ögonblicksbilden beror på den returnerade svarskroppen. Ett partiellt svar som inte är tomt kan utelämna äldre fält, inklusive metadata om förnyelse; ett tomt svar kan lämna kvar inaktuella värden. Kontrollera hela GET-resultatet i stället för att enbart se ett lyckat anrop som bevis på att alla fält har bevarats. Rapportera olösta skillnader till supporten. Den här sökvägen uppdaterar inte operatörstilldelningar atomärt och erbjuder inte någon generell åtgärd för att återställa operatörsaktivering.