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.
Ereignis tritt auf
Ein Kunde macht eine Buchung
SalonBookIt benachrichtigt
Wir senden POST an Ihre URL
Ihr Server verarbeitet
Aktualisiert Ihr System
Konfiguration
Konfigurieren Sie Ihre Webhooks im Dashboard:
- Gehen Sie zu Konfiguration → Integrationen
- Im Abschnitt Webhooks, klicken Sie auf Webhook hinzufügen
- Geben Sie die URL Ihres Endpoints ein (muss HTTPS sein)
- Wählen Sie die Ereignisse aus, die Sie empfangen möchten
- Speichern Sie und kopieren Sie das Secret zur Überprüfung der Signaturen
- 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:
{
"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/1.1 200 OK
Content-Type: application/json
{"received": true}
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.