Erreurs
Format des erreurs et codes à gérer.
Toutes les erreurs ont la même forme :
{
"statusCode": 409,
"code": "EXTERNAL_REF_TAKEN",
"message": "Une livraison existe déjà pour cette référence de commande.",
"details": {}
}codeest stable : c’est lui que votre code doit tester.messageest en français, ou en anglais avec l’en-têteAccept-Language: en. Il peut changer.details, facultatif, précise l’erreur (par exemplefieldspour une validation,maxpour une limite).
Codes fréquents
| HTTP | Code | Que faire |
|---|---|---|
| 400 | VALIDATION_FAILED | Corrigez les champs listés dans details.fields. |
| 400 | IDEMPOTENCY_KEY_REQUIRED | Ajoutez l’en-tête Idempotency-Key à la création. |
| 400 | PHONE_INVALID | Numéro béninois attendu (01 suivi de 8 chiffres). |
| 401 | API_KEY_MISSING | Ajoutez Authorization: Bearer <clé>. |
| 401 | API_KEY_INVALID | Clé inconnue ou révoquée : vérifiez la clé et l’environnement. |
| 403 | API_SCOPE_MISSING | La clé n’a pas le droit nécessaire. |
| 403 | MERCHANT_NOT_VALIDATED | La boutique n’est pas encore validée. |
| 404 | DELIVERY_NOT_FOUND | Livraison inconnue ou d’une autre boutique. |
| 409 | EXTERNAL_REF_TAKEN | Une livraison existe déjà pour cette référence de commande. |
| 409 | DELIVERY_CHANGED | La livraison vient de changer : relisez-la puis réessayez. |
| 422 | PAYOUT_ACCOUNT_REQUIRED | Renseignez le numéro qui reçoit vos ventes, ou utilisez collection: DIRECT. |
| 422 | DELIVERY_TRANSITION_INVALID | Action impossible dans le statut actuel (par exemple annuler une livraison remise). |
| 429 | RATE_LIMITED | Attendez la durée indiquée par Retry-After. |
En cas d’erreur 5xx ou réseau, réessayez la création avec la même Idempotency-Key.