Passer au contenu

Référence

Réservations

Consultez les réservations de tous vos restaurants et créez-les de serveur à serveur. La création vérifie la capacité, de sorte que l'API ne peut jamais surréserver un créneau.

GET/api/v1/bookings

Liste paginée des réservations de tous vos restaurants, les plus récentes en premier.

Requête : restaurantId, status, from (date ISO), to (date ISO), limit (≤100), cursor

200 OK
{
  "data": [
    {
      "id": "clxa1...",
      "restaurantId": "clw...",
      "date": "2026-01-15T00:00:00.000Z",
      "time": "19:30",
      "partySize": 4,
      "status": "CONFIRMED",
      "notes": "Window table if possible",
      "source": null,
      "createdAt": "2025-12-01T10:42:33.000Z",
      "diner": { "name": "Jane Doe", "email": "jane@example.com", "phone": null }
    }
  ],
  "nextCursor": "clxa0..."
}
POST/api/v1/bookings

Créez une réservation client sur un restaurant détenu par votre clé. Renvoie 201 avec le confirmCode et déclenche booking.created sur les webhooks abonnés.

cURL
curl -X POST https://www.openalacarte.com/api/v1/bookings \
  -H "Authorization: Bearer oac_live_<your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "restaurantId": "clw...",
    "date": "2026-01-15",
    "time": "19:30",
    "partySize": 4,
    "guestName": "Jane Doe",
    "guestEmail": "jane@example.com",
    "guestPhone": "+44 7700 900000",
    "notes": "Allergic to peanuts"
  }'

Obligatoire : restaurantId, date (AAAA-MM-JJ), time (HH:MM), partySize (1–50), guestName, guestEmail.

Capacité vérifiée côté serveur sous verrou : si le créneau est complet, vous obtenez 409 — la réservation n'est jamais allouée deux fois, même en cas de requêtes simultanées.