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.

Connect Baza Booking Calendar to Zapier via Webhook

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.

MetodaPunkt końcowyCel
POST/wp-json/bbc/v1/zapier/subscribeRejestruje 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/subscriptionsPunkt 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

ZdarzenieWyzwala się, gdy
booking.createdKlient prześle formularz rezerwacyjny
booking.pendingStatus zmienia się na „Oczekujące”
booking.confirmedPłatność potwierdzona / status zmienia się na „Zarezerwowane”
booking.cancelledStatus zmienia się na „Anulowane”
booking.completedStatus zmienia się na „Zakończone”
booking.expiredStatus zmienia się na „Wygasło”
google_calendar.disconnectedPołą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

PoleTypOpis
eventciąg znakówNazwa zdarzenia, patrz tabela zdarzeń powyżej
site_urlciąg znakówAdres URL serwisu, w którym dokonano rezerwacji
timestampciąg znakówznacznik czasu wydarzenia w formacie ISO 8601
booking_idliczba całkowitaWewnętrzny identyfikator rezerwacji
order_idciąg znakówIdentyfikator referencyjny zamówienia
order_statusciąg znakówStatus odczytywany maszynowo
order_status_labelciąg znakówEtykieta stanu czytelna dla człowieka
serviceciąg znakówNazwa usługi (tylko rezerwacje pojedynczych usług)
booking_datesciąg znakówSformatowana data i godzina rezerwacji (tylko rezerwacje pojedynczych usług)
booking_dates_rawciąg znakówZakres daty/czasu w formacie nadającym się do odczytu maszynowego
cart_itemstablicaLista zarezerwowanych usług (tylko rezerwacje w trybie koszyka), z których każda zawiera service, booking_dates, booking_dates_raw, price
booking_priceciągCałkowita cena zamówienia
tax_rateliczbaProcentowa stawka podatku
tax_amountliczbaKwota podatku
payment_madeciąg znakówKwota zapłacona do tej pory
remaining_paymentciąg znakówPozostałe saldo do zapłaty
customer.nameciąg znakówNazwa klienta
customer.phoneciąg znakówNumer telefonu klienta
customer.emailciąg znakówAdres e-mail klienta
admin_urlciąg znakówBezpośredni link do rezerwacji w panelu administracyjnym WordPressa
zoom_urlciągLink do spotkania w Zoomie, jeśli integracja z Zoomem jest włączona dla danej usługi
google_meet_urlciągLink do spotkania w Google Meet, jeśli został wygenerowany poprzez synchronizację z Kalendarzem Google
custom_fieldsobiektWszelkie 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:

  1. Wejdź na stronę zapier.com i kliknij „Utwórz”, „Zap”
  2. Wybierz „Webhooks by Zapier” jako wyzwalacz, „Catch Hook”
  3. Skopiuj adres URL webhooka (wygląda następująco: https://hooks.zapier.com/hooks/catch/...)
  4. Wklej go w polu „Adres URL webhooka” w Baza Booking, w sekcji „Ustawienia” → „Zapier”, a następnie zapisz
  5. Kliknij opcję „Wyślij zdarzenie testowe”, a Zapier wykryje wszystkie dostępne pola
  6. 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.

Ostatnia modyfikacja: 20.08.2026