Zum Inhalt springen
OpenALaCarte

Entwickler

Lesen Sie Buchungen, Bestellungen und Menüs all Ihrer Restaurants. Übermitteln Sie neue Buchungen von Server zu Server. Abonnieren Sie Webhooks für Echtzeit-Integrationen.

Authentifizierung

Jede Anfrage benötigt einen Authorization: Bearer oac_live_…-Header. Schlüssel werden in Ihrem Unternehmens-Dashboard ausgestellt und gelten für alle Restaurants des Unternehmens.

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

Ratenbegrenzung: 120 Anfragen/Minute pro Schlüssel. Eine 429-Antwort liefert einen Retry-After-Header zurück.

Endpunkte

GET

/api/v1/bookings

Listet Buchungen all Ihrer Restaurants auf. Filtern Sie nach restaurantId, Status, Datumsbereich. Cursor-paginiert.

POST

/api/v1/bookings

Erstellt eine Gastbuchung von Server zu Server. Gibt den confirmCode zurück, den der Integrator an den Gast weitergibt.

GET

/api/v1/orders

Listet Bestellungen auf. Filtern Sie nach restaurantId, Status, Typ (DINE_IN/TAKEAWAY/DELIVERY).

PATCH

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

Aktualisiert den Status einer Bestellung (CONFIRMED, PREPARING, READY, DELIVERED, CANCELLED). Löst die standardmäßige Gastbenachrichtigung aus.

POST

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

Erstattet eine bezahlte Bestellung vollständig über Stripe. Storniert die Anwendungsgebühr und das Guthaben in einem einzigen Aufruf.

GET

/api/v1/menu-items

Listet Menüartikel all Ihrer Restaurants auf. Enthält Preis, Allergene, Tags und Bestand.

Schnellbeispiel — die heutigen Buchungen auflisten

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

Abonnieren Sie Ereignisse, um in Echtzeit zu reagieren. Wir senden eine signierte JSON-Nutzlast an Ihren Endpunkt; Sie müssen innerhalb von 10 Sekunden mit 200 antworten.

booking.created

Eine Buchung wurde vorgenommen.

booking.status_changed

Eine Buchung hat den Status geändert (z. B. bestätigt → storniert).

order.created

Eine neue Bestellung wurde aufgegeben.

order.status_changed

Eine Bestellung hat den Status geändert (CONFIRMED → PREPARING → READY → DELIVERED).

review.created

Eine neue Bewertung ist für eines Ihrer Restaurants eingegangen.

menu_item.updated

Ein Menüartikel wurde bearbeitet (Preis, Beschreibung, Bestand).

Jede Zustellung enthält X-OAC-Signature: sha256=… — HMAC-SHA256 des Bodys mit dem Endpunkt-Geheimnis. Verifizieren Sie es, bevor Sie ihm vertrauen.

Fragen? Schreiben Sie eine E-Mail an devs@openalacarte.com oder öffnen Sie die OpenAPI-Spezifikation in Postman / Insomnia / Stoplight — jeder Endpunkt oben ist vollständig mit Beispielen dokumentiert.