Passer au contenu
OpenALaCarte

Développeurs

Consultez les réservations, les commandes et les menus de tous vos restaurants. Créez de nouvelles réservations de serveur à serveur. Abonnez-vous aux webhooks pour des intégrations en temps réel.

Authentification

Chaque requête nécessite un en-tête Authorization: Bearer oac_live_…. Les clés sont émises dans le tableau de bord de votre entreprise et couvrent tous les restaurants rattachés à celle-ci.

curl https://www.openalacarte.com/api/v1/bookings \
  -H "Authorization: Bearer oac_live_<your-key>"

Limite de débit : 120 requêtes/minute par clé. Une réponse 429 renvoie un en-tête Retry-After.

Points de terminaison

GET

/api/v1/bookings

Liste les réservations de tous vos restaurants. Filtrez par restaurantId, statut, plage de dates. Pagination par curseur.

POST

/api/v1/bookings

Crée une réservation client de serveur à serveur. Renvoie le confirmCode que l'intégrateur transmet au client.

GET

/api/v1/orders

Liste les commandes. Filtrez par restaurantId, statut, type (DINE_IN/TAKEAWAY/DELIVERY).

PATCH

/api/v1/orders/{id}/status

Met à jour le statut d'une commande (CONFIRMED, PREPARING, READY, DELIVERED, CANCELLED). Déclenche la notification standard du client.

POST

/api/v1/orders/{id}/refund

Rembourse intégralement une commande payée via Stripe. Annule les frais d'application et reverse les fonds en un seul appel.

GET

/api/v1/menu-items

Liste les articles de menu de tous vos restaurants. Inclut le prix, les allergènes, les tags et le stock.

Exemple rapide — lister les réservations du jour

curl "https://www.openalacarte.com/api/v1/bookings?from=$(date -u +%Y-%m-%d)&status=CONFIRMED" \
  -H "Authorization: Bearer oac_live_<your-key>"

# Response:
# {
#   "data": [
#     { "id": "...", "restaurantId": "...", "date": "2026-05-28T…",
#       "time": "19:30", "partySize": 4, "status": "CONFIRMED",
#       "confirmCode": "abc12345", "diner": { "name": "...", "email": "..." } }
#   ],
#   "nextCursor": null
# }

Webhooks

Abonnez-vous aux événements pour réagir en temps réel. Nous envoyons une charge utile JSON signée à votre point de terminaison ; vous devez répondre 200 dans les 10 secondes.

booking.created

Une réservation a été effectuée.

booking.status_changed

Une réservation a changé de statut (par ex. confirmée → annulée).

order.created

Une nouvelle commande a été passée.

order.status_changed

Une commande a changé de statut (CONFIRMED → PREPARING → READY → DELIVERED).

review.created

Un nouvel avis a été déposé pour l'un de vos restaurants.

menu_item.updated

Un article de menu a été modifié (prix, description, stock).

Chaque livraison comporte X-OAC-Signature: sha256=… — HMAC-SHA256 du corps avec le secret du point de terminaison. Vérifiez avant de faire confiance.

Des questions ? Envoyez un e-mail à devs@openalacarte.com ou ouvrez la spécification OpenAPI dans Postman / Insomnia / Stoplight — chaque point de terminaison ci-dessus est entièrement documenté avec des exemples.