Zustellbestätigungen und eingehende SMS
Was an Ihre Adresse gesendet wird
BulkGate meldet Ihnen zweierlei zurück: wie Ihre gesendeten Nachrichten ausgegangen sind und was die Empfänger geantwortet haben. Beides kommt als HTTP-Anfrage an die von Ihnen eingestellte Adresse.
| Was ankommt | Woran Sie es erkennen |
|---|---|
| Zustellbericht | Der Parameter status mit einem Statuscode und die smsID der gesendeten Nachricht |
| Eingehende SMS oder Antwort | Der Parameter status mit dem Wert 10, der Absender in from und der Text in message |
Die Anfrage kommt per HTTP GET, die Werte finden Sie also im Query-String.
Bei hohen Volumina lohnt sich die Sammelvariante: Statt einer Anfrage pro Nachricht kommt eine einzige POST-Anfrage mit einem Array von Datensätzen in JSON. Sie ist unter Sammel-Zustellbestätigungen beschrieben.
Wo die Adresse eingestellt wird
Die Adresse stellen Sie selbst im Detail Ihrer Anwendung ein — auf der Registerkarte
Die Einstellungen, im Bereich Web hooks, auf der Karte Zustellungsberichte. Das
Feld URL-Zustellungsberichte im sich öffnenden Fenster erwartet eine Adresse, die mit
http:// oder https:// beginnt.

Lassen Sie das Kontrollkästchen Massen-DLRs - Massenanfrage ausgeschaltet — damit
wechselt die Zustellung zu Sammelpaketen per POST und es gilt
Sammel-Zustellbestätigungen
stattdessen.
Das gesamte Vorgehen einschließlich der weiteren Optionen ist auf der Seite Webhooks beschrieben.
Parameter des Zustellberichts
| Parameter | Wert |
|---|---|
status |
Der Statuscode der Nachricht — siehe Zustellstatus |
smsID |
Die eindeutige ID der Nachricht |
price |
Der Preis der Nachricht in Credits |
channel |
Der Kanal, über den die Nachricht ging (sms, viber, whatsapp, rcs und weitere) |
date |
Zeitpunkt des Versands und der Zustellung, getrennt durch ein Semikolon, in der Zeitzone CET |
Der Wert date hat die Form YYMMDDHHMM;YYMMDDHHMM — zum Beispiel bedeutet
1812141317;1812141318 gesendet am 14. Dezember 2018 um 13:17 und eine Minute
später zugestellt.
Parameter der eingehenden Nachricht
Enthält status den Wert 10, handelt es sich nicht um einen Zustellbericht, sondern
um eine Nachricht des Empfängers. Sie kommt mit einem anderen Satz an Parametern:
| Parameter | Wert |
|---|---|
status |
Immer 10 |
from |
Die Telefonnummer des Absenders |
to |
Die Telefonnummer des Empfängers, also Ihre Nummer |
message |
Der Text der Nachricht in UTF-8 |
channel |
Der Kanal, über den die Nachricht kam |
smsdetails |
Details einschließlich des verwendeten Protokolls und des Empfangszeitpunkts |
Zustellstatus
| Code | Bedeutung |
|---|---|
1 |
Die Nachricht wurde zugestellt |
2 |
Die Nachricht wartet beim Betreiber — der Empfänger ist momentan nicht erreichbar und die Zustellung wird erneut versucht |
3 |
Die Nachricht konnte nicht zugestellt werden — der Empfänger ist unbekannt oder dauerhaft nicht erreichbar |
10 |
Eine eingehende Nachricht oder Antwort, kein Zustellbericht |
13 |
Die Nachricht wurde gelesen (nur Viber) |
Status 2 ist nicht endgültig — für dieselbe Nachricht kommt später eine weitere
Anfrage mit dem endgültigen Status. Rechnen Sie damit, dieselbe smsID mehrmals zu sehen.
Ein Verarbeitungsbeispiel
Das Skript unterscheidet anhand von status einen Zustellbericht von einer eingehenden
Nachricht und schreibt jeden in ein eigenes Log:
Die Adresse muss schnell und mit dem Statuscode 200 antworten. Langsame oder
fehlerhafte Verarbeitung hält die Zustellung weiterer Berichte auf — verlagern Sie
aufwendige Arbeit daher in eine Warteschlange und bestätigen Sie die Anfrage sofort.
Vielen Dank für Ihr Feedback.