Rappels d'état par SMS
La Messages API utilise rappels d'état pour informer votre application lorsque le statut d'un message change, par exemple lorsqu'il est envoyé, remis ou rejeté. Ces rappels permettent de suivre le cycle de vie des messages sur tous les canaux, y compris les SMS. Ce guide explique comment les accusés de réception SMS (DLR) sont gérés et mis en correspondance avec les rappels de statut de la Messages API.
Lorsque vous envoyez un message via le canal SMS de l’API Messages, l’SMS API sous-jacente de Vonage transmet le message à un opérateur ou à un fournisseur, puis renvoie des accusés de réception (DLR). Ces DLR indiquent jusqu’où le message a progressé dans le réseau. La Messages API convertit ensuite ces accusés de réception SMS en un ensemble standardisé de rappels d’état et les envoie à l’URL de webhook que vous avez configurée.
Cycle de vie d'un SMS
Un SMS passe généralement par les étapes suivantes :
| Scène | Description | Événement payant | État de la Messages API |
|---|---|---|---|
| Accepté par la SMS API | Le message a été accepté et acheminé via des passerelles SMS API. | Oui | submitted |
| Envoyé sur l'appareil | Un accusé de réception (DLR) émis par le réseau confirme que le message est bien parvenu au terminal de l'utilisateur final. | Sans frais supplémentaires | delivered |
| Périmé, échoué ou rejeté | Le message n'a pas pu être envoyé ou a été rejeté par la SMS API ou l'opérateur. | - | rejected |
Remarque : la fiabilité des rapports de livraison des SMS peut varier selon l'opérateur. Certains réseaux peuvent ne pas envoyer de rapports de livraison ou indiquer des statuts inexacts.
DLR SMS vs rappels d'état de la Messages API
Les opérateurs de SMS envoient récépissés de livraison (DLR) pour indiquer l'avancement du message. La Messages API traite ces DLR et les associe à son propre modèle d'état.
| État du SMS DLR | État de la Messages API | Notes |
|---|---|---|
accepted |
submitted |
Envoyé lorsque la SMS API accepte le message pour transmission. |
buffered |
(ignoré) | Rarement utilisé par la SMS API ; n'est pas transmis. |
delivered |
delivered |
Indique que le message a été reçu par le terminal de l'utilisateur final (si cette fonctionnalité est prise en charge par l'opérateur). |
expired |
rejected |
Mappages vers des éléments internes code d'erreur 1360. |
failed |
rejected |
Indique une défaillance du fournisseur ou une erreur de réseau. |
unknown |
rejected |
Mappages vers des éléments internes code d'erreur 1330. |
rejected |
rejected |
Cartes d'après Correspondances entre les codes d'erreur MMS/SMS. |
Exemple : rappel d'état par SMS
Lorsqu'un SMS est correctement reçu par l'SMS API, vous recevrez un submitted une fonction de rappel similaire à celle-ci :
{
"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"
}
}
Si un DLR confirme ultérieurement la livraison, un autre rappel suivra avec "status": "delivered".