Anmelden um den Slug und den veröffentlichbaren Schlüssel Ihrer Location in jedem Beispiel zu sehen.
Ihr Konto hat noch keine Location, die Beispiele behalten daher ihre Platzhalter. Abmelden
Angemeldet als · . Legen Sie in der Konsole einen veröffentlichbaren Schlüssel an und laden Sie die Seite neu, um ihn hier zu sehen. Abmelden
Angemeldet als · . Die Beispiele zeigen den veröffentlichbaren Schlüssel Ihrer Location. Abmelden
Entwicklerdokumentation
Fehler
Jeder Problem-Type, den die API bei einem abgelehnten Schlüssel sendet, seine Ursache, die Abhilfe – und die Probleme ohne Reason-Code.
Lehnt die API eine Anfrage wegen des Schlüssels ab, ist der type im Problem-Body https://bookdineplay.com/docs/api/errors/<reason>, und <reason> ist einer der sechs Abschnitte auf dieser Seite. Folgen Sie der URL, landen Sie hier. Jede andere Ablehnung – Validierung, eine fehlende Location, ein vergebener Slot – steht am Ende.
| Reason | Status | In einem Satz |
|---|---|---|
| missing-api-key | 401 | Kein Schlüssel bei einer Anfrage unter /api/venues/** |
| invalid-api-key | 401 | Der Schlüssel ist unbekannt oder wurde widerrufen |
| venue-mismatch | 403 | Der Schlüssel gehört zu einer anderen Location |
| origin-not-allowed | 403 | Veröffentlichbarer Schlüssel, Origin nicht auf seiner Liste |
| secret-key-from-browser | 403 | Geheimer Schlüssel mit Origin-Header gesendet |
| publishable-key-without-origin | 403 | Veröffentlichbarer Schlüssel ohne Origin-Header gesendet |
missing-api-key
401. Die Anfrage erreichte einen Endpunkt unter /api/venues/** ohne X-BookDinePlay-Key- und ohne Authorization: Bearer-Header. Meist wurde der Header auf der falschen Client-Instanz gesetzt oder ein Proxy hat ihn entfernt. Abhilfe: Senden Sie den Schlüssel bei jeder Anfrage – siehe Einen Schlüssel senden.
{
"type": "https://bookdineplay.com/docs/api/errors/missing-api-key",
"title": "Unauthorized",
"status": 401,
"detail": "An API key is required. Send it in the 'X-BookDinePlay-Key' header or an 'Authorization: Bearer' header.",
"traceId": "0HNOJ52B2L9BB"
}invalid-api-key
401. Ein Schlüssel wurde gesendet, aber kein aktiver Schlüssel passt dazu: Er wurde falsch abgetippt, in der Konsole unter Location → API-Schlüssel widerrufen oder rotiert, und der alte Wert ist noch im Einsatz. Abhilfe: Kopieren Sie den aktuellen Schlüssel aus der Konsole; beim Rotieren zuerst den neuen Schlüssel ausrollen, dann den alten widerrufen.
venue-mismatch
403. Der Schlüssel ist gültig, aber an eine andere Location gebunden als der {venueSlug} in der URL. Schlüssel gelten pro Location; eine Website, die mehrere Locations einbettet, braucht je einen Schlüssel (genau dafür gibt es das Attribut key des WordPress-Plugins). Abhilfe: Verwenden Sie den Schlüssel, der unter der aufgerufenen Location erstellt wurde.
origin-not-allowed
403. Ein veröffentlichbarer Schlüssel wurde von einem Origin gesendet, der nicht auf seiner Liste steht. Typische Ursachen: Die Website ist auf eine neue Domain umgezogen, www gegenüber der nackten Domain, http gegenüber https oder ein Staging-Host. Abhilfe: Tragen Sie den exakten Origin (Schema, Host und ggf. Port) unter Location → API-Schlüssel ein oder ergänzen Sie für die lokale Entwicklung ein Port-Wildcard :* – siehe Origins.
{
"type": "https://bookdineplay.com/docs/api/errors/origin-not-allowed",
"title": "Forbidden",
"status": 403,
"detail": "This origin is not on the API key's list of allowed origins.",
"traceId": "0HNOJ52B2L9BD"
}secret-key-from-browser
403. Ein geheimer Schlüssel (bdp_sk_…) kam zusammen mit einem Origin-Header an, den nur Browser senden. Ein geheimer Schlüssel im Browser ist ein veröffentlichtes Geheimnis, daher wird die Anfrage sofort abgelehnt statt bedient. Abhilfe: Widerrufen Sie diesen Schlüssel jetzt, erstellen Sie einen veröffentlichbaren Schlüssel für den Browser und behalten Sie geheime Schlüssel auf dem Server.
publishable-key-without-origin
403. Ein veröffentlichbarer Schlüssel (bdp_pk_…) kam ohne Origin-Header an. Veröffentlichbare Schlüssel sind durch ihre Origin-Liste geschützt, und ohne Origin gibt es nichts zu prüfen. So sieht ein serverseitiger Aufruf mit einem veröffentlichbaren Schlüssel aus. Abhilfe: Verwenden Sie auf dem Server einen geheimen Schlüssel; kommt der Aufruf wirklich aus einem Browser, wird der Origin-Header automatisch ergänzt – fehlt er, kam die Anfrage nicht von einem Browser.
Probleme ohne Reason-Code
Diese tragen den allgemeinen RFC-9110-type; detail sagt, was passiert ist.
| Status | Wann | Was tun |
|---|---|---|
| 400 | Ein Feld ist an der Validierung gescheitert; errors listet die Felder |
Eingabe korrigieren; die Feldnamen sind die Eigenschaftsnamen der Anfrage |
| 400 | date ist nicht yyyy-MM-dd, oder Uhrzeit bzw. Dauer einer Reservierung sind keine, die die Location anbietet |
Die Werte aus der Verfügbarkeitsantwort unverändert senden |
| 404 | Keine Location mit diesem Slug; keine Reservierung mit dieser Referenz; das QR-Token oder die Tischsitzung ist nicht aktiv | Slug prüfen; ein widerrufener QR-Code bleibt 404 – den neuen drucken |
| 409 | Der Slot wurde zwischen Verfügbarkeit und Reservierung vergeben; die Rechnung wurde gerade geschlossen; die Location hat Online-Zahlungen nicht aktiviert | Verfügbarkeit neu abfragen und den nächsten Slot anbieten; neue Sitzung starten; den Anzahlungsschritt überspringen |
| 5xx | Unser Fehler | Mit exponentiellem Backoff wiederholen; bleibt es, die traceId an den Support senden |
Nächste Schritte
- Authentifizierung – dieselben Ablehnungen aus Sicht des Schlüssels.
- API-Referenz – das Format des Problem-Bodys.