Estaly utilise des codes de réponse HTTP conventionnels pour indiquer le succès ou l'échec d'une requête API.
Les réponses d'erreur sont au format JSON : { "error": "<message>", "status": <code> }.
Certaines routes peuvent renvoyer des champs supplémentaires (message, error_details).
| Code | Signification |
|---|---|
| 400 | Bad Request – Un paramètre est manquant ou invalide (ex. paramètre obligatoire absent, payload mal formé). |
| 401 | Unauthorized – La clé d’API est invalide, le token a expiré, ou le store associé n’est pas actif. |
| 403 | Forbidden – Authentification valide mais droits insuffisants (scopes API manquants ou store non autorisé pour cette ressource). |
| 404 | Not Found – La ressource demandée n’existe pas. Vérifiez l’URL, le store_id et les identifiants (ex. order_reference_id, friendly_id). |
| 422 | Unprocessable Entity – Requête syntaxiquement valide mais rejetée par les règles métier (ex. commande trop ancienne pour annulation, commande déjà annulée etc..). Le champ error précise la cause. |
| 500 | Internal Server Error – Erreur côté ESTALY. L’équipe technique est notifiée ; Arrive rarement ! |
Exemples de réponses
400 – Paramètre manquant
{ "error": "Bad request", "status": 400 }401 – Non authentifié
{ "error": "Unauthorized", "status": 401 }403 – Droits insuffisants
{ "error": "Forbidden", "status": 403 }404 – Ressource introuvable
{ "error": "Not found", "status": 404 }422 – Erreur de validation métier
{ "error": "Commande déjà annulée", "status": 422 }