Messages API Callbacks d'état
L'API Messages envoie des rappels d'état à l'URL de votre webhook pour vous informer chaque fois qu'un événement modifie l'état d'un message - par exemple, lorsqu'il est soumis, délivré ou rejeté.
Ces rappels offrent une visibilité cohérente du cycle de vie des messages sur tous les canaux pris en charge, notamment SMS, MMS, RCSet des applications : WhatsApp, Viberet Facebook Messenger.
Chaque fois que l'état d'un message change, l'API Messages envoie un rappel d'état à votre webhook configuré.
Ce rappel comprend des informations clés telles que l'UUID du message, le canal, l'horodatage, l'état de livraison et, le cas échéant, les métadonnées relatives au prix et au réseau.
Les différents canaux soutiennent des événements et des niveaux d'information différents. Par exemple :
| Chaîne | Événement payant | Statut final type |
|---|---|---|
| WhatsApp, Viber, FB | Quand delivered | read, delivered, rejected |
| RCS | Quand delivered | read, delivered, rejected |
| SMS | Quand submitted | delivered, rejected |
| MMS | Quand submitted | delivered, rejected |
Statuts du rappel
Rappels de lecture d'état
Pour les canaux OTT tels que WhatsApp et Viber, l'API Messages peut envoyer un read lorsque le fournisseur indique que l'utilisateur final a lu le message sur son appareil.
Rappels de l'état de soumission
Ce statut signifie que Messages API a transmis un message à un fournisseur de services de messagerie.
Rappels de l'état non livrable
Cet état signifie que Messages API n'a pas pu se connecter au fournisseur de messagerie. Cela peut être dû à une panne du fournisseur de messagerie ou à un autre incident.
Rappels d'état rejetés
Un message peut être rejeté pour plusieurs raisons :
- Messages API ne peut pas traiter le message (par exemple, paramètres non valides ou support non pris en charge).
- Le fournisseur rejette le message - par exemple, envoi de MMS vers un pays non pris en charge.
- Le temps de vie (TTL) du message expire avant qu'il ne puisse être délivré.
Dans ces cas, un rejected est envoyé avec un objet d'erreur décrivant l'échec.
Exemples de rappels
SMS (message en plusieurs parties)
{
"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"
}
}
RCS (Rejected Request with SMS Failover)
{
"message_uuid": "001",
"to": "447700900000",
"from": "447700900001",
"timestamp": "2024-01-01T14:00:00.000Z",
"status": "rejected",
"channel": "rcs",
"destination": {
"network_code": "12345"
},
"error": {
"type": "https://developer.vonage.com/api-errors/messages#1260",
"title": 1260,
"detail": "Destination unreachable - The message could not be delivered to the phone number.",
"instance": "abc102"
},
"workflow": {
"id": "1001",
"item_number": "1",
"items_total": "2"
}
}
Codes de réseau
L'API Messages comprend une fonction network_code dans les rappels pour identifier l'opérateur qui traite le message. Les codes de réseau sont des combinaisons de codes de pays (MCC) et de codes de réseau mobile (MNC). Ils s'appliquent aux SMS, RCS et MMS et représentent les données les plus précises disponibles au moment de l'événement de rappel d'état.