API
Codes d'erreur
Référence de gestion des erreurs de l'API TBit
# Codes d'erreur > Référence de gestion des erreurs de l'API TBit - Page: https://tbit.app/fr/docs/api/errors - URL de base: `https://rest-api.tbit.app/v1` - Authentification: en-tête `X-API-Key` avec votre clé dans chaque requête (les exemples la lisent depuis la variable d'environnement `TBIT_API_KEY`) Vous cherchez pourquoi un message WhatsApp n'a pas été délivré ? Consultez [Erreurs de distribution WhatsApp](https://tbit.app/fr/docs/erreurs-distribution-whatsapp-message-non-envoye). ## Format de réponse d'erreur Toutes les erreurs suivent une structure JSON cohérente : ```json { "error": { "code": "NOT_FOUND", "message": "Activity not found" } } ``` ## Codes d'erreur | Statut | Code | Description | | --- | --- | --- | | `400` | `VALIDATION_ERROR` | Corps de requête ou paramètres de requête invalides | | `401` | `UNAUTHORIZED` | Clé API manquante ou invalide | | `404` | `NOT_FOUND` | Ressource introuvable ou n'appartenant pas à votre agent | | `405` | `METHOD_NOT_ALLOWED` | Méthode HTTP non prise en charge par cet endpoint | | `409` | `CONFLICT` | La ressource existe déjà (p. ex. un contact avec ce canal) | | `422` | `SEND_FAILED` | Échec de l'envoi du modèle (p. ex. pas de fenêtre de messagerie) | | `429` | `RATE_LIMITED` | Limite de débit dépassée (100 requêtes/minute) | | `500` | `INTERNAL_ERROR` | Erreur serveur inattendue | ## En-têtes de limite de débit Chaque réponse inclut les informations de limite de débit dans ses en-têtes : | En-tête | Description | | --- | --- | | `X-RateLimit-Remaining` | Requêtes restantes dans la fenêtre en cours | | `X-RateLimit-Reset` | Horodatage (ms) de réinitialisation de la fenêtre | ## Gestion des erreurs Bonnes pratiques pour gérer les erreurs d'API : - Vérifiez toujours le code de statut HTTP avant d'analyser le corps de la réponse - Mettez en place un backoff exponentiel pour les erreurs 429 (limite de débit) - Journalisez les codes et messages d'erreur pour le débogage - Ne retentez pas les erreurs 400 ou 401 : corrigez d'abord la requêteVous cherchez pourquoi un message WhatsApp n'a pas été délivré ? Consultez Erreurs de distribution WhatsApp.
Toutes les erreurs suivent une structure JSON cohérente :
{
"error": {
"code": "NOT_FOUND",
"message": "Activity not found"
}
}| Statut | Code | Description |
|---|---|---|
400 | VALIDATION_ERROR | Corps de requête ou paramètres de requête invalides |
401 | UNAUTHORIZED | Clé API manquante ou invalide |
404 | NOT_FOUND | Ressource introuvable ou n'appartenant pas à votre agent |
405 | METHOD_NOT_ALLOWED | Méthode HTTP non prise en charge par cet endpoint |
409 | CONFLICT | La ressource existe déjà (p. ex. un contact avec ce canal) |
422 | SEND_FAILED | Échec de l'envoi du modèle (p. ex. pas de fenêtre de messagerie) |
429 | RATE_LIMITED | Limite de débit dépassée (100 requêtes/minute) |
500 | INTERNAL_ERROR | Erreur serveur inattendue |
Chaque réponse inclut les informations de limite de débit dans ses en-têtes :
| En-tête | Description |
|---|---|
X-RateLimit-Remaining | Requêtes restantes dans la fenêtre en cours |
X-RateLimit-Reset | Horodatage (ms) de réinitialisation de la fenêtre |
Bonnes pratiques pour gérer les erreurs d'API :
- Vérifiez toujours le code de statut HTTP avant d'analyser le corps de la réponse
- Mettez en place un backoff exponentiel pour les erreurs 429 (limite de débit)
- Journalisez les codes et messages d'erreur pour le débogage
- Ne retentez pas les erreurs 400 ou 401 : corrigez d'abord la requête