Erreurs
L'API Scavio utilise les codes de statut HTTP standard et renvoie des réponses d'erreur structurées pour vous aider à déboguer rapidement.
Format de réponse d'erreur
JSON
{
"error": {
"code": "error_code_string",
"message": "Human-readable error description"
}
}Codes de statut
| Statut | Code | Description |
|---|---|---|
| 400 | bad_request | Corps de requête invalide ou paramètres requis manquants |
| 401 | unauthorized | Clé API manquante ou invalide |
| 403 | forbidden | La clé API n'a pas la permission pour cette action |
| 402 | insufficient_credits | Crédits épuisés. Rechargez ou améliorez votre forfait. |
| 429 | rate_limit_exceeded | Trop de requêtes. Attendez et réessayez. |
| 500 | internal_error | Erreur serveur. Réessayez après un court délai. |
Erreurs courantes
Paramètre de requête manquant
400 Mauvaise requête
{
"error": {
"code": "bad_request",
"message": "The 'query' field is required"
}
}Type de recherche invalide
400 Mauvaise requête
{
"error": {
"code": "bad_request",
"message": "Invalid search_type. Must be one of: classic, news, maps, images, lens"
}
}Clé API invalide
401 Non autorisé
{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key"
}
}Crédits épuisés
402 Paiement requis
{
"error": {
"code": "insufficient_credits",
"message": "No credits remaining. Please upgrade your plan or purchase additional credits."
}
}Limite de débit atteinte
429 Trop de requêtes
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Retry after 30 seconds."
}
}Bonnes pratiques
- Vérifiez toujours le code de statut HTTP avant d'analyser le corps de la réponse
- Utilisez le champ
error.codepour la gestion programmatique des erreurs - Utilisez le champ
error.messagepour la journalisation et le débogage - Implémentez une logique de réessai avec backoff exponentiel pour les erreurs 429 et 500
- Ne réessayez pas les erreurs 400 ou 401 -- corrigez d'abord la requête