Für Entwickler und Partnersysteme

Nova Mesa API

Mit der REST-API können Kassensysteme, CRM- und Newsletter-Tools Gäste und Reservierungen eines Restaurants lesen und schreiben. Jedes Restaurant erstellt seine API-Schlüssel selbst im Bereich „Daten & Schnittstellen“.

Anmeldung

Authorization: Bearer nm_xxxxxxxxxxxxxxxx
Content-Type: application/json

Basis-URL: https://novamesa.de/api/v1 · Höchstens 600 Anfragen pro Minute und Schlüssel · Datumsangaben im Format JJJJ-MM-TT, Uhrzeiten HH:MM.

Endpunkte

GET/guestsAlle Gäste. Optional ?updated_since=2026-10-01
POST/guestsGast anlegen oder vorhandenen (gleiche E-Mail/Telefon) ergänzen
GET/guests/{id}Ein Gast
PATCH/guests/{id}Gast ändern (firstName, lastName, phone, email, tags, allergies, notes, birthday, preferredRoom, marketingConsent)
DELETE/guests/{id}Gast löschen (DSGVO); Reservierungen werden anonymisiert
GET/reservationsReservierungen. Filter: ?date=, ?from=, ?to=, ?updated_since=
POST/reservationsReservierung anlegen (date, time, party, name, phone, email, note, status, source, externalId)
GET/reservations/{id}Eine Reservierung
PATCH/reservations/{id}Reservierung ändern (date, time, party, note, status)
GET/availability?date=&party=Freie Online-Uhrzeiten

Gutscheine für Kassensysteme

Für Kassen gibt es eigene Schlüssel, die nur auf Gutscheine zugreifen dürfen (im Restaurant-Bereich unter „Gutscheine → Kassensystem“). Beträge als amount in Euro (z. B. 23.50) oder amount_cents.

GET/vouchers/{code}Gutschein prüfen: Status, Restwert, Gültigkeit, Verlauf. Code mit oder ohne Bindestriche, auch der ganze QR-Inhalt
POST/vouchers/{code}/redeemEinlösen: amount, reference (Bon-Nr.), note; partial:true löst nur den Restwert ein, wenn der Betrag größer ist
POST/vouchers/{code}/reverseEinlösung stornieren (z. B. Bon storniert): redemption_id, reason
POST/vouchersGutschein an der Kasse verkaufen: amount, payment_method (Bar, Kartenzahlung, Überweisung), reference; liefert Code und PDF-Link
GET/vouchersAlle Gutscheine, optional ?status= und ?updated_since=

Doppelte Einlösung verhindern: Header Idempotency-Key mitsenden oder reference angeben. Kommt dieselbe Anfrage noch einmal (z. B. nach einem Netzwerkfehler), liefert die API die erste Antwort erneut und bucht nicht doppelt. Antwortcodes: 404 unbekannt, 409 nicht einlösbar oder Restwert zu gering (mit balance_cents), 422 Eingabe fehlt.

curl -X POST https://novamesa.de/api/v1/vouchers/ABCD-EFGH-JKLM/redeem \
  -H "Authorization: Bearer nm_..." -H "Content-Type: application/json" \
  -H "Idempotency-Key: bon-4711" \
  -d '{"amount": 23.50, "reference": "Bon 4711"}'
→ {"redemption_id": 81, "redeemed_cents": 2350, "balance_cents": 2650, "status": "active", "code": "ABCD-EFGH-JKLM"}

Beispiel

curl -X POST https://novamesa.de/api/v1/reservations \
  -H "Authorization: Bearer nm_..." -H "Content-Type: application/json" \
  -d '{"date":"2026-11-14","time":"19:30","party":4,"name":"Anna Becker",
       "phone":"+49 170 1234567","email":"anna@beispiel.de","source":"Kassensystem"}'

Statuswerte: bestaetigt, angekommen, platziert, fertig, noshow, storniert.

Import und Export ohne Programmierung

Restaurants können Gäste und Reservierungen als CSV-Datei (z. B. aus OpenTable, Quandoo, resmio, TheFork oder Excel) importieren und alle Daten jederzeit als CSV oder JSON exportieren.