Versenden einer Nachricht mit Failover
Beim Versand von Nachrichten mit der Vonage Messages API können diese zurückgewiesen werden. In einer einzigen API-Anforderung können Failover-Nachrichten definiert werden, die an ihrer Stelle gesendet werden. Wenn ein Kundengerät beispielsweise Ihren primären Kanal, wie RCS, nicht unterstützt, empfängt es Ihre Nachrichten weiterhin über alternative Kanäle.
In diesem Leitfaden erfahren Sie, wie Sie die Ausfallsicherung für Nachrichten in Ihrer Anfrage konfigurieren und den Zustellungsstatus durch Rückrufe überwachen können.
Senden einer Anfrage mit Message Failover
In diesem Beispiel wird zuerst eine RCS-Textnachricht gesendet, gefolgt von einer SMS-Nachricht, wenn diese Nachricht fehlschlägt. Die Struktur der Anfrage ist dieselbe wie beim Senden einer Standardnachricht für den Primärkanal; die Failover-Nachricht wird dann in einer failover Array wie folgt:
{
"to": "447700900000",
"from": "Vonage",
"channel": "rcs",
"message_type": "image",
"image": {
"url": "https://example.com/image.jpg",
"caption": "This is an image sent via RCS using the Vonage Messages API."
},
"failover": [
{
"to": "447700900000",
"from": "447700900001",
"channel": "sms",
"message_type": "text",
"text": "This is an SMS sent using the Vonage Messages API."
}
]
}
Sie können beliebig viele Failover-Kanäle definieren; die Failover-Nachrichten werden in der Reihenfolge gesendet, in der sie im Array definiert sind.
Jede Nachricht innerhalb des Failover-Arrays benötigt ihre eigene channel, message_type from, toWeitere Informationen zu den einzelnen Kanälen und den erforderlichen Parametern finden Sie im Abschnitt API-Spezifikation. Sie sollten auch darauf achten, dass der Inhalt der Nachricht an die Möglichkeiten der einzelnen Ausweichkanäle angepasst ist.
Beispielanfragen mit cURL und den Vonage SDKs finden Sie auf der Senden einer Nachricht mit Failover Codeschnipsel-Seite.
Statusüberwachung und Rückrufe
Wenn Ihre Nachricht gesendet wurde, gibt die API Folgendes zurück Statusrückrufe an Ihre Webhook-URL. Diese verfolgen den Fortschritt und das Ergebnis jeder Nachricht in der Failover-Sequenz. Ein Beispiel für einen Failover von RCS zu SMS wäre:
- RCS Eingereicht → Meldung wird an den Primärkanal (in diesem Fall RCS) gesendet.
- RCS Abgelehnt → Nachrichtenzustellung fehlgeschlagen.
- SMS Übermittelt → Failover-Meldung per SMS gesendet.
- SMS zugestellt → Nachricht erfolgreich zugestellt.
Beispiel Rückrufe
Die folgenden Callback-Beispiele zeigen Statusaktualisierungen für eine abgelehnte RCS-Nachricht und eine zugestellte SMS-Nachricht. In beiden Rückrufen sehen Sie diese Felder:
workflow.workflow_id- Eindeutige ID für den Failover-Workflow.workflow.items_number- Gibt die Reihenfolge der gesendeten Nachrichten an (z. B. "1" für die primäre, "2" für die erste Ausfallsicherung).workflow.items_total- Gesamtzahl der Nachrichten, die in diesem Arbeitsablauf versucht wurden.status- Gibt den Status der Zustellung an. Diese Werte variieren je nach Kanal, sind aber einer der folgendensubmitted,delivered,rejected,undeliverable, oderread. Spezifische Informationen für jeden Kanal finden Sie in der API-Spezifikation.
RCS Abgelehnt
{
"messageuuid": "001",
"to": "447700900000",
"from": "Vonage",
"timestamp": "2024-01-01T14:00:02.000Z",
"status": "rejected",
"channel": "rcs",
"workflow": {
"workflow_id": "3TcNjguHxr2vcCZ9Ddsnq6tw8yQUpZ9rMHv9QXSxLan5ibMxqSzLdx9",
"items_number": "1",
"items_total": "2"
}
}
SMS zugestellt
{
"messageuuid": "002",
"to": "447700900000",
"from": "447700900001",
"timestamp": "2024-01-01T14:00:04.000Z",
"status": "delivered",
"channel": "sms",
"workflow": {
"workflow_id": "3TcNjguHxr2vcCZ9Ddsnq6tw8yQUpZ9rMHv9QXSxLan5ibMxqSzLdx9",
"items_number": "2",
"items_total": "2"
}
}
Verwenden Sie diese Rückrufe, um zu verfolgen, wo und wie Nachrichten zugestellt werden, und um weitere Aktionen oder Protokolle auszulösen.