Skip to main content
L’API Le Commis renvoie un format d’erreur plat et un petit ensemble de codes HTTP. Les endpoints de lecture (GET) ne renvoient ni 400 ni 422.

Format d’erreur

Toutes les erreurs partagent la même structure JSON à plat :
string
required
Message d’erreur lisible décrivant la nature du problème.
string[]
Optionnel et réservé : les endpoints de lecture actuels (GET) ne renvoient jamais de details. Le champ existe dans le schéma d’erreur mais n’est pas émis aujourd’hui.

Codes HTTP

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.
Voir Authentification pour transmettre correctement la clé.

404 Not found

Trois causes possibles, indistinguables par conception :
  • le slug d’établissement n’existe pas ;
  • l’établissement existe mais son API est désactivée (public_api_enabled à false) ;
  • le menu_type_slug demandé 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.
Vous avez dépassé un quota de requêtes (par clé ou par IP).
Appliquez un backoff avant de réessayer — voir Quotas de requêtes.

Réagir aux erreurs

JavaScript