Webhookok: Bookinda események élőben más rendszerekbe
Hogyan kapcsold össze a Bookindát ActiveCampaign, Zapier, Make és n8n rendszerekkel 53 valós idejű eseményen át
Webhookok: Bookinda események élőben más rendszerekbe
A webhookok azt jelentik: amikor valami történik a Bookindában, mi azonnal HTTP POST-ot küldünk egy általad megadott URL-re. Nem kell kérdezgetned a rendszert, nem kell időzíteni semmit, élőben látod a változást.
53 esemény közül választhatsz: foglalások, ügyfelek, eladás, csomagok, bérletek, hotel, marketing. Bármelyikre felirathatsz külső rendszert, és onnantól a marketing- és business-automatizációd egy lépéssel közelebb a teljes automatizmushoz.
Mire jó
- Marketing automatizációk: új ügyfél jött → automatikus üdvözlő email-sorozat (ActiveCampaign, Mailchimp, Klaviyo)
- CRM-szinkron: foglalás teljesült → CRM kontakt frissítés értékkel + tagekkel (HubSpot, Pipedrive)
- Számvitel: sale.completed → automatikus számla a könyvelődnek (Google Sheets, Notion, Airtable)
- Csapat-kommunikáció: appointment.no_show → Slack üzenet a csapatnak
- Kifelé bárhova: saját szerver, Zapier, Make, n8n, Pipedrive, ActiveCampaign, HubSpot — bármi ami HTTP-n hallgat
Beállítás 3 lépésben
1. Hozz létre egy végpontot Bookindában
Manager felületén: Beállítások → Integrációk → Webhookok → "+ Új végpont"
Add meg:
- Cél URL — a fogadó rendszer webhook URL-je (HTTPS kötelező)
- Leírás — pl. "ActiveCampaign Production" (csak neked, könnyebb keresés a listában)
- Események — 53-ból azokat válaszd amiket figyelni szeretnél
2. Mentsd el a secret kulcsot
Létrehozás után egyszer megjelenik a webhook secret. Másold ki, tedd biztonságos helyre. Ezzel ellenőrizheted majd a fogadó oldalon, hogy a kérés tényleg Bookindától jön (HMAC aláírás verifikáció).
3. Teszteld
A "Teszt" gomb azonnal küld egy szintetikus eventet a megadott URL-re. A "Kézbesítések" gombbal látod a delivery historyt: HTTP status, válaszidő, retry-szám, hibaüzenet.
Mit kapsz a webhookban?
Minden esemény ugyanabban a borítékban érkezik:
{
"id": "evt_5d7f8a3b9c2e4d1a8b6c2f3e",
"event": "appointment.created",
"apiVersion": "2026-05",
"occurredAt": "2026-05-04T08:15:23.000Z",
"tenant": { "id": "...", "slug": "demo-salon", "name": "Demo Salon" },
"data": {
"customer": { "id": "...", "firstName": "Anna", "email": "[email protected]", "phone": "+36..." },
"appointment": {
"id": "...",
"startTime": "2026-05-05T13:00:00.000Z",
"status": "CONFIRMED",
"price": 12000,
"serviceId": "...",
"staffId": "...",
"locationId": "..."
}
}
}
Az id mezőt használd idempotency key-ként: ha ugyanaz az event kétszer érkezik (retry miatt), csak egyszer dolgozd fel.
Aláírás-ellenőrzés (HMAC-SHA256)
Header-ek:
X-Bookinda-Signature: t=<timestamp>,v1=<hmac_hex>X-Bookinda-Event: appointment.createdX-Bookinda-Delivery: evt_...X-Bookinda-Timestamp: 1714809323
Algoritmus: HMAC-SHA256(secret, "<timestamp>.<body>")
5 percnél régebbi timestampot utasítsd el (replay protection).
A teljes szintaxis és példa kód a /help/webhooks-receiver-setup cikkben.
53 esemény főbb csoportjai
- Foglalások (9): created, updated, confirmed, rescheduled, cancelled, no_show, completed, checked_in, reminder_sent
- Ügyfelek (8): created, updated, deleted, birthday, first_appointment, lapsed, loyalty_tier_changed, points_earned
- Eladás és fizetés (6): sale.completed/refunded/voided, payment.completed/failed/tip_received
- Csomagok (4): purchased, expiring, expired, fully_used
- Bérletek (6): purchased, renewal_reminder, renewed, cancelled, expired, payment_failed
- Hotel (6): guest_checkin, guest_checkout_approaching, guest_returning, prearrival 48h/24h, postdeparture
- Várólista (3): joined, slot_available, removed
- Marketing (3): rebook.reminder_due, referral.completed, review.requested
- Email tracking (3): email.delivered/opened/clicked
- Tracking (5): pageview.recorded, booking_widget.opened/completed, tracking.identified, tracking.custom_event
Retry semantika
- 30 másodperces timeout
- 5 próbálkozás, exponenciális backoff: 30s → 2m → 10m → 1h → 6h
- Bármilyen 2xx válasz = siker
- 4xx vagy 5xx, vagy timeout = retry
- Egymás utáni 5 sikertelen küldés után az endpoint failureCount növekszik (UI-on látod), de NEM kapcsol ki magától
Korlátok
- Tenantonként max 10 webhook végpont
- Eseményenkénti payload tipikusan <16 KB
- Body méret nincs explicit limitálva, de a 16 KB-os hard cap praktikusan érvényes
Hogyan tovább
- Fogadó oldali setup részletek: /help/webhooks-receiver-setup
- ActiveCampaign példa: /help/webhooks-activecampaign
- Zapier példa: /help/webhooks-zapier
- Make.com példa: /help/webhooks-make
- n8n példa: /help/webhooks-n8n
