Gestion des erreurs
Codes de statut HTTP
| Code | Signification | Action recommandée |
|---|---|---|
| 200 | Succès | Traiter la réponse normalement |
| 400 | Requête invalide | Vérifier les paramètres envoyés |
| 401 | Non authentifié | Vérifier la présence de la clé API |
| 403 | Accès refusé | Vérifier la validité de la clé API ou les limitations |
| 405 | Méthode non autorisée | Utiliser POST pour les requêtes |
| 500 | Erreur serveur | Réessayer après un délai ou contacter le support |
Gestion des erreurs réseau
En cas d'erreur réseau ou de timeout :
- Réessayer : Implémenter une logique de retry avec backoff exponentiel
- Timeout : Définir un timeout approprié (recommandé : 30 secondes)
- Logging : Logger les erreurs pour le débogage
Exemple de gestion d'erreur
try {
const response = await fetch('/api/send-otp', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'api-key': API_KEY
},
body: JSON.stringify({
phoneNumber: '+22212345678',
ipAdress: userIP,
lang: 'ar'
})
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.message);
}
const data = await response.json();
// Traiter le succès
} catch (error) {
// Gérer l'erreur
console.error('Erreur OTP:', error.message);
}