Integracja z Zapier
Na tej stronie opisano strukturę interfejsu API i webhooków wykorzystywanych w integracji Baza Booking Calendar z Zapier. Zawiera ona informacje dotyczące uwierzytelniania, dostępnych zdarzeń oraz konkretnych pól ładunku wysyłanych wraz z każdym zdarzeniem.

Uwierzytelnianie
Dostęp jest powiązany z kluczem licencyjnym Baza Booking Calendar. Ten sam klucz służy zarówno do weryfikacji planu, jak i do uwierzytelniania żądań kierowanych do poniższych punktów końcowych subskrypcji. Integracja z Zapier wymaga licencji w ramach planu Pro lub Elite z włączoną synchronizacją z Zapier.
Natywne punkty końcowe subskrypcji (REST Hook)
Aby zapewnić płynne działanie wyzwalaczy Zap, usługa Baza Booking Calendar udostępnia punkty końcowe do subskrypcji i rezygnacji z subskrypcji, dzięki czemu Zap może włączać się i wyłączać automatycznie bez konieczności ręcznego kopiowania adresu URL webhooka.
| Metoda | Punkt końcowy | Cel |
|---|---|---|
POST | /wp-json/bbc/v1/zapier/subscribe | Rejestruje subskrypcję po włączeniu Zapu |
DELETE | /wp-json/bbc/v1/zapier/unsubscribe/{id} | Usuwa subskrypcję po wyłączeniu Zapu |
GET | /wp-json/bbc/v1/zapier/subscriptions | Punkt końcowy debugowania, wyświetla listę aktywnych subskrypcji |
Wszystkie trzy punkty końcowe wymagają klucza licencyjnego jako tokenu typu „bearer”:
Authorization: Bearer YOUR_LICENSE_KEYŻądania subskrypcji przyjmują treść w formacie JSON, określającą miejsce wysyłania zdarzeń oraz – opcjonalnie – zdarzenie, według którego ma być przeprowadzane filtrowanie. Puste event wartość oznacza subskrypcję wszystkich zdarzeń.
POST /wp-json/bbc/v1/zapier/subscribe
{
"target_url": "https://hooks.zapier.com/hooks/standard/...",
"event": "booking.confirmed"
}Odpowiedź zawiera link do subskrypcji id, służącą do późniejszego anulowania subskrypcji:
{ "id": "sub_123" }Aktywne subskrypcje są przechowywane w bbc_zapier_subscriptions opcji WordPressa. Dotychczasowe ustawienie webhooka z pojedynczym adresem URL (bbc_zapier_url w ustawieniach administracyjnych wtyczki) nadal działa równolegle, więc obecne ręczne konfiguracje w Zapierze nie ulegają zmianie w związku z tym dodatkiem.
Konfiguracja webhooka
Baza Booking Calendar wysyła powiadomienia o wydarzeniach związanych z rezerwacjami na adres URL webhooka skonfigurowany w ustawieniach administracyjnych wtyczki, w sekcji „Baza Booking”, „Ustawienia”, „Zapier”. Webhook uruchamia się automatycznie za każdym razem, gdy tworzona jest rezerwacja lub zmienia się jej status.
Dostępne wydarzenia
| Zdarzenie | Wyzwala się, gdy |
|---|---|
booking.created | Klient prześle formularz rezerwacyjny |
booking.pending | Status zmienia się na „Oczekujące” |
booking.confirmed | Płatność potwierdzona / status zmienia się na „Zarezerwowane” |
booking.cancelled | Status zmienia się na „Anulowane” |
booking.completed | Status zmienia się na „Zakończone” |
booking.expired | Status zmienia się na „Wygasło” |
google_calendar.disconnected | Połączenie z Kalendarzem Google zostało przerwane |
Struktura ładunku
Dane rezerwacyjne dotyczące jednej usługi:
{
"event": "booking.confirmed",
"site_url": "https://example.com",
"timestamp": "2026-08-12T14:00:00+02:00",
"booking_id": 1234,
"order_id": "ABC-001",
"order_status": "booked",
"order_status_label": "Booked",
"service": "Studio / Room A",
"booking_dates": "12.08.2026n10:00 - 12:00",
"booking_dates_raw": "2026/08/12/10:00-12:00",
"booking_price": "150",
"tax_rate": 20,
"tax_amount": 25,
"payment_made": "75",
"remaining_payment": "75",
"customer": {
"name": "Ivan Ivanov",
"phone": "+380991234567",
"email": "ivan@example.com"
},
"admin_url": "https://example.com/wp-admin/admin.php?page=bbc-bookings&edit=1234",
"zoom_url": "https://zoom.us/j/123456789",
"google_meet_url": "https://meet.google.com/abc-defg-hij",
"custom_fields": {
"my_custom_field": "value"
}
}Dane dotyczące rezerwacji w trybie koszyka, gdy w ramach jednego zamówienia rezerwowanych jest wiele usług, service a booking_dates są zastępowane przez cart_items tablicę:
{
"event": "booking.confirmed",
"site_url": "https://example.com",
"timestamp": "2026-08-12T14:00:00+02:00",
"booking_id": 1234,
"order_id": "ABC-001",
"order_status": "booked",
"order_status_label": "Booked",
"cart_items": [
{
"service": "Studio / Room A",
"booking_dates": "12.08.2026n10:00 - 11:00",
"booking_dates_raw": "2026/08/12/10:00-11:00",
"price": "75.00"
},
{
"service": "Studio / Room B",
"booking_dates": "12.08.2026n11:00 - 12:00",
"booking_dates_raw": "2026/08/12/11:00-12:00",
"price": "75.00"
}
],
"booking_price": "150",
"tax_rate": 20,
"tax_amount": 25,
"payment_made": "75",
"remaining_payment": "75"
}Odniesienie terenowe
| Pole | Typ | Opis |
|---|---|---|
event | ciąg znaków | Nazwa zdarzenia, patrz tabela zdarzeń powyżej |
site_url | ciąg znaków | Adres URL serwisu, w którym dokonano rezerwacji |
timestamp | ciąg znaków | znacznik czasu wydarzenia w formacie ISO 8601 |
booking_id | liczba całkowita | Wewnętrzny identyfikator rezerwacji |
order_id | ciąg znaków | Identyfikator referencyjny zamówienia |
order_status | ciąg znaków | Status odczytywany maszynowo |
order_status_label | ciąg znaków | Etykieta stanu czytelna dla człowieka |
service | ciąg znaków | Nazwa usługi (tylko rezerwacje pojedynczych usług) |
booking_dates | ciąg znaków | Sformatowana data i godzina rezerwacji (tylko rezerwacje pojedynczych usług) |
booking_dates_raw | ciąg znaków | Zakres daty/czasu w formacie nadającym się do odczytu maszynowego |
cart_items | tablica | Lista zarezerwowanych usług (tylko rezerwacje w trybie koszyka), z których każda zawiera service, booking_dates, booking_dates_raw, price |
booking_price | ciąg | Całkowita cena zamówienia |
tax_rate | liczba | Procentowa stawka podatku |
tax_amount | liczba | Kwota podatku |
payment_made | ciąg znaków | Kwota zapłacona do tej pory |
remaining_payment | ciąg znaków | Pozostałe saldo do zapłaty |
customer.name | ciąg znaków | Nazwa klienta |
customer.phone | ciąg znaków | Numer telefonu klienta |
customer.email | ciąg znaków | Adres e-mail klienta |
admin_url | ciąg znaków | Bezpośredni link do rezerwacji w panelu administracyjnym WordPressa |
zoom_url | ciąg | Link do spotkania w Zoomie, jeśli integracja z Zoomem jest włączona dla danej usługi |
google_meet_url | ciąg | Link do spotkania w Google Meet, jeśli został wygenerowany poprzez synchronizację z Kalendarzem Google |
custom_fields | obiekt | Wszelkie niestandardowe pola formularza skonfigurowane dla formularza rezerwacyjnego |
Wszystkie pola można przypisać do dowolnego pola aplikacji docelowej w serwisie Zapier – bez konieczności pisania kodu.
Konfiguracja ręczna (Webhooki za pomocą Zapier)
Dopóki natywna aplikacja Baza Booking Calendar nie będzie dostępna w katalogu aplikacji Zapier, integrację można skonfigurować ręcznie, korzystając z wbudowanego wyzwalacza Webhooks w serwisie Zapier:
- Wejdź na stronę zapier.com i kliknij „Utwórz”, „Zap”
- Wybierz „Webhooks by Zapier” jako wyzwalacz, „Catch Hook”
- Skopiuj adres URL webhooka (wygląda następująco:
https://hooks.zapier.com/hooks/catch/...) - Wklej go w polu „Adres URL webhooka” w Baza Booking, w sekcji „Ustawienia” → „Zapier”, a następnie zapisz
- Kliknij opcję „Wyślij zdarzenie testowe”, a Zapier wykryje wszystkie dostępne pola
- Kontynuuj konfigurowanie akcji w Zap (Arkusze Google, Slack, CRM itp.)
Wymagania dotyczące planu
Integracja z Zapierem jest dostępna w planach Pro i Elite serwisu Baza Booking Calendar. Nie jest ona dostępna w ramach bezpłatnej wersji próbnej ani bez ważnego klucza licencyjnego planu Pro lub Elite.
