---
title: "Erreurs de livraison SMS"
description: "Consultez les raisons d'échec SMS et les codes numériques du fournisseur, y compris les blocages de protection contre la fraude, dans les détails des messages, les accusés de réception et les webhooks."
canonical: "https://bird.com/fr-fr/documentation/guides/sms/delivery-errors"
---

# Erreurs de livraison SMS

Un SMS non abouti possède un statut de livraison et une erreur décrivant le résultat. Utilisez cette référence pour interpréter la raison d'échec et le code numérique du fournisseur associés à un message.

Les erreurs de requête, comme un payload d'envoi invalide, relèvent du [catalogue d'erreurs API](/docs/api/errors). Les codes de cette page décrivent des messages qui ont été acceptés puis ont échoué, ou qui ont été rejetés.

## Lire l'erreur

Ouvrez un message dans le [journal SMS](/docs/guides/sms/sms-log) et sélectionnez **Détails**. **Error** affiche la description et la raison d'échec normalisée. **Carrier error code** affiche le code numérique du fournisseur lorsqu'il a été fourni.

Via API, consultez [`GET /v1/sms/messages/{message_id}`](/docs/api/reference/get-sms-message). Son `last_error` contient :

| Champ                | Signification                                                             |
| -------------------- | ------------------------------------------------------------------------- |
| `code`               | Raison d'échec normalisée de Bird, par exemple `unreachable` ou `unknown` |
| `description`        | L'explication signalée, en clair                                          |
| `carrier_error_code` | Le code brut du fournisseur, lorsqu'il est fourni                         |
| `occurred_at`        | Le moment où l'échec s'est produit                                        |

