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
Nachrichten
Im Namen eines Gastes eine Unterhaltung mit der Location beginnen – ein serverseitiger Aufruf öffnet einen Thread, den die Location in der Konsole beantwortet.
Ein Gast mit einer Frage – „Ist die Eventfläche am 24. für achtzehn Personen frei?“ – sollte nicht anrufen müssen. Dieser Endpunkt öffnet einen Unterhaltungs-Thread mit der Location; die Location antwortet aus der Konsole, und der Gast erhält die Antwort per E-Mail. Er folgt denselben Schlüssel- und CORS-Regeln wie jede andere Route unter /api/venues/** (CORS und Preflight) – ein veröffentlichbarer Schlüssel mit einem Origin-Header funktioniert wie überall sonst aus dem Browser. Empfohlen bleibt trotzdem der serverseitige Aufruf mit einem geheimen Schlüssel: Die E-Mail-Adresse und der Freitext eines Gasts gehören besser hinter Ihr eigenes Formular mit eigenen Maßnahmen gegen Missbrauch als direkt an einen Schlüssel auf der Seite.
Endpunkte
POST /api/venues/{venueSlug}/messages
Request-Body (Content-Type: application/json)
| Feld | Erforderlich | Bedeutung |
|---|---|---|
guestName |
ja | Bis 120 Zeichen |
guestEmail |
ja | Eine gültige E-Mail-Adresse – dorthin geht die Antwort |
subject |
ja | Bis 200 Zeichen |
body |
ja | Bis 4000 Zeichen |
Antwort 202 Accepted – der Thread existiert und die Location wurde benachrichtigt. Der Body enthält die Thread-Id für Ihre eigenen Unterlagen; einen öffentlichen Lese-Endpunkt für Threads gibt es nicht.
{
"threadId": "f0c5853d-97e9-4744-a0d3-dda85e1f3f3a"
}Fehler
| Status | Wann |
|---|---|
400 |
Ein Feld ist leer, keine E-Mail-Adresse oder zu lang (errors.message) |
403 |
Der Tarif der Location enthält keine Gastnachrichten – bieten Sie stattdessen Telefon oder E-Mail der Location aus business-info an |
404 |
Keine Location mit diesem Slug |
curl
curl -X POST "https://api.bookdineplay.com/api/venues/your-venue/messages" \
-H "Authorization: Bearer $BOOKDINEPLAY_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{ "guestName": "Ada Lovelace", "guestEmail": "ada@example.com", "subject": "Private event on 24 October?", "body": "We are 18 people — is the event area free that evening?" }'JavaScript
// Node.js auf Ihrem Server – der Schlüssel kommt aus der Umgebung, nie aus der Seite.
const response = await fetch('https://api.bookdineplay.com/api/venues/your-venue/messages', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.BOOKDINEPLAY_SECRET_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ guestName, guestEmail, subject, body })
});
if (response.status === 403) { /* Nachrichten für diese Location nicht verfügbar */ }C#
var result = await client.StartConversationAsync("your-venue", new StartConversationRequest(
"Ada Lovelace", "ada@example.com", "Private event on 24 October?",
"We are 18 people — is the event area free that evening?"), cancellationToken);
if (result.Status != StartConversationStatus.Sent) { /* NotAvailable, Invalid oder Failed */ }Die curl- und JavaScript-Beispiele senden einen geheimen Schlüssel und keinen Origin-Header – die empfohlene serverseitige Form. Ein veröffentlichbarer Schlüssel mit Origin-Header wird ebenso angenommen, genau wie bei jeder anderen Route unter /api/venues/**; abgelehnt wird nur ein veröffentlichbarer Schlüssel ohne Origin, mit publishable-key-without-origin (Fehler).