Structure de la Réponse d’Erreur
Toutes les erreurs suivent un format cohérent :Codes de Statut HTTP
Codes d’Erreur Courants
Erreurs d'Authentification (401)
Erreurs d'Authentification (401)
MISSING_ACCESS_TOKEN
- Message : Access token is required
- Cause : L’en-tête
X-Access-Tokenest manquant - Action : Incluez votre clé API dans l’en-tête
INVALID_ACCESS_TOKEN / ERR_AUTH
- Message : The provided access token is invalid
- Cause : La clé API est incorrecte, expirée ou révoquée
- Action :
- Vérifiez que la clé API est correcte
- Générez une nouvelle clé si nécessaire
- Ne journalisez pas les valeurs de clé sensibles
- Contactez le support si le problème persiste
Erreurs d'Autorisation (403)
Erreurs d'Autorisation (403)
NO_BALANCE / INSUFFICIENT_BALANCE
- Message : Insufficient balance
- Cause : Le solde du compte est trop faible
- Action :
- Vérifiez le solde via
/v3/account/balanceavant les opérations - Affichez le solde actuel à l’utilisateur
- Proposez une option de rechargement
- N’effectuez pas de nouvelle tentative sans avoir ajouté des fonds
- Vérifiez le solde via
DUPLICATED_REF
- Message : This reference ID is already in use
- Cause : La référence a déjà été utilisée dans une requête précédente
- Action :
- Vérifiez le statut de la commande existante
- Générez une nouvelle référence unique
- Ne créez pas de commandes en double
IP_BLOCKED
- Message : Your IP has been temporarily blocked
- Cause : Trop de tentatives d’authentification échouées
- Action :
- Attendez 15 minutes pour le déblocage automatique
- Vérifiez la clé API correcte
- Contactez le support si le problème persiste
IP_NOT_ALLOWED
- Message : Your IP address is not whitelisted
- Cause : La liste blanche d’IP est activée
- Action : Ajoutez votre IP à la liste blanche dans le tableau de bord
Erreurs de Validation (400)
Erreurs de Validation (400)
ERR_VALIDATION
- Message : Validation error
- Cause : Les paramètres de requête ne respectent pas les exigences
- Problèmes Courants : Champs manquants, types de données invalides, non-correspondance de motif
- Action :
- Validez les entrées côté client en premier
- Vérifiez
error.detailspour les problèmes de champs spécifiques - Ne réessayez pas sans corriger le problème
ERR_PHONE
- Message : Invalid phone number
- Cause : Le numéro de téléphone est incorrect ou n’existe pas
- Action : Utilisez
/v3/internet/check-numberpour valider en premier
ERR_STOCK
- Message : Product out of stock
- Cause : Le produit/la valeur de carte demandé(e) n’est pas disponible
- Action :
- Vérifiez le stock avant de commander
- Proposez des dénominations alternatives
- Réessayez ultérieurement
Erreurs Non Trouvé (404)
Erreurs Non Trouvé (404)
NOT_FOUND - Message : Resource not found - Cause : La ressource
demandée n’existe pas - Cas Courants : ID de commande invalide, référence invalide, ressource supprimée - Action : - Vérifiez que l’ID/la référence est correct(e) - Vérifiez les fautes de frappe - Gérez de manière élégante dans l’interface utilisateurErreurs de Limite de Taux (429)
Erreurs de Limite de Taux (429)
RATE_LIMIT_EXCEEDED
- Message : Too many requests
- Cause : La limite de taux a été dépassée
- Limites : Sandbox : 60 req/min, Production : 120 req/min
- Action : Implémentez un backoff exponentiel avec une logique de nouvelle tentative
Erreurs Serveur (500/503)
Erreurs Serveur (500/503)
INTERNAL_SERVER_ERROR / INTERNAL_ERROR
- Message : Developer was notified and will check shortly
- Cause : Erreur inattendue sur nos serveurs
- Action :
- Ne remboursez pas immédiatement - attendez 24 heures
- Sauvegardez le requestId pour le support
- Implémentez une logique de nouvelle tentative avec backoff
- Contactez le support avec les détails
- Nous sommes automatiquement notifiés
ERR_SERVICE
- Message : Service temporarily unavailable
- Cause : Maintenance du service ou problème temporaire
- Action :
- Affichez un message de maintenance
- Réessayez après un délai
- Surveillez la résolution
Bonnes Pratiques d’Implémentation
1. Vérifiez Toujours le Champ success
2. Gérez les Codes d’Erreur Spécifiques
3. Logique de Nouvelle Tentative Intelligente avec Backoff Exponentiel
4. Messages d’Erreur Conviviaux
5. Enregistrez les Request IDs
Patterns Avancés
Pattern Circuit Breaker
Évitez les défaillances en cascade en interrompant les requêtes lorsque le taux d’erreur est élevé :Surveillance des erreurs
Suivez les patterns d’erreurs pour identifier les problèmes tôt :Gestion de UNKNOWN_ERROR
Test des scénarios d’erreur
Utilisez le mode sandbox pour tester la gestion des erreurs :Référence rapide
Valider tôt
Valider les entrées côté client avant les appels API
Réessayer intelligemment
Utiliser le backoff exponentiel pour les erreurs 5xx, jamais pour les 4xx
Journaliser le contexte
Toujours inclure requestId et contexte dans les logs
Retour utilisateur
Afficher des messages d’erreur clairs et actionnables aux utilisateurs
Étapes suivantes
Endpoints principaux
Explorer tous les endpoints
Format de réponse
Comprendre les réponses API

