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ędzie | Kiedy |
|---|---|
| Webhook | Własny system lub CRM ma otrzymywać informację o każdej zmianie rezerwacji, zamówienia lub programu lojalnościowego, ze wszystkimi szczegółami. |
| Postback | Sieć reklamowa, program partnerski lub tracker przekazał adres URL postbacku do wywołania przy każdej konwersji. |
| REST API | System ma pobierać rezerwacje, kiedy chce, albo je potwierdzać i anulować. |
Zdarzenia do wysłania
| Zdarzenie | Kiedy |
|---|---|
| booking.requested | Gość poprosił o rezerwację, która czeka na Państwa potwierdzenie |
| booking.confirmed | Rezerwacja została potwierdzona |
| booking.cancelled | Gość lub lokal anulował rezerwację |
| booking.no_show | Gość nie przyszedł |
| booking.completed | Wizyta dobiegła końca |
| order.placed | Zamówienie gościa dotarło do Państwa (ze strony lub przez kod QR przy stoliku) |
| order.paid | Dowolne zamówienie zostało opłacone, także na kasie |
| loyalty.member_joined | Klient otrzymał pierwszą pieczątkę w programie |
| loyalty.stamp_added | Dodano pieczątkę |
| loyalty.reward_issued | Karta została zapełniona i przyznano nagrodę |
| loyalty.reward_redeemed | Nagroda została wydana |
Webhooki
-
1
Dodaj webhook
Wklej adres https swojego punktu końcowego i wybierz zdarzenia — rezerwacje, zamówienia, program lojalnościowy lub wszystkie.
-
2
Wyślij test
Przykładowe zdarzenie jest wysyłane od razu, a odpowiedź punktu końcowego zostaje wyświetlona.
-
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
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
Skopiuj go od razu
Klucz jest wyświetlany tylko raz. Należy go przechowywać na serwerze — nigdy na stronie internetowej ani w aplikacji.
-
3
Wywołaj API
Wysyłaj go jako Authorization: Bearer <key> na https://api.tapti.me/v1/company.
| Żądanie | Zwraca |
|---|---|
| GET /v1/company | Firmę, do której należy klucz |
| GET /v1/company/reservations, /appointments | Rezerwacje 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}/status | Zmienia 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, /rewards | Programy 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ć.
Dziękujemy — to pomaga nam ulepszać poradniki.
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