SMS-Status-Rückrufe
Die Messages API verwendet Statusrückrufe um Ihre Anwendung zu benachrichtigen, wenn sich der Status einer Nachricht ändert, beispielsweise wenn sie gesendet, zugestellt oder abgelehnt wird. Diese Callbacks bieten Einblick in den Lebenszyklus der Nachrichten über alle Kanäle hinweg, einschließlich SMS. In diesem Leitfaden wird erläutert, wie SMS-Zustellbestätigungen (DLRs) verarbeitet und den Status-Callbacks der Messages API zugeordnet werden.
Wenn Sie über den SMS-Kanal der Messages API eine Nachricht versenden, leitet die zugrunde liegende SMS API von Vonage die Nachricht an einen Netzbetreiber oder Anbieter weiter und sendet im Anschluss Zustellbestätigungen (DLRs) zurück. Diese DLRs geben Auskunft darüber, wie weit die Nachricht im Netzwerk vorangekommen ist. Die Messages API wandelt diese SMS-DLRs anschließend in einen standardisierten Satz von Status-Callbacks um und sendet diese an die von Ihnen konfigurierte Webhook-URL.
Lebenszyklus einer SMS-Nachricht
Eine SMS durchläuft in der Regel die folgenden Phasen:
| Bühne | Beschreibung | Kostenpflichtiges Ereignis | Status der Messages API |
|---|---|---|---|
| Von der SMS API akzeptiert | Die Nachricht wurde angenommen und über SMS API-Gateways weitergeleitet. | Ja | submitted |
| Auf das Gerät übertragen | Eine Empfangsbestätigung (DLR) aus dem Netzwerk bestätigt, dass die Nachricht das Endgerät des Nutzers erreicht hat. | Keine zusätzlichen Kosten | delivered |
| Abgelaufen, fehlgeschlagen oder abgelehnt | Die Nachricht konnte nicht zugestellt werden oder wurde von der SMS API oder dem Anbieter abgelehnt. | - | rejected |
Hinweis: Die Zuverlässigkeit von SMS-Zustellungsberichten kann je nach Netzbetreiber variieren. Einige Netzbetreiber senden möglicherweise keine Zustellungsberichte oder melden ungenaue Statusangaben.
SMS-DLRs im Vergleich zu Status-Callbacks der Messages API
SMS-Anbieter versenden Lieferscheine (DLRs) um den Fortschritt der Nachrichten anzuzeigen. Die Messages API verarbeitet diese DLRs und ordnet sie ihrem eigenen Statusmodell zu.
| SMS-DLR-Status | Status der Messages API | Anmerkungen |
|---|---|---|
accepted |
submitted |
Wird gesendet, sobald die SMS API die Nachricht zur Zustellung annimmt. |
buffered |
(ignoriert) | Wird von der SMS API selten verwendet; wird nicht weitergeleitet. |
delivered |
delivered |
Zeigt den Empfang durch das Endgerät an (sofern vom Netzbetreiber unterstützt). |
expired |
rejected |
Verweise auf interne Seiten Fehlercode 1360. |
failed |
rejected |
Zeigt eine Störung des Providers oder einen Netzwerkfehler an. |
unknown |
rejected |
Verweise auf interne Seiten Fehlercode 1330. |
rejected |
rejected |
Karten gemäß Zuordnung von MMS-/SMS-Fehlercodes. |
Beispiel: SMS-Status-Rückruf
Wenn eine SMS-Nachricht von der SMS API erfolgreich angenommen wurde, erhalten Sie eine submitted ein Callback, der in etwa so aussieht:
{
"message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"to": "447700900000",
"from": "447700900001",
"timestamp": "2023-05-01T14:00:00.000Z",
"status": "submitted",
"usage": {
"currency": "EUR",
"price": "0.0333"
},
"client_ref": "string",
"channel": "sms",
"destination": {
"network_code": "12345"
},
"sms": {
"total_count": "2"
}
}
Sollte ein DLR die Lieferung später bestätigen, folgt ein weiterer Rückruf mit "status": "delivered".