Standard ouvert OAC
Une spécification JSON neutre pour les données de restaurant. Un seul point d'accès renvoie tout ce dont vous avez besoin pour afficher, router ou réserver.
Exemple rapide
curl https://www.openalacarte.com/api/standard/v1/restaurants/<slug>
Sans authentification. Mis en cache en périphérie pendant 5 minutes. CORS ouvert — appelez-le depuis un navigateur.
Ce que contient la réponse
restaurant.*
Identité, contact, devise, adresse avec lat/lng, horaires d'ouverture par jour, ce qu'ils acceptent (réservations / livraison / retrait).
menu.sections[].items[]
Le menu actif complet — nom, description, prix, devise, allergènes, image — regroupé par section.
spec + fetched
Enveloppe versionnée (`openalacarte.standard/v1`) + horodatage ISO pour que les caches en aval sachent ce qu'ils ont.
Identifiants stables
Le `slug` du restaurant est l'identifiant canonique. Nous ne cassons pas les URL ; les slugs renommés renvoient des 301.
Versionnage
SemVer au niveau de l'URL. Les ajouts v1.* sont rétrocompatibles (nouveaux champs, jamais supprimés/renommés). Les changements incompatibles passent à /v2/ avec un chevauchement de 12 mois.
Les dépréciations sont annoncées dans le journal des modifications développeur de cette page + via l'en-tête de réponse Deprecation.
Qui l'utilise
Le Standard ouvert est consommé par :
- Notre propre générateur JSON-LD pour Google Maps Reserve + Apple Business Connect
- Widgets intégrables (/restaurants/[slug]) — même charge utile, HTML rendu
- (Futur) intégrateurs tiers — DoorDash, Uber Eats, Tock — lorsqu'ils veulent des données OAC canoniques
Vous construisez par-dessus ? Écrivez à devs@openalacarte.com et nous vous référencerons ici.
Pourquoi un standard « ouvert » ?
Parce que la spécification est documentée + versionnée + stable. Nous nous engageons à ne pas la casser. Si vous écrivez du code contre /v1/, ce code continue de fonctionner — même si OAC change de cap, même si nous sommes rachetés.