Webhooki
Artykuły pomocy mogą nie być w pełni dokładne — z powodu częstych aktualizacji i tłumaczenia automatycznego mogą odbiegać od aplikacji. W razie wątpliwości skontaktuj się z pomocą.
Na tej stronie
Webhook informuje Twój własny system w chwili, gdy coś dzieje się w EventMann, dzięki czemu nie musisz o to pytać. EventMann wysyła żądanie HTTPS na wybrany przez Ciebie adres za każdym razem, gdy zachodzi subskrybowane zdarzenie: rezerwacja zostaje potwierdzona, zamówienie zostaje zwrócone, wydarzenie zostaje opublikowane. Webhooki znajdziesz w zakładce Webhooki sekcji Integracje w pasku bocznym.
- Otwórz Integracje i kliknij zakładkę Webhooki.
- Kliknij Dodaj webhook, aby utworzyć punkt końcowy.
- Kolumna Status pokazuje Aktywny lub Wyłączony oraz kod HTTP ostatniej próby.
- Wyłączony punkt końcowy oferuje przycisk Włącz ponownie.
Dodawanie punktu końcowego
- Nadaj mu Nazwę, do własnego użytku.
- Wpisz Adres URL punktu końcowego, czyli publiczny adres internetowy, który przyjmuje żądanie POST.
- Zaznacz zdarzenia, które chcesz otrzymywać, w sekcji Subskrybuj zdarzenia. Wymagane jest co najmniej jedno.
- Kliknij Dodaj webhook. Zostanie dla Ciebie utworzony 64-znakowy klucz podpisujący.
Zdarzenia do wyboru
Formularz zawiera piętnaście zdarzeń i każde z nich jest wysyłane:
| Zdarzenie | Wysyłane, gdy |
|---|---|
booking.created | Zamówienie powstaje: przy zakupie w przypadku zamówień bezpłatnych i zamówień wymagających zatwierdzenia, a przy zamówieniach płatnych na etapie płatności. |
booking.confirmed | Zamówienie zostaje potwierdzone: opłacone, bezpłatne lub wprowadzone ręcznie. |
payment.received | Płatność zostaje zaksięgowana. Wysyłane razem z booking.confirmed, także przy zamówieniach bezpłatnych. |
booking.cancelled | Zamówienie zostaje anulowane: przez kupującego, przez Ciebie lub Twój zespół albo przez wsparcie EventMann. cancelled_by wskazuje, kto (attendee, organizer lub admin). |
booking.refunded | Zamówienie zostaje zwrócone w całości. |
payment.refunded | Zwrot zostaje rozliczony, także częściowy. Jedno wysłanie na zwrot, z jego kwotą. |
event.created | Wydarzenie zostaje utworzone, niezależnie od sposobu (kreator, kopia, cykl wydarzeń). |
event.updated | Szczegóły wydarzenia ulegają zmianie: tytuł, opis, obraz, daty, miejsce lub adres, link online, okno sprzedaży, widoczność. changed wymienia pola. Zmiana statusu nie jest aktualizacją; ma własne zdarzenia. |
event.published | Wydarzenie zostaje opublikowane. |
event.cancelled | Anulujesz wydarzenie. |
ticket.checked_in | Bilet zostaje wpuszczony przy wejściu: zeskanowany, wprowadzony ręcznie, zbiorczo zameldowany, zsynchronizowany z offline'owym skanerem albo sprzedany i wpuszczony w kasie. Wymeldowanie biletu i oznaczenie nieobecności nie wysyłają go, podobnie jak akcja zbiorcza Zamelduj na liście zamówień, która oznacza całe zamówienia jako przybyłe bez skanowania przy wejściu. |
staff.assigned | Ktoś zostaje personelem wydarzenia: zatwierdzasz jego zgłoszenie albo przyjmuje zaproszenie na to wydarzenie. |
staff.checked_in | Członek personelu rejestruje wejście na zmianę. |
vendor.assigned | Przypisujesz dostawcę do wydarzenia. |
vendor.invoice_submitted | Dostawca przesyła fakturę za przydział. |
Nie ma zdarzeń wypłat. Stripe przekazuje sprzedaż biletów bezpośrednio na Twoje konto, a EventMann nie tworzy ani nie widzi tych wypłat.
Jak wygląda dostawa
Każda dostawa to żądanie POST z treścią JSON w postaci: event (nazwa), data (szczegóły), timestamp i delivery_id. Dane dla booking.confirmed zawierają identyfikator zamówienia, numer referencyjny, status, sumę, imię i nazwisko oraz adres e-mail uczestnika, identyfikator wydarzenia i czas potwierdzenia. booking.created dodaje tytuł wydarzenia i zamiast tego podaje czas utworzenia. payment.received zawiera identyfikator rezerwacji, kwotę, bramkę płatności, identyfikator transakcji i czas.
Żądanie zawiera trzy nagłówki: X-Webhook-Event, X-Webhook-Delivery-Id i X-Webhook-Signature. Podpis to HMAC-SHA256 surowej treści żądania zapisany w postaci szesnastkowej, kluczem jest klucz podpisujący Twojego punktu końcowego. Przelicz go po swojej stronie z surowej treści i porównaj, zanim zaufasz ładunkowi.
Sprawdzanie punktu końcowego
- Kliknij Wyślij test, aby wysłać przykładowe
pingna Twój adres i od razu zobaczyć wynik. - Subskrybowane zdarzenia pokazuje, co otrzymuje punkt końcowy. Użyj Edytuj, aby zmienić nazwę, adres lub zdarzenia.
- Klucz podpisujący jest ukryty; kliknij Pokaż, aby go wyświetlić.
- Ostatnie dostawy wyświetla ostatnie próby z zdarzeniem, statusem, kodem HTTP, czasem trwania i godziną. Zobacz wszystko pokazuje więcej.
Ponowienia, błędy i automatyczne wyłączenie
- Dostarczenie uznaje się tylko przy odpowiedzi 2xx. Przekierowanie lub każda inna odpowiedź to błąd; przekierowań nie podąża się.
- Nieudana dostawa jest ponawiana do pięciu razy, z przerwami 10, 30, a potem 60 sekund między próbami.
- Gdy wszystkie próby dla jednego zdarzenia się nie powiodą, licznik błędów punktu końcowego rośnie o jeden. Dziesięć błędów w ciągu godziny wstrzymuje dostawę do tego punktu końcowego na pięć minut; dostawy czekają na koniec wstrzymania.
- Jeśli wstrzymanie zostało uruchomione albo licznik błędów przekroczy dziesięć, punkt końcowy zostaje wyłączony, a Ty otrzymujesz powiadomienie z jego nazwą.
- Adres wskazujący na prywatną lub wewnętrzną sieć jest odrzucany przy próbie dostawy. Test pokazuje „Zablokowane”, a prawdziwa dostawa wyłącza punkt końcowy.
- Historia dostaw jest przechowywana przez 30 dni.
- Wyłączony punkt końcowy pokazuje Ten punkt końcowy jest wyłączony wraz z powodem.
- Napraw to, co było nie tak po stronie odbiorcy, a potem kliknij Włącz ponownie. Licznik błędów zostaje wyzerowany; adres i klucz pozostają bez zmian. Zmiana nazwy lub adresu nie włącza punktu ponownie.
- Ponów przy nieudanej dostawie wysyła to zdarzenie ponownie jako nową dostawę do Twoich aktualnie aktywnych punktów końcowych, które je subskrybują. Dotyczy to także innych punktów, więc mogą one otrzymać je dwukrotnie.
Warto wiedzieć
- Wysyłanie webhooków działa we własnej kolejce, więc wolny odbiorca nie spowolni rezerwacji ani e-maili z biletami.
- Odznaczenie zdarzenia zatrzymuje je po cichu. Nie dostaniesz powiadomienia, że przestałeś je otrzymywać.
- Jeśli połączysz narzędzie takie jak Zapier z tokenem API EventMann, subskrypcje, które utworzy, pojawią się tutaj, nazwane od wydarzenia.
- Webhooki wysyłają imię i nazwisko oraz adres e-mail uczestnika każdego zamówienia na Twój serwer. Upewnij się, że adres jest Twój i że wolno Ci przetwarzać te dane.
Rozwiązywanie problemów
- Dostawy ustały i nie widzę błędu — otwórz punkt końcowy. Jeśli jest wyłączony, napraw odbiorcę i kliknij Włącz ponownie.
- Podpis nigdy się nie zgadza — oblicz hash dokładnie surowej treści, nie jej ponownie zakodowanej kopii, z kluczem z poziomu strony punktu końcowego, i porównaj tekst szesnastkowy.
- Test działa, ale prawdziwe zdarzenia nie przychodzą — sprawdź, czy zdarzenie jest zaznaczone w tym punkcie końcowym oraz czy to, co się stało, odpowiada kolumnie „Wysyłane, gdy” w tabeli.
- Otrzymuję to samo zdarzenie dwa razy — kliknąłeś Ponów albo masz dwa punkty końcowe, które je subskrybują. Użyj identyfikatora dostawy, aby ignorować powtórki.