GET) ne renvoient ni 400 ni 422.
Format d’erreur
Toutes les erreurs partagent la même structure JSON à plat :details pour préciser le problème :
Message d’erreur lisible décrivant la nature du problème.
Optionnel. Tableau de précisions, une chaîne par point de détail. Absent quand il n’y a rien à détailler.
Codes HTTP
| Code | error | Cause |
|---|---|---|
401 | Unauthorized | Clé d’API absente ou invalide dans X-Api-Key. |
404 | Not found | Slug inconnu, ou API publique désactivée, ou menu inexistant. |
429 | Rate limit exceeded | Quota de requêtes dépassé. |
Les endpoints de lecture n’émettent pas de
400 Bad Request ni de 422 Unprocessable Entity. Un paramètre invalide (par exemple une locale inconnue) est silencieusement corrigé plutôt que rejeté.401 Unauthorized
La clé d’API est absente de l’en-tête X-Api-Key, ou ne correspond à aucun établissement.
404 Not found
Trois causes possibles, indistinguables par conception :
- le
slugd’établissement n’existe pas ; - l’établissement existe mais son API publique est désactivée (
public_api_enabledàfalse) ; - le
menu_type_slugdemandé n’a pas de menu courant.
Le
404 est volontairement renvoyé à la place d’un 403 quand l’API est désactivée, afin de ne pas divulguer l’existence de l’établissement. Détails dans Authentification.429 Rate limit exceeded
Le
429 peut provenir du quota par clé d’API ou du quota par adresse IP. Le corps de réponse ne précise pas lequel des deux a été atteint : appliquez la même stratégie de backoff dans les deux cas.Réagir aux erreurs
JavaScript