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. 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 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}. 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 et les événements de chronologie du message 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. 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 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 : inspectez un message et son historique de livraison.
- Événements SMS : consommez les webhooks de livraison et d'échec.
- Métriques SMS : consultez les résultats d'échec agrégés.
- Erreurs API SMS : interprétez les erreurs renvoyées par une requête API.
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet.