Corrigeer een campagne zonder een nieuwe registratie aan te maken
Gebruik deze route om de beschrijving, berichtvoorbeelden, toelichting op toestemming of ondersteunde inhoudskenmerken van een bestaande campagne aan te passen. Behoud de campagne-ID en het huidige merk en gebruiksscenario. Een nieuwe registratie is geen manier om een correctie van een bestaande campagne opnieuw te proberen.
Authenticeer met een ingeschakeld API-account via HTTPS vanaf een toegestaan bron-IP-adres. Alleen een campagne die bij dat account hoort, is beschikbaar. Haal de huidige status op voordat u wijzigingen voorbereidt; verlopen campagnes kunnen niet via deze werkwijze worden bijgewerkt.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Kies de velden die daadwerkelijk zijn gewijzigd
Bereid campaign-update.json voor met de ondersteunde wijzigingen. Het huidige portaal verstuurt alleen gewijzigde campagnevelden en verstuurt geen brandId, usecase, campaignId of statusinformatie die uitsluitend in antwoorden voorkomt. Rechtstreekse updates via de API gebruiken eveneens een JSON-object met velden, niet de changes/version-omhulling van het portaal.
| Velden | Wat u moet opgeven |
|---|---|
| description, messageFlow | Een nauwkeurige beschrijving van de dienst en van hoe mensen toestemming geven, berichten ontvangen en hun toestemming intrekken. Elk veld staat 40–4096 tekens toe. |
| sample1–sample5 | Realistische voorbeelden voor deze campagne, met 20–1024 tekens per niet-leeg voorbeeld. Behoud het aantal voorbeelden dat voor het gekwalificeerde gebruiksscenario vereist is; verstuur geen berichten die daar niet bij horen. |
| helpMessage, optinMessage, optoutMessage | Toepasselijke antwoorden voor ontvangers, van maximaal 1024 tekens. Houd waar vereist het minimum van 20 tekens aan en leg de daadwerkelijke dienst uit. Bekijk de huidige toestemmingsvereisten voordat u een veld leegmaakt. |
| optinKeywords, optoutKeywords, helpKeywords | Door komma’s gescheiden trefwoorden zonder spaties, van maximaal 255 tekens. Zorg dat de antwoorden aansluiten op de daadwerkelijke verwerking van trefwoorden. |
| privacyPolicyLink, termsAndConditionsLink | Relevante openbare URL’s, van maximaal 2048 tekens, die de daadwerkelijke werkwijze van deze dienst beschrijven. |
| embeddedLinkSample | Een representatieve link die in de berichten zal staan, van maximaal 255 tekens. |
| numberPool, embeddedLink, embeddedPhone, ageGated, directLending | Daadwerkelijke campagnekenmerken als booleaanse JSON-waarden. Gebruik false, niet de tekenreeks "false", om een kenmerk uit te schakelen. |
| autoRenewal | Het openbare API-schema ondersteunt deze booleaanse JSON-waarde, hoewel de gewone editor voor campagne-inhoud in het portaal deze niet aanbiedt. Het uitschakelen van verlenging beëindigt geen bestaande minimumverplichting en laat reeds verschuldigde kosten niet vervallen. |
| resellerId | Het schema biedt ook een koppeling aan een wederverkoper. Dit valt buiten het gewone formulier voor inhoudscorrecties in het portaal. Gebruik dit veld niet om een campagne tussen klanten te verplaatsen en ga er niet van uit dat de API dienstverlening door een telecomaanbieder voor een andere wederverkoper zal configureren. |
Het updateschema biedt brandId, usecase, subscriberOptin, subscriberOptout of subscriberHelp niet als wijzigbare velden aan. Kopieer niet de volledige aanvraaginhoud voor het aanmaken van een campagne naar een update. Raadpleeg de huidige kwalificatie wanneer u de berichtvereisten bekijkt.
Dien een gerichte correctie in
Dit voorbeeld beschrijft ter illustratie een dienst voor afspraakherinneringen. Pas het vóór gebruik aan de daadwerkelijke dienst en het toestemmingsproces van de campagne aan.
{
"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"Behoud voor dezelfde beoogde indiening dezelfde sleutel en exact dezelfde methode, hetzelfde pad, dezelfde query en dezelfde bytes van de aanvraaginhoud. Gewijzigde inhoud vereist een afzonderlijk beoordeeld verzoek; wissel sleutels niet blindelings na een time-out. Een voltooid verzoek kan opnieuw een gecachte fout teruggeven, en een duplicaat van een verzoek dat nog wordt verwerkt, kan 409 met Retry-After teruggeven.
Haal de campagne opnieuw op
HTTP 200 geeft rechtstreeks een JSON-object van de campagne terug. Controleer campaignId, haal daarna dezelfde campagne op met GET en vergelijk de beoogde velden. Succesvol opslaan vraagt op zichzelf geen nieuwe beoordeling door een telecomaanbieder aan, wijzigt geen nummertoewijzingen, activeert het verzenden niet en verstuurt geen bericht.
Het portaal controleert vóór het opslaan een formulierversie en haalt de campagne daarna opnieuw op. Het openbare PUT-eindpunt dwingt die portaalversie niet af: stem gelijktijdige bewerkingen op elkaar af. Een idempotentiesleutel detecteert geen update van een andere bewerker.
Als het portaal een nog niet afgehandelde afwijzing na beoordeling toont, corrigeer dan eerst de inhoud en gebruik vervolgens de afzonderlijke actie om een beoordeling aan te vragen wanneer die beschikbaar is. Deze actie controleert de huidige campagne in productie en de deelstatus. Alleen inhoud opslaan voert deze actie niet uit, en het bestaan van een campagne-ID betekent niet dat de campagne is goedgekeurd.
Gewone campagne-updates via PUT veroorzaken in de huidige dienst geen afzonderlijke afschrijving voor campagneregistratie. Bestaande maandelijkse kosten, minimumverplichtingen, nummerhuur en kosten voor berichtgebruik blijven van toepassing. Zie voor de momenteel ingestelde campagnetarieven campagnekosten.
Omgaan met beperkingen en onzekere resultaten
Lees bij HTTP 400 de foutmelding op veldniveau en controleer de lengtes, de toestemmingstekst en de status van de campagne. Controleer bij 401, 403 of 404 de API-inloggegevens, het toegestane bron-IP-adres en of de campagne bij het account hoort. Houd u bij 429 aan Retry-After. Bewaar bij 500, 502 of een onderbroken verzoek de campagne-ID en eventuele requestId, en controleer vervolgens de bestaande registratie op overeenstemming voordat u opnieuw iets indient.
De lokale momentopname hangt af van de teruggegeven antwoordinhoud. Een niet-leeg gedeeltelijk antwoord kan oudere velden weglaten, waaronder metagegevens over verlenging; bij een leeg antwoord kunnen verouderde waarden blijven staan. Controleer het volledige GET-resultaat en beschouw alleen een succesmelding niet als bewijs dat elk veld behouden is gebleven. Meld onopgeloste verschillen bij de ondersteuning. Deze route werkt toewijzingen aan telecomaanbieders niet atomair bij en biedt geen algemene herstelactie voor activering bij een telecomaanbieder.