Rett en kampanje uten å opprette en ny registrering
Bruk denne ruten til å endre beskrivelsen, meldingseksemplene, forklaringen av samtykke eller de støttede innholdsegenskapene for en eksisterende kampanje. Behold kampanjens ID og dens nåværende merkevare og bruksområde. En ny registrering er ikke mekanismen for å prøve på nytt når en eksisterende kampanje skal rettes.
Autentiser med en aktivert API-konto over HTTPS fra en tillatt kilde-IP-adresse. Bare en kampanje som tilhører den kontoen, er tilgjengelig. Hent gjeldende tilstand før du forbereder endringer; utløpte kampanjer kan ikke oppdateres gjennom denne arbeidsflyten.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Velg feltene som faktisk er endret
Klargjør campaign-update.json med de støttede endringene. Den nåværende portalen sender bare endrede kampanjefelt og sender ikke brandId, usecase, campaignId eller statusinformasjon som bare hører til i svar. Direkte oppdateringer via API bruker også et JSON-objekt med felt, ikke portalens changes/version-omslag.
| Felt | Hva du skal oppgi |
|---|---|
| description, messageFlow | En nøyaktig beskrivelse av tjenesten og hvordan personer gir samtykke, mottar meldinger og trekker tilbake samtykke. Hvert felt tillater 40–4096 tegn. |
| sample1–sample5 | Realistiske eksempler for denne kampanjen, 20–1024 tegn per eksempel som ikke er tomt. Behold antallet eksempler som kreves av det kvalifiserte bruksområdet; ikke send meldinger som ikke er relevante. |
| helpMessage, optinMessage, optoutMessage | Relevante svar til mottakerne, opptil 1024 tegn. Oppfyll minstekravet på 20 tegn når det gjelder, og forklar den faktiske tjenesten. Gå gjennom gjeldende samtykkekrav før du tømmer et felt. |
| optinKeywords, optoutKeywords, helpKeywords | Kommaatskilte nøkkelord uten mellomrom, opptil 255 tegn. Sørg for at svarene og den faktiske håndteringen av nøkkelord samsvarer. |
| privacyPolicyLink, termsAndConditionsLink | Relevante offentlige nettadresser, opptil 2048 tegn, som beskriver hvordan denne tjenesten faktisk drives. |
| embeddedLinkSample | En representativ lenke som meldingene vil inneholde, opptil 255 tegn. |
| numberPool, embeddedLink, embeddedPhone, ageGated, directLending | Faktiske kampanjeegenskaper som boolske verdier i JSON. Bruk false, ikke strengen "false", når du deaktiverer en av dem. |
| autoRenewal | Det offentlige API-skjemaet støtter denne boolske JSON-verdien, selv om den ikke er tilgjengelig i portalens vanlige redigering av kampanjeinnhold. Deaktivering av fornyelse opphever ikke en eksisterende minsteforpliktelse og fjerner ikke allerede forfalte kostnader. |
| resellerId | Skjemaet tilbyr også tilknytning til en forhandler. Dette ligger utenfor portalens vanlige skjema for retting av innhold. Ikke bruk dette feltet til å flytte en kampanje mellom kunder, og ikke anta at API konfigurerer operatørtjenesten for en annen forhandler. |
Oppdateringsskjemaet tilbyr ikke brandId, usecase, subscriberOptin, subscriberOptout eller subscriberHelp som felt som kan endres. Ikke kopier hele forespørselsinnholdet for oppretting av en kampanje inn i en oppdatering. Se gjeldende kvalifisering når du går gjennom kravene til meldinger.
Send inn en målrettet rettelse
Dette eksemplet beskriver en tenkt tjeneste for påminnelser om avtaler. Tilpass det til kampanjens faktiske tjeneste og samtykkeflyt før du bruker 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"Behold samme nøkkel og nøyaktig samme metode, sti, spørring og byte i forespørselskroppen for den samme tiltenkte innsendingen. Endret innhold krever en separat gjennomgått forespørsel; ikke bytt nøkler i blinde etter et tidsavbrudd. En fullført forespørsel kan returnere en mellomlagret feil på nytt, og en duplikatforespørsel under behandling kan returnere 409 med Retry-After.
Hent kampanjen på nytt
HTTP 200 returnerer kampanjen direkte som et JSON-objekt. Kontroller campaignId, hent deretter samme kampanje med GET og sammenlign de tiltenkte feltene. En vellykket lagring ber ikke i seg selv om en ny operatørvurdering, endrer ikke nummertildelinger, aktiverer ikke sending og sender ingen melding.
Portalen kontrollerer skjemaversjonen før lagring og henter kampanjen på nytt etterpå. Det offentlige PUT-endepunktet håndhever ikke denne portalversjonen: koordiner samtidige endringer. En idempotensnøkkel oppdager ikke en oppdatering utført av en annen som redigerer.
Hvis portalen viser et uavklart avslag etter vurdering, må du først rette innholdet og deretter bruke den separate handlingen for å be om vurdering når den er tilgjengelig. Denne handlingen kontrollerer den gjeldende kampanjen i produksjon og delingstilstanden. Lagring av innhold alene utløser ikke handlingen, og det at en kampanje-ID finnes, betyr ikke at kampanjen er godkjent.
Vanlige kampanjeoppdateringer med PUT utløser ikke en separat belastning for kampanjeregistrering i den nåværende tjenesten. Eksisterende månedsavgifter, minsteforpliktelser, nummerleie og kostnader for meldingsbruk gjelder fortsatt. Gjeldende konfigurerte kampanjesatser finner du under kampanjeavgifter.
Håndter begrensninger og usikre resultater
Ved HTTP 400 må du lese feilen for det enkelte feltet og kontrollere lengder, samtykketekst og kampanjens tilstand. Ved 401, 403 eller 404 må du kontrollere API-legitimasjon, tillatt kilde-IP og eierskap. Ved 429 må du følge Retry-After. Ved 500, 502 eller en avbrutt forespørsel må du beholde kampanjens ID og eventuell requestId, og deretter kontrollere og avstemme den eksisterende oppføringen før en ny innsending.
Det lokale øyeblikksbildet avhenger av den returnerte svarkroppen. Et delvis svar som ikke er tomt, kan utelate eldre felt, inkludert metadata om fornyelse; et tomt svar kan beholde utdaterte verdier. Kontroller hele GET-resultatet i stedet for å ta et vellykket svar alene som bevis på at alle felt er bevart. Meld fra til brukerstøtte om forskjeller som ikke er avklart. Denne ruten oppdaterer ikke operatørtilordninger atomisk og tilbyr ingen generell gjenopprettingshandling for operatøraktivering.