Gestion des Erreurs
L'API Evalyo utilise les codes de statut HTTP standards associés à un corps d'erreur JSON structuré.
Format des erreurs
Toutes les erreurs retournent un objet JSON avec les champs suivants :
code est une constante lisible par machine — idéale pour une gestion programmatique des erreurs dans votre code.Codes HTTP
| Code | Description |
|---|---|
200 OK | Requête réussie. |
201 Created | Ressource créée avec succès. |
400 Bad Request | Paramètres manquants ou invalides. Vérifiez le corps de la requête. |
401 Unauthorized | Clé API absente, invalide ou révoquée. |
403 Forbidden | Clé API valide mais scope insuffisant pour cette ressource. |
404 Not Found | Ressource introuvable — vérifiez l'identifiant. |
409 Conflict | Conflit de données (ex. : email déjà utilisé). |
422 Unprocessable Entity | Données sémantiquement invalides (ex. : date passée). |
429 Too Many Requests | Rate limit atteint. Consultez les en-têtes Retry-After. |
500 Internal Server Error | Erreur interne. Réessayez après quelques secondes. |
Erreurs métier
Codes spécifiques à Evalyo, retournés dans le champ error.code :
| Code | Description |
|---|---|
INSUFFICIENT_CREDITS | Quota d'entretiens épuisé. Rechargez depuis la page Facturation. |
INTERVIEW_ALREADY_COMPLETED | L'entretien a déjà été complété — impossible de le relancer. |
CANDIDATE_NOT_IN_CAMPAIGN | Le candidat n'appartient pas à ce processus de recrutement. |
TEST_ALREADY_ASSIGNED | Ce test est déjà assigné à ce candidat. |
JOB_CLOSED | L'offre est clôturée — impossible d'y créer un entretien. |
Questions fréquentes
Les erreurs réseau n'ont pas de corps JSON (connexion refusée, timeout). Les erreurs API retournent toujours un objet { error: { code, message } } avec un code HTTP >= 400.
Lisez l'en-tête Retry-After dans la réponse. Il indique le nombre de secondes à attendre avant de réessayer. Implémentez un backoff exponentiel pour les requêtes critiques.
Oui, les erreurs 500/503 sont généralement transitoires. Réessayez avec un backoff exponentiel (ex. : 1s, 2s, 4s). Si l'erreur persiste plus de 5 minutes, contactez le support.
Interceptez le code INSUFFICIENT_CREDITS et redirigez l'utilisateur vers la page de facturation, ou alertez votre équipe pour recharger les crédits.