Eine Kampagne korrigieren, ohne eine weitere Registrierung anzulegen
Verwenden Sie diese Route, um die Beschreibung, Nachrichtenbeispiele, Erläuterung der Einwilligung oder unterstützte Inhaltsmerkmale einer bestehenden Kampagne zu überarbeiten. Behalten Sie die Kampagnen-ID sowie die derzeitige Marke und den derzeitigen Anwendungsfall bei. Eine neue Registrierung ist kein Mechanismus zur Wiederholung einer Korrektur an einer bestehenden Kampagne.
Authentifizieren Sie sich mit einem freigeschalteten API-Konto über HTTPS von einer zulässigen Quell-IP-Adresse aus. Es kann nur auf eine Kampagne zugegriffen werden, die diesem Konto gehört. Lesen Sie ihren aktuellen Zustand aus, bevor Sie Änderungen vorbereiten; abgelaufene Kampagnen können über diesen Ablauf nicht aktualisiert werden.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Die tatsächlich geänderten Felder auswählen
Bereiten Sie campaign-update.json mit den unterstützten Änderungen vor. Das derzeitige Portal sendet nur geänderte Kampagnenfelder und übermittelt weder brandId, usecase, campaignId noch Statusinformationen, die ausschließlich in Antworten enthalten sind. Auch direkte Aktualisierungen über die API verwenden ein JSON-Objekt mit Feldern und nicht die changes/version-Umhüllung des Portals.
| Felder | Erforderliche Angaben |
|---|---|
| description, messageFlow | Eine zutreffende Beschreibung des Dienstes und eine Erläuterung, wie Personen einwilligen, Nachrichten erhalten und ihre Einwilligung widerrufen. Jedes Feld erlaubt 40–4096 Zeichen. |
| sample1–sample5 | Realistische Beispiele für diese Kampagne mit 20–1024 Zeichen pro nicht leerem Beispiel. Behalten Sie die für den qualifizierten Anwendungsfall erforderliche Anzahl an Beispielen bei; übermitteln Sie keine themenfremden Nachrichten. |
| helpMessage, optinMessage, optoutMessage | Die jeweils zutreffenden Antworten an Empfänger mit bis zu 1024 Zeichen. Halten Sie, soweit vorgeschrieben, die Mindestlänge von 20 Zeichen ein und erläutern Sie den tatsächlich angebotenen Dienst. Prüfen Sie die aktuellen Einwilligungsanforderungen, bevor Sie den Inhalt eines Feldes löschen. |
| optinKeywords, optoutKeywords, helpKeywords | Durch Kommas getrennte Schlüsselwörter ohne Leerzeichen mit insgesamt bis zu 255 Zeichen. Stimmen Sie die Antworten mit der tatsächlichen Verarbeitung der Schlüsselwörter ab. |
| privacyPolicyLink, termsAndConditionsLink | Relevante öffentliche URLs mit bis zu 2048 Zeichen, die die tatsächlichen Vorgehensweisen dieses Dienstes beschreiben. |
| embeddedLinkSample | Ein repräsentativer Link, den die Nachrichten enthalten werden, mit bis zu 255 Zeichen. |
| numberPool, embeddedLink, embeddedPhone, ageGated, directLending | Tatsächliche Kampagnenmerkmale als boolesche JSON-Werte. Verwenden Sie beim Deaktivieren eines Merkmals false und nicht die Zeichenfolge "false". |
| autoRenewal | Das öffentliche API-Schema unterstützt diesen booleschen JSON-Wert, obwohl der reguläre Editor für Kampagneninhalte im Portal ihn nicht anbietet. Das Deaktivieren der Verlängerung hebt keine bestehende Mindestverpflichtung auf und lässt bereits fällige Gebühren nicht entfallen. |
| resellerId | Das Schema ermöglicht auch die Zuordnung zu einem Wiederverkäufer. Diese Funktion liegt außerhalb des regulären Formulars zur Inhaltskorrektur im Portal. Verwenden Sie dieses Feld nicht, um eine Kampagne zwischen Kunden zu verschieben, und gehen Sie nicht davon aus, dass die API den Dienst des Netzbetreibers für einen anderen Wiederverkäufer konfiguriert. |
Das Aktualisierungsschema bietet brandId, usecase, subscriberOptin, subscriberOptout und subscriberHelp nicht als änderbare Felder an. Kopieren Sie nicht die vollständigen Nutzdaten zur Kampagnenerstellung in eine Aktualisierung. Beachten Sie die aktuelle Qualifizierung bei der Prüfung der Nachrichtenanforderungen.
Eine gezielte Korrektur übermitteln
Dieses Beispiel veranschaulicht einen Dienst für Terminerinnerungen. Passen Sie es vor der Verwendung an den tatsächlichen Dienst und den Einwilligungsablauf der Kampagne an.
{
"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"Verwenden Sie für dieselbe beabsichtigte Übermittlung denselben Schlüssel sowie exakt dieselbe Methode, denselben Pfad, dieselbe Abfrage und dieselben Bytes im Anfragetext. Geänderte Inhalte erfordern eine gesondert geprüfte Anfrage; wechseln Sie nach einer Zeitüberschreitung nicht blind die Schlüssel. Eine abgeschlossene Anfrage kann einen zwischengespeicherten Fehler erneut zurückgeben, und ein Duplikat einer noch in Bearbeitung befindlichen Anfrage kann 409 mit Retry-After zurückgeben.
Die Kampagne erneut auslesen
HTTP 200 gibt unmittelbar ein JSON-Objekt der Kampagne zurück. Prüfen Sie campaignId, rufen Sie anschließend dieselbe Kampagne mit GET ab und vergleichen Sie die vorgesehenen Felder. Ein erfolgreicher Speichervorgang beantragt für sich genommen keine erneute Prüfung durch den Netzbetreiber, ändert keine Rufnummernzuordnungen, aktiviert keinen Versand und sendet keine Nachricht.
Das Portal prüft vor dem Speichern eine Formularversion und liest die Kampagne danach erneut aus. Der öffentliche PUT-Endpunkt erzwingt diese Portalversion nicht: Stimmen Sie gleichzeitige Bearbeitungen miteinander ab. Ein Idempotenzschlüssel erkennt keine Aktualisierung durch eine andere bearbeitende Person.
Wenn das Portal eine noch nicht behobene Ablehnung aus einer Prüfung anzeigt, korrigieren Sie zuerst den Inhalt und verwenden Sie anschließend die separate Aktion zum Beantragen einer Prüfung, sofern verfügbar. Diese Aktion prüft die aktuelle Kampagne im Produktivbetrieb und ihren Freigabestatus. Das alleinige Speichern von Inhalten löst sie nicht aus, und das Vorhandensein einer Kampagnen-ID belegt keine Genehmigung.
Reguläre Kampagnenaktualisierungen per PUT lösen im derzeitigen Dienst keine separate Abbuchung für die Kampagnenregistrierung aus. Bestehende monatliche Gebühren, Mindestverpflichtungen, Rufnummernmiete und nutzungsabhängige Nachrichtenentgelte gelten weiterhin. Die aktuell konfigurierten Kampagnentarife finden Sie unter Kampagnengebühren.
Mit Einschränkungen und unklaren Ergebnissen umgehen
Lesen Sie bei HTTP 400 den feldbezogenen Fehler und prüfen Sie Längen, Einwilligungstext und Kampagnenzustand. Prüfen Sie bei 401, 403 oder 404 die API-Zugangsdaten, die zulässige Quell-IP-Adresse und die Kontozugehörigkeit. Beachten Sie bei 429 die Angabe Retry-After. Bewahren Sie bei 500, 502 oder einer unterbrochenen Anfrage die Kampagnen-ID und eine gegebenenfalls vorhandene requestId auf und gleichen Sie den bestehenden Datensatz ab, bevor Sie eine weitere Anfrage übermitteln.
Der lokale Datenstand hängt vom zurückgegebenen Antworttext ab. Eine nicht leere Teilantwort kann ältere Felder auslassen, einschließlich Metadaten zur Verlängerung; bei einer leeren Antwort können veraltete Werte bestehen bleiben. Prüfen Sie das vollständige GET-Ergebnis, anstatt den Erfolg allein als Beleg dafür zu betrachten, dass alle Felder erhalten geblieben sind. Melden Sie ungeklärte Abweichungen dem Support. Diese Route aktualisiert Netzbetreiberzuordnungen nicht atomar und bietet keine allgemeine Wiederherstellungsaktion für die Aktivierung beim Netzbetreiber.