L’API EasyJobs utilise des codes de réponse HTTP standards ainsi que des messages d’erreur détaillés pour vous permettre de diagnostiquer et résoudre rapidement les problèmes éventuels.
Voici les principaux codes de réponse que vous pouvez rencontrer lors de l’utilisation des endpoints de l’API EasyJobs. Chaque code est accompagné d’une brève explication pour faciliter le diagnostic des erreurs.
Code HTTP | Signification | Description |
---|---|---|
200 | OK | Requête traitée avec succès. |
201 | Created | Ressource créée avec succès (exemple : une offre d’emploi ajoutée). |
204 | No Content | Requête traitée avec succès, mais sans contenu dans la réponse. |
400 | Bad Request | Données invalides ou mal formées (exemple : champ manquant ou format incorrect). |
401 | Unauthorized | Authentification manquante ou incorrecte (si jeton / clé absents). |
403 | Forbidden | Authentification échouée (jeton ou clé invalide), ou origine non autorisée. |
404 | Not Found | L’offre d’emploi est introuvable. Elle a peut-être été supprimée. |
405 | Method Not Allowed | Méthode non autorisée (exemple : PUT au lieu de POST). |
409 | Conflict | Conflit de données (exemple : identifiant d’offre déjà existant). |
413 | Payload Too Large | Le corps de la requête dépasse la taille maximale autorisée (3 Mo). |
422 | Unprocessable Entity | Données valides sur le plan syntaxique mais incohérentes sur le plan logique (exemple : Si vous définissez un salaire général dans le champ salary , veuillez ne pas renseigner salary_min et salary_max ). |
429 | Too Many Requests | Limite de requêtes dépassée (rate limiting). |
500 | Internal Server Error | Erreur inattendue côté serveur. Contactez le support si nécessaire. |
502 | Bad Gateway | Le serveur a reçu une réponse invalide. |
503 | Service Unavailable | Service temporairement indisponible. |
Cette section répertorie les principaux messages d’erreur que l’API peut retourner, en lien avec les champs soumis, les règles de validation, ou les droits d’accès. Ces messages peuvent être utilisés pour afficher des retours clairs à l’utilisateur final.
Code | Message | Cause probable | Solution |
---|---|---|---|
400 | Erreur : Le JSON reçu n’est pas valide. | Corps de la requête mal formé (JSON invalide). | Vérifiez la syntaxe du JSON (guillemets, virgules, crochets fermants). |
400 | Le champ 'title' est obligatoire. | Le champ requis title est manquant. |
Vérifiez les données envoyées. |
400 | Le champ 'date' doit avoir un format valide : YYYY-MM-DD HH:mm:ss | Format de date invalide. | Corrigez le format des dates. |
401 | Non autorisé. Jeton manquant. | Aucun en-tête Authorization envoyé. | Ajoutez votre jeton Bearer. |
403 | Non autorisé. Jeton invalide. | Jeton d’authentification incorrect ou expiré. | Rafraîchissez votre jeton (token). |
403 | Origine non autorisée. | En-tête Origin absent ou domaine non inscrit. | Vérifiez l’URL d’origine. |
404 | L’offre d’emploi est introuvable. Elle a peut-être été supprimée. | Identifiant de l’offre inexistant ou supprimé. | Confirmez que l’identifiant fourni est correct et que l’offre existe toujours. |
405 | Méthode non autorisée. | Méthode HTTP incorrecte (exemple : PUT au lieu de POST). | Utilisez la bonne méthode (POST, PUT, etc.). |
409 | Erreur lors de la modification de l’offre. | Conflit de données (exemple : identifiant existant). | Vérifiez que l’identifiant fourni correspond à une offre existante et qu’aucune autre offre n’utilise déjà ces données conflictuelles. |
422 | Si vous définissez un salaire général dans le champ 'salary', veuillez ne pas renseigner 'salary_min' et 'salary_max'. | Conflit logique entre les champs salary et salary_min/salary_max. | Fournissez soit le champ salary , soit salary_min et salary_max , mais pas les deux. |
500 | Erreur interne du serveur. | Problème inattendu côté serveur. | Contactez le support EasyJobs si le problème persiste. |
- Format de salaire non conforme :
- En-tête Origin manquant ou incorrect :
- Jeton expiré ou non valide :
- Méthode HTTP incorrecte :
- JSON invalide :
- Absence de contenu dans la requête POST :
- Conflit entre les champs
salary
etsalary_min
/salary_max
: - ID déjà existant :
Si le format du champ salary
, salary_min
ou salary_max
n’est pas strictement respecté (par exemple : 30000€/an ou 27400€/an – 32100€/an), l’API renverra une erreur 400 avec un message précisant le format attendu.
L’API exige un en-tête Origin précis (exemple : https://www.domaine-origine.com). Si cet en-tête est absent ou non reconnu, une erreur 403 est renvoyée : Origine non autorisée.
Si le token d’authentification est mal formé, expiré ou incorrect, l’API renvoie une erreur 403 avec le message : Non autorisé. Jeton invalide.
Certains endpoints acceptent uniquement des requêtes POST (exemple : /job-posting). Toute tentative avec une méthode GET ou PUT renverra une erreur 405.
Si le corps de la requête contient un JSON mal formé (exemple : des guillemets manquants ou une virgule oubliée), l’API renverra une erreur 400 : Le JSON reçu n’est pas valide.
Si aucune donnée n’est envoyée dans le corps de la requête (corps vide ou manquant), l’API renverra une erreur 400 avec le message : Le JSON reçu n’est pas valide.
Il est recommandé de fournir soit le champ salary
, soit la paire salary_min
et salary_max
, mais pas les deux simultanément. L’API peut renvoyer une erreur 400 si les champs sont incohérents.
Si vous envoyez un identifiant (id) déjà utilisé pour une autre offre, selon la logique configurée, l’API peut renvoyer soit une réussite (mise à jour) soit une erreur 409 (Conflit).
Voici quelques conseils pour résoudre les erreurs les plus fréquentes retournées par l’API.
Code | Signification | Recommandation |
---|---|---|
400 | Bad Request | Vérifiez que tous les champs requis sont présents et que leurs formats respectent les spécifications. |
401 | Unauthorized | Assurez-vous que le Bearer Token et la Usersecretkey sont valides et correctement transmis. |
403 | Forbidden | Vérifiez que l’en-tête User-Agent est bien présent. Consultez la page Erreur 403. |
404 | Not Found | Vérifiez l’identifiant de l’offre, ou l’URL du endpoint appelée. |
409 | Conflit | Ce code est souvent retourné si un ID existe déjà lors d’une création. Choisissez un identifiant unique. |
422 | Unprocessable Entity | Certains champs sont bien transmis mais contiennent des données invalides. Consultez les messages d’erreur retournés. |
429 | Too Many Requests | Attendez quelques secondes avant de réessayer. Consultez les règles de retry limité. |
500 | Erreur interne | Erreur côté serveur. Réessayez plus tard ou contactez le support si le problème persiste. |
- Validez vos données localement avant de les envoyer (formats, champs obligatoires).
- En cas de réponse 400 ou 403, consultez le message d’erreur détaillé pour corriger rapidement.
- Implémentez une logique de retry limitée pour les erreurs 500 ou les soucis réseau.
- Accédez aux logs de vos requêtes dans le dashboard EasyJobs API pour faciliter le débogage et le suivi des échanges avec l’API.
Pour la gestion des erreurs temporaires (500, 503, 429), voir la documentation du retry limité.
- Lors de l’intégration avec des langages stricts (comme C#), assurez-vous que les en-têtes sensibles (comme Origin) sont bien envoyés. Certaines bibliothèques natives peuvent restreindre leur utilisation.
- Vérifiez toujours les réponses JSON pour détecter les messages d’erreur spécifiques fournis par l’API. Cela vous permettra d’ajuster vos requêtes et de faciliter le débogage.
- Pour les erreurs 400 et 422, consultez toujours le message détaillé retourné par l’API afin d’identifier le champ ou le format problématique.
En cas d’erreurs récurrentes ou inattendues, n’hésitez pas à contacter le support EasyJobs en fournissant le détail de votre requête et le journal des erreurs.