Les [événements webhook d'échec](/docs/guides/sms/events#failure-events) et les [événements de chronologie du message](/docs/api/reference/list-sms-message-events) contiennent les mêmes champs dans `error`.

Le nom de champ `carrier_error_code` couvre aussi les codes émis par le fournisseur d'envoi de Bird, y compris les blocages de protection antifraude. Un code absent signifie que le fournisseur n'en a fourni aucun ou que le message a été refusé avant sa soumission.

## Raisons d'échec normalisées

Voici les raisons d'échec définies par le [API du message](/docs/api/reference/get-sms-message). Les accusés de réception du fournisseur peuvent contenir un code numérique plus précis que la raison normalisée. Par exemple, un message avec `code: unknown` peut tout de même porter un `carrier_error_code` reconnu.

| Raison                        | Signification                                                        |
| ----------------------------- | -------------------------------------------------------------------- |
| `invalid_destination`         | Le numéro n'est pas attribué ou est invalide                         |
| `unreachable`                 | Le terminal est éteint ou hors couverture                            |
| `blocked_by_carrier`          | L'opérateur du destinataire a filtré le message                      |
| `blocked_by_fraud_protection` | La protection anti-fraude Bird a bloqué une suspicion de pumping SMS |
| `blocked_by_recipient`        | L'appareil du destinataire a bloqué l'expéditeur                     |
| `landline_unreachable`        | La ligne fixe n'accepte pas les SMS                                  |
| `content_rejected`            | L'opérateur a rejeté le contenu                                      |
| `sender_unregistered`         | L'expéditeur n'a pas l'enregistrement requis                         |
| `recipient_opted_out`         | Le destinataire est sur une liste de suppression                     |
| `provider_unavailable`        | Le fournisseur ou le réseau était indisponible                       |
| `insufficient_balance`        | Le portefeuille de l'espace de travail n'a pas pu financer l'envoi   |
| `unknown`                     | L'échec n'a pas pu être classifié                                    |

Il s'agit d'un ensemble ouvert : acceptez les valeurs inconnues et conservez la description et le code brut pour investigation. Une cause temporaire met fin à cette tentative d'envoi ; elle ne garantit pas une resoumission automatique.

## Codes d'erreur du fournisseur

Recherchez la chaîne numérique renvoyée dans `carrier_error_code`. Ces codes appartiennent au fournisseur d'envoi SMS de Bird ; un autre fournisseur peut attribuer d'autres significations aux mêmes numéros.

| Code  | Signification                                           |
| ----- | ------------------------------------------------------- |
| `0`   | Aucune erreur                                           |
| `1`   | Abonné inconnu                                          |
| `2`   | Station de base inconnue                                |
| `3`   | Commutateur mobile inconnu                              |
| `5`   | Abonné non identifié                                    |
| `7`   | Le terminal ne peut pas se connecter                    |
| `8`   | Itinérance interdite                                    |
| `9`   | Échec de l'authentification de l'abonné                 |
| `10`  | Support SMS non provisionné                             |
| `11`  | Service SMS non provisionnée                            |
| `12`  | Terminal sur liste noire                                |
| `13`  | Service SMS interdit                                    |
| `21`  | SMS non pris en charge                                  |
| `26`  | Échec du transfert réseau                               |
| `27`  | Abonné indisponible                                     |
| `28`  | Hors couverture                                         |
| `29`  | Terminal éteint                                         |
| `30`  | Défaillance du commutateur mobile                       |
| `31`  | Abonné occupé                                           |
| `32`  | Échec de livraison SMS                                  |
| `33`  | Stockage des messages en attente plein                  |
| `34`  | Défaillance du système réseau                           |
| `35`  | Données requises manquantes                             |
| `36`  | Valeur de champ de message inattendue                   |
| `39`  | Numéro de routage en itinérance indisponible            |
| `40`  | Mémoire réseau épuisée                                  |
| `71`  | Alphabet non pris en charge                             |
| `72`  | USSD occupé                                             |
| `100` | Solde d'envoi insuffisant                               |
| `101` | Solde abonné insuffisant                                |
| `103` | Abonné désabonné                                        |
| `104` | Expéditeur non enregistré                               |
| `105` | Contenu non enregistré                                  |
| `106` | Volume de campagne dépassé                              |
| `107` | Débit de campagne dépassé                               |
| `110` | Message filtré par l'opérateur                          |
| `130` | SurgeGuard a détecté du pumping de trafic               |
| `131` | SurgeGuard a bloqué une destination de pumping suspecte |

Le code `0` est omis de `carrier_error_code` lors de la lecture des messages et événements Bird. Un code inconnu doit rester disponible dans vos enregistrements lorsque vous contactez le support.

## Blocages par la protection anti-fraude

SurgeGuard est la protection anti-fraude SMS de Bird.

Les messages bloqués par la protection antifraude portent la raison d'échec `blocked_by_fraud_protection` et la description "Blocked by fraud protection: suspected SMS pumping." Le statut de livraison reste `failed`, `rejected` ou `expired`, selon le rapport du fournisseur. La même raison et la même description apparaissent dans les détails du message, les événements de chronologie et les webhooks d'échec. Le code brut du fournisseur reste disponible dans `carrier_error_code` lorsqu'il est fourni.

Dans le journal SMS, filtrez **Failure reason** par **Blocked by fraud protection** pour trouver ces messages.

Les enregistrements plus anciens peuvent encore afficher `unknown` et `generic_delivery_failure`. Ces libellés seuls ne permettent pas d'identifier un blocage par la protection antifraude. Recherchez leur `carrier_error_code` dans [Codes d'erreur fournisseur](#codes-derreur-du-fournisseur) pour identifier la cause. Si le code est absent ou inconnu, contactez le support avec l'identifiant de l'espace de travail, l'identifiant du message, l'horodatage et le code fournisseur, s'il est fourni.

Lorsque vous examinez un OTP bloqué, corrélez le SMS avec le compte ou la demande de vérification qui l'a déclenché. Évitez de renvoyer automatiquement le message ou de changer de route pour contourner le blocage. Si vous pensez qu'une demande légitime a été bloquée, contactez le support avec l'identifiant de l'espace de travail, l'identifiant du message, l'horodatage et le code fournisseur.

## Étapes suivantes

- [Journal SMS](/docs/guides/sms/sms-log) : inspectez un message et son historique de livraison.
- [Événements SMS](/docs/guides/sms/events) : consommez les webhooks de livraison et d'échec.
- [Métriques SMS](/docs/guides/sms/tracking-and-metrics) : consultez les résultats d'échec agrégés.
- [Erreurs API SMS](/docs/api/errors/E12xxx) : interprétez les erreurs renvoyées par une requête API.

## Related resources

- [Sending your first SMS](/learn/sms/sending-your-first-sms) (video)
- [What does SMS mean?](/explained/sms/what-does-sms-mean) (answer)
- [SMS](/sms-api) (product)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=sms)
