Webhooki, postbacki serwer–serwer i REST API

Powiadamianie CRM, trackera lub własnego systemu w chwili zmiany rezerwacji, zamówienia lub karty lojalnościowej — albo umożliwienie mu samodzielnego odczytu rezerwacji, zamówień i kart lojalnościowych oraz aktualizacji rezerwacji.

8 min czytania Marketing, śledzenie i integracje Zaktualizowano 12.09.2026

Trzy sposoby połączenia TapTime z innymi systemami, zebrane w jednym miejscu. Zarządzać nimi może tylko właściciel firmy. Powiadomienia na czacie oraz Zapier, Make, n8n i Pipedream mają własne poradniki — korzystają z tych samych zdarzeń.

Panel Integracje Webhooki i API

NarzędzieKiedy
WebhookWłasny system lub CRM ma otrzymywać informację o każdej zmianie rezerwacji, zamówienia lub programu lojalnościowego, ze wszystkimi szczegółami.
PostbackSieć reklamowa, program partnerski lub tracker przekazał adres URL postbacku do wywołania przy każdej konwersji.
REST APISystem ma pobierać rezerwacje, kiedy chce, albo je potwierdzać i anulować.

Zdarzenia do wysłania

ZdarzenieKiedy
booking.requestedGość poprosił o rezerwację, która czeka na Państwa potwierdzenie
booking.confirmedRezerwacja została potwierdzona
booking.cancelledGość lub lokal anulował rezerwację
booking.no_showGość nie przyszedł
booking.completedWizyta dobiegła końca
order.placedZamówienie gościa dotarło do Państwa (ze strony lub przez kod QR przy stoliku)
order.paidDowolne zamówienie zostało opłacone, także na kasie
loyalty.member_joinedKlient otrzymał pierwszą pieczątkę w programie
loyalty.stamp_addedDodano pieczątkę
loyalty.reward_issuedKarta została zapełniona i przyznano nagrodę
loyalty.reward_redeemedNagroda została wydana

Webhooki

  1. 1
    Dodaj webhook

    Wklej adres https swojego punktu końcowego i wybierz zdarzenia — rezerwacje, zamówienia, program lojalnościowy lub wszystkie.

  2. 2
    Wyślij test

    Przykładowe zdarzenie jest wysyłane od razu, a odpowiedź punktu końcowego zostaje wyświetlona.

  3. 3
    Zweryfikuj podpis

    Każde żądanie ma nagłówek TapTime-Signature: t=<time>,v1=<HMAC-SHA256 z „t.body” z kluczem podpisu>. Przed zaufaniem żądaniu należy go porównać.

Treść to JSON: identyfikator, typ i czas zdarzenia oraz cała rezerwacja, zamówienie lub karta lojalnościowa w data.booking, data.order lub data.loyalty — z gościem, godziną, stolikiem, usługą lub pozycjami, statusem i źródłem (tagi UTM i identyfikatory kliknięć).

  • Należy odpowiedzieć dowolnym statusem 2xx. Każda inna odpowiedź jest ponawiana 8 razy w ciągu około doby.
  • Każde zdarzenie ma identyfikator: jeśli dotrze dwukrotnie, drugie należy zignorować.
  • Odpowiedź 410 Gone sprawia, że TapTime przestaje ponawiać to zdarzenie.
  • Przekierowania nie są obsługiwane, a adresy w sieciach prywatnych są odrzucane.

Postbacki serwer–serwer

Należy wkleić adres URL postbacku otrzymany od trackera i klikać symbole zastępcze, aby wstawić dane rezerwacji, na przykład https://tracker.example/postback?cid={click_id}&payout={value}&status={status}. Dostępne symbole zastępcze to m.in. {click_id}, {event}, {booking_id}, {value}, {currency}, {party_size}, {utm_source}, {utm_campaign}, {gclid} i {fbclid}. Identyfikator kliknięcia trackera trafia do rezerwacji, gdy link rezerwacji zawiera click_id, clickid lub subid.

REST API

  1. 1
    Utwórz klucz API

    Nadaj mu nazwę i wybierz tylko odczyt albo odczyt i zapis, aby umożliwić potwierdzanie, anulowanie i oznaczanie nieobecności.

  2. 2
    Skopiuj go od razu

    Klucz jest wyświetlany tylko raz. Należy go przechowywać na serwerze — nigdy na stronie internetowej ani w aplikacji.

  3. 3
    Wywołaj API

    Wysyłaj go jako Authorization: Bearer <key> na https://api.tapti.me/v1/company.

ŻądanieZwraca
GET /v1/companyFirmę, do której należy klucz
GET /v1/company/reservations, /appointmentsRezerwacje filtrowane według status, branchId, from, to lub updatedSince, po 100 na stronę
GET /v1/company/reservations/{id}Jedną rezerwację
POST /v1/company/reservations/{id}/statusZmienia status (klucze z zapisem)
GET /v1/company/orders, /orders/{id}Zamówienia z pozycjami i sumami, filtrowane według status, source, fulfilment, from, to lub paidSince
GET /v1/company/loyalty/programs, /cards, /rewardsProgramy lojalnościowe, karty członków i zdobyte przez nich nagrody
GET /v1/company/events?after={cursor}Wszystkie zdarzenia rezerwacji, zamówień i programu lojalnościowego po kolei — odpytywanie pozwala zachować synchronizację; type=order,loyalty zawęża do wybranych
POST /v1/company/webhooks, DELETE /v1/company/webhooks/{id}Subskrybuje adres URL na zdarzenia i anuluje subskrypcję — z tego korzystają aplikacje Zapier, Make, n8n i Pipedream

Gdy coś nie działa

Dziennik wysyłek każdego punktu końcowego zawiera 25 ostatnich wysyłek z kodem statusu i odpowiedzią Państwa systemu. Nieudane wysyłki są ponawiane automatycznie; „Wyślij ponownie” ponawia jedną od razu.

Często zadawane pytania

Czy webhook może trafiać do Zapier lub Make?

Tak — należy użyć Integracje → Automatyzacja, gdzie sprawdzane jest, czy adres należy do platformy, i pokazywane są właściwe dla niej kroki. Wystarczy utworzyć „Catch hook” (Zapier), „Custom webhook” (Make), węzeł Webhook (n8n) lub wyzwalacz HTTP (Pipedream), wkleić jego adres i nacisnąć Wyślij test, aby narzędzie poznało pola.

Nie mam już klucza podpisu.

Właściciel może ponownie go wyświetlić w punkcie końcowym lub wygenerować nowy. Wygenerowanie nowego klucza działa natychmiast, a stary przestaje działać.

Czy ten artykuł był pomocny?
Nie znaleźli Państwo odpowiedzi?

Prosimy napisać do nas i podać stronę, na której Państwo byli. Każdą wiadomość czyta człowiek i odpowiada w języku, w którym została napisana.

Napisz do nas