Erreurs
Toutes les erreurs ont la même forme :
{ "error": { "code": "TEXT_TOO_LONG", "message": "Le SMS dépasse la longueur d'un SMS.", "details": { "encoding": "UCS-2", "length": 74, "max": 70 } } }
Fiez-vous à code, qui est stable ; message est un texte lisible qui peut évoluer. details est facultatif.
| HTTP | code |
Cas |
|---|---|---|
| 400 | VALIDATION_FAILED |
Requête invalide (champ de mauvais type, en-tête mal formé) |
| 401 | AUTH_REQUIRED |
Clé d'API absente, invalide ou révoquée |
| 402 | INSUFFICIENT_CREDITS |
Plus de crédits |
| 403 | ACCOUNT_SUSPENDED |
Compte suspendu |
| 403 | VERIFICATION_REQUIRED |
Identité ou entreprise à vérifier avant d'envoyer |
| 404 | NOT_FOUND |
Ressource absente ou hors de votre compte |
| 409 | IDEMPOTENCY_CONFLICT |
Clé d'idempotence déjà utilisée pour un autre message |
| 409 | NOT_CANCELLABLE |
Annulation d'un SMS non planifié ou déjà parti |
| 409 | CONFLICT |
Expéditeur déjà demandé |
| 409 | API_KEY_LIMIT |
2 clés d'API actives au plus |
| 422 | PHONE_INVALID |
Numéro mal formé |
| 422 | PHONE_NOT_COVERED |
Numéro hors Cameroun ou fixe |
| 422 | TEXT_INVALID |
Texte vide ou invalide |
| 422 | TEXT_TOO_LONG |
Trop long pour un SMS : 160 en alphabet GSM, 70 en Unicode ; details donne encoding, length, max |
| 422 | SENDER_INVALID |
Expéditeur hors format |
| 422 | SENDER_NOT_APPROVED |
Expéditeur pas encore validé |
| 422 | SENDER_NOT_ALLOWED |
Expéditeur propre demandé par un particulier |
| 422 | SCHEDULE_INVALID |
Date de planification invalide |
| 429 | RATE_LIMITED |
Plus de 10 requêtes par seconde pour une même clé (réserve de 20) : attendre le nombre de secondes de l'en-tête Retry-After, puis réessayer avec la même Idempotency-Key |
Un refus en 4xx ne débite jamais de crédit.