À quoi ressemble une réponse d’erreur ?
La plupart des erreurs de l’API Enrow renvoient un simple objet JSON contenant un unique champmessage :
reason accompagné de success :
error, status ou retry_after. Lisez le code de statut HTTP pour orienter votre logique, et lisez message (ou reason) pour obtenir la description lisible par un humain.
Quelles sont les erreurs les plus courantes et comment les corriger ?
Les erreurs ci-dessous couvrent la grande majorité des requêtes échouées. Chacune est accompagnée du corps de réponse renvoyé par l’API et de la solution à appliquer.Pourquoi est-ce que je reçois une erreur 400 Bad Request ?
Un400 signifie que la charge utile de la requête est mal formée ou qu’un paramètre requis est manquant :
fullname ainsi que company_domain ou company_name.
Pourquoi est-ce que je reçois une erreur 401 Unauthorized ?
Un401 signifie que la clé API est manquante ou invalide :
x-api-key (et non Authorization). Consultez Authentification pour savoir comment transmettre la clé à chaque requête.
Pourquoi est-ce que je reçois une erreur 402 Insufficient Credits ?
Un402 signifie que le compte ne dispose pas d’assez de crédits pour exécuter la requête :
402 est renvoyé avec le format standard { "message": "..." }.
Solution : vérifiez le solde de crédits sur le Tableau de bord ou via GET /account/info. Rechargez des crédits ou mettez à niveau le forfait sur enrow.io/pricing. Consultez Crédits et facturation pour savoir comment les crédits sont consommés par endpoint.
Pourquoi est-ce que je reçois une erreur 429 Rate Limit Exceeded ?
Un429 signifie que trop de requêtes ont été envoyées dans un court laps de temps :
Pourquoi est-ce que je reçois une erreur 500 Internal Server Error ?
Un500 signifie qu’une erreur s’est produite du côté d’Enrow :
Comment gérer les erreurs dans le code ?
Vérifiez le statut HTTP avant d’analyser le corps de succès, puis levez une erreur qui transporte le code de statut afin que votre logique de réessai puisse s’y appuyer. Le champmessage contient la description pour la plupart des erreurs, et reason la contient pour les réponses 402 des endpoints uniques.
Comment réessayer les requêtes échouées ?
Ne réessayez que les erreurs qui valent la peine d’être réessayées —429 et 5xx — et appliquez un backoff exponentiel entre les tentatives. Les erreurs client de la plage 4xx (sauf 429) signalent un problème lié à la requête elle-même : les réessayer ne servira donc à rien.
Bonnes pratiques
- Ne réessayez pas les erreurs 4xx (sauf 429) — corrigez plutôt la requête
- Réessayez les erreurs 429 — temporisez avec des délais exponentiels avant de réessayer
- Réessayez les erreurs 5xx — avec un backoff exponentiel
- Utilisez les webhooks plutôt que le polling pour éviter d’atteindre inutilement les limites de débit — consultez Comment fonctionnent les webhooks
- Journalisez les erreurs avec leur contexte — incluez l’endpoint, les paramètres et l’horodatage pour faciliter le débogage
FAQ
Comment distinguer un 402 sur un endpoint unique d'un endpoint groupé ?
Comment distinguer un 402 sur un endpoint unique d'un endpoint groupé ?
Quelles erreurs dois-je réessayer automatiquement ?
Quelles erreurs dois-je réessayer automatiquement ?
Réessayez les erreurs
429 (limite de débit) et 5xx (serveur) avec un backoff exponentiel. Ne réessayez pas les autres erreurs 4xx telles que 400, 401 ou 402 — elles indiquent un problème lié à la requête, à la clé API ou au solde de crédits qu’un simple réessai ne résoudra pas.Existe-t-il un en-tête retry_after qui indique combien de temps attendre ?
Existe-t-il un en-tête retry_after qui indique combien de temps attendre ?
Non. Les réponses d’erreur n’incluent jamais les champs
retry_after, error ou status. Utilisez votre propre backoff exponentiel entre les réessais. Consultez Limites de débit pour connaître les limites applicables à votre forfait.Où lire le message d'erreur dans la réponse ?
Où lire le message d'erreur dans la réponse ?
Pour la plupart des erreurs, la description se trouve dans le champ
message. Pour un 402 de crédits insuffisants sur un endpoint unique, elle se trouve plutôt dans le champ reason. Orientez toujours votre logique en fonction du code de statut HTTP plutôt qu’en analysant le texte du message.Prochaines étapes
Codes de statut
La liste complète des codes de statut HTTP et leur signification.
Limites de débit
Comprenez les limites de requêtes par forfait pour éviter les erreurs 429.
Authentification
Comment transmettre votre clé API dans l’en-tête x-api-key.
Crédits et facturation
Découvrez comment les crédits sont consommés pour chaque endpoint.


402renvoie{ "reason": "Insufficient credits", "success": false }. Sur les endpoints groupés, le même402renvoie le format standard{ "message": "..." }. Lire à la foismessageetreason(comme le font les exemples de code) gère les deux cas.