Skip to main content
L’objectif de cette page : passer un premier appel réussi à l’API Le Commis. Comptez quelques minutes. Vous aurez besoin d’un accès aux réglages de l’établissement et d’un terminal (ou de votre langage favori).
1

Activer l'API et récupérer la clé

Dans les réglages de l’établissement, activez l’API, puis récupérez la clé X-Api-Key propre à cet établissement.
Seul un administrateur de l’établissement peut activer l’API et générer la clé. Si vous n’avez pas accès aux Paramètres de l’API, demandez à l’administrateur de l’établissement de l’activer.
Cette clé est un secret par établissement : c’est elle qui authentifie chaque appel. Vous pouvez la régénérer à tout moment depuis les mêmes réglages (la rotation invalide l’ancienne clé).
La clé X-Api-Key est une clé serveur-à-serveur. Ne l’exposez jamais dans du JavaScript navigateur ni dans un dépôt public : elle donnerait à n’importe qui un accès en lecture aux données de l’établissement. Stockez-la dans une variable d’environnement côté backend.
2

Premier appel

Récupérez l’identité de l’établissement (ici le slug d’exemple au-bistrot). Le slug identifie le tenant — on n’utilise jamais d’identifiant numérique.
Remplacez au-bistrot par le slug de votre établissement, visible dans ses réglages. La clé X-Api-Key est propre à cet établissement : une clé ne fonctionne que pour le slug auquel elle est associée.
Si vous obtenez 401 {"error":"Unauthorized"}, la clé est absente ou invalide. Si vous obtenez 404 {"error":"Not found"}, soit le slug est inconnu, soit l’API n’est pas activée pour cet établissement.
3

Lire la réponse

La ressource sérialisée est directement la racine du JSON — pas d’enveloppe data ni meta.
Notez le champ content_revision : c’est un entier qui s’incrémente à chaque changement de contenu de l’établissement. Stockez-le pour détecter les mises à jour et invalider votre cache.
Plusieurs champs sont nullables (description, category, website_url, menu_url, contact.email, contact.phone_number, location.address, location.latitude, location.longitude, logo_url). Prévoyez ces cas dans votre rendu.
4

Aller plus loin

Menus

Listez les menus web, lisez le détail d’un menu (sections, items, prix, allergènes).

Webhooks

Recevez un signal en temps réel à chaque changement et déclenchez un re-fetch.

Langues

Gérez le français et l’anglais via ?locale et comprenez les règles de fallback.