Erreurs
Les erreurs utilisent les codes de statut HTTP standard et un corps JSON cohérent.
{
"error": {
"code": "not_found",
"message": "No data found for this request. You were not charged.",
"request_id": "req_k3J9xQ2mT0aB"
}
}Journalisez toujours le request_id. Il figure aussi dans l’en-tête x-request-id et permet au support de retrouver votre requête exacte.
| Statut | Code | Signification | Facturé |
|---|---|---|---|
| 400 | missing_parameter / invalid_parameter / invalid_request | Un paramètre est manquant ou mal formé, par exemple un VIN qui n’a pas 17 caractères valides. | Non |
| 401 | missing_api_key / invalid_api_key | Aucune clé envoyée, ou clé incorrecte ou révoquée. | Non |
| 402 | insufficient_credits | Votre solde de crédits ne couvre pas cette requête. | Non |
| 403 | account_suspended | Le compte a été suspendu. Contactez le support. | Non |
| 404 | not_found / endpoint_not_found | Aucune donnée n’existe pour cette recherche, ou la route n’existe pas. | Non |
| 429 | rate_limited | Trop de requêtes. Respectez l’en-tête retry-after. | Non |
| 502 | upstream_error / upstream_unreachable | Notre fournisseur de données a renvoyé une erreur. Vous pouvez réessayer. | Non |
| 503 | maintenance | Maintenance planifiée. Réessayez après le délai de l’en-tête retry-after. | Non |
| 504 | upstream_timeout | Notre fournisseur de données a mis trop de temps. Vous pouvez réessayer. | Non |
Gérer les échecs
- Considérez
4xxcomme un problème de requête. Ne la renvoyez pas telle quelle, sauf pour429. - Réessayez
502,503et504avec un recul exponentiel. Les tentatives échouées ne sont pas facturées. - Définissez un délai d’expiration client d’au moins 30 secondes ; certaines recherches dépendent de sources amont plus lentes.