Erreurs et codes HTTP
Enveloppe d'erreur
{
"error": {
"code": "validation",
"message": "Missing required field: phone"
}
}
Codes de statut HTTP
| Statut | Signification |
|---|
200 | OK |
201 | Créé |
202 | Accepté (en file / asynchrone) |
400 | Validation / requête incorrecte |
401 | Clé API manquante ou invalide |
403 | Scope / IP / partenaire interdit |
404 | Ressource introuvable |
422 | Validation sémantique (ex. champs de formulaire) |
429 | Limite de débit |
500 | Erreur serveur |
Valeurs courantes de error.code
| Code | Description |
|---|
unauthorized | Clé API ou token invalide |
forbidden | Scope manquant, IP refusée, ou mauvais partenaire |
validation | Corps de requête invalide |
not_found | id / phone / template inconnu |
blocked | Compte désinscrit |
bot_error | Erreur moteur flow / bot |
États de livraison (messages)
| État | Signification |
|---|
queued | Accepté, pas encore entièrement livré |
sending | En cours d'envoi |
delivered | Livré au canal / in-app |
read | Lu par l'utilisateur (lorsque suivi) |
failed | Tous les canaux ont échoué |
expired | Expiré |
Conflits d'idempotence
La réutilisation de idempotency_key renvoie le message d'origine avec 200 au lieu de créer un doublon.