Webhooks

Erhalten Sie Echtzeit-Benachrichtigungen, wenn Ereignisse in Ihrem Geschäft auftreten.

Einführung

Webhooks ermöglichen Ihnen, HTTP-Benachrichtigungen auf Ihrem Server zu empfangen, wenn wichtige Ereignisse auftreten, wie:

  • Eine neue Buchung wird erstellt
  • Eine Buchung wird storniert
  • Eine Zahlung wird abgeschlossen
  • Ein neuer Kunde registriert sich

Anstatt die API regelmäßig abzufragen (Polling), empfängt Ihr Server die Daten automatisch, wenn Ereignisse auftreten.

1

Ereignis tritt auf

Ein Kunde macht eine Buchung

2

SalonBookIt benachrichtigt

Wir senden POST an Ihre URL

3

Ihr Server verarbeitet

Aktualisiert Ihr System

Konfiguration

Konfigurieren Sie Ihre Webhooks im Dashboard:

  1. Gehen Sie zu Konfiguration → Integrationen
  2. Im Abschnitt Webhooks, klicken Sie auf Webhook hinzufügen
  3. Geben Sie die URL Ihres Endpoints ein (muss HTTPS sein)
  4. Wählen Sie die Ereignisse aus, die Sie empfangen möchten
  5. Speichern Sie und kopieren Sie das Secret zur Überprüfung der Signaturen
URL-Anforderungen
  • Muss HTTPS verwenden (nicht HTTP)
  • Muss öffentlich zugänglich sein
  • Muss in weniger als 10 Sekunden antworten

Payload-Format

Jeder Webhook enthält folgende Struktur:

JSON
{
    "id": "evt_abc123xyz789",
    "type": "booking.created",
    "created": "2024-01-20T10:30:00Z",
    "tenant_id": "uuid-del-tenant",
    "data": {
        // Ereignisdaten (variieren je nach Typ)
    }
}

Webhook-Felder

Feld Typ Beschreibung
id string Eindeutige Ereignis-ID (für Idempotenz)
type string Ereignistyp (z.B.: booking.created)
created string ISO 8601-Zeitstempel des Ereignisses
tenant_id string Geschäfts-UUID
data object Ereignisspezifische Daten

Request-Header

Jeder Webhook enthält diese Header:

Header Beschreibung
Content-Type application/json
X-SalonBookIt-Signature HMAC-Signatur zur Authentizitätsprüfung
X-SalonBookIt-Event Ereignistyp
X-SalonBookIt-Delivery Liefer-ID (für Debugging)
X-SalonBookIt-Timestamp Zeitstempel, wann gesendet wurde

Erwartete Antwort

Ihr Server muss mit einem 2xx-Code (200, 201, 202, 204) antworten, um anzuzeigen, dass der Webhook korrekt empfangen wurde.

HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json

{"received": true}
Antworten Sie schnell

Antworten Sie innerhalb von 10 Sekunden. Wenn Sie schwere Daten verarbeiten müssen, speichern Sie das Ereignis und verarbeiten Sie es asynchron.

Wiederholungsrichtlinie

Wenn Ihr Server nicht antwortet oder einen Fehler zurückgibt (4xx oder 5xx), wiederholen wir automatisch:

Versuch Wartezeit
1 Sofort
2 5 Minuten
3 30 Minuten
4 2 Stunden
5 24 Stunden (final)

Nach 5 fehlgeschlagenen Versuchen wird der Webhook als fehlgeschlagen markiert und nicht mehr wiederholt. Sie können fehlgeschlagene Webhooks im Dashboard sehen.

Nächste Schritte