Przegląd webhooków
Wysyłaj powiadomienia w czasie rzeczywistym do systemów zewnętrznych, gdy zachodzą zdarzenia rekrutacyjne.
Dlaczego to ważne
Webhooki przesyłają dane o zdarzeniach do twoich systemów w momencie ich wystąpienia, na przykład po przesłaniu aplikacji przez kandydata, zaplanowaniu rozmowy kwalifikacyjnej lub opublikowaniu ogłoszenia. Zamiast odpytywać API, twoje integracje otrzymują natychmiastowe wywołania zwrotne HTTP (callbacki) z pełnym payloadem zdarzenia.
Wymagania
- Konto Kit z dostępem administratora
- Endpoint HTTPS zdolny do odbierania żądań POST
Konfiguracja
Przejdź do Integracje > Webhooki, kliknij Dodaj endpoint i wypełnij:
| Pole | Wymagane | Opis |
|---|---|---|
| URL | Tak | Endpoint HTTPS, który będzie odbierać zdarzenia |
| Description | Nie | Etykieta ułatwiająca identyfikację tego webhooka |
| Events | Tak | Typy zdarzeń do subskrypcji |
Możesz wybrać poszczególne zdarzenia lub zasubskrybować całe kategorie. Kliknij Utwórz endpoint, aby zapisać. Kit wygeneruje klucz podpisujący (signing secret), którym zweryfikujesz payloady.
Dostępne zdarzenia
Kit wysyła webhooki w ośmiu kategoriach. To dokładnie te typy zdarzeń, które możesz zasubskrybować w edytorze webhooków. Pełną strukturę payloadu każdego zdarzenia znajdziesz w Dokumentacji zdarzeń webhook.
Zdarzenia aplikacji
| Zdarzenie | Kiedy jest wysyłane |
|---|---|
application.submitted |
Kandydat przesyła aplikację |
application.rejected |
Aplikacja zostaje odrzucona |
application.rejection_reverted |
Wcześniej odrzucona aplikacja zostaje przywrócona |
application.advanced |
Aplikacja przechodzi do następnego etapu |
application.withdrawn |
Kandydat wycofuje swoją aplikację |
application.offer_extended |
Oferta zostaje złożona kandydatowi |
Zdarzenia ofert
| Zdarzenie | Kiedy jest wysyłane |
|---|---|
offer.accepted |
Administrator akceptuje ofertę w imieniu kandydata |
offer.declined |
Administrator odrzuca ofertę w imieniu kandydata |
Zdarzenia rozmów kwalifikacyjnych
| Zdarzenie | Kiedy jest wysyłane |
|---|---|
interview.scheduled |
Rozmowa kwalifikacyjna zostaje zaplanowana |
interview.confirmed |
Kandydat potwierdza rozmowę kwalifikacyjną |
interview.completed |
Rozmowa kwalifikacyjna zostaje oznaczona jako zakończona |
interview.cancelled |
Rozmowa kwalifikacyjna zostaje anulowana |
interview.no_show |
Kandydat zostaje oznaczony jako nieobecny |
Zdarzenia zadań programistycznych
| Zdarzenie | Kiedy jest wysyłane |
|---|---|
code_assignment.submitted |
Kandydat przesyła swoje zadanie programistyczne |
code_assignment.auto_submitted |
Zadanie programistyczne zostaje automatycznie przesłane po upływie terminu |
Zdarzenia ocen
| Zdarzenie | Kiedy jest wysyłane |
|---|---|
review.submitted |
Członek zespołu przesyła ocenę |
Zdarzenia ogłoszeń o pracę
| Zdarzenie | Kiedy jest wysyłane |
|---|---|
job_posting.published |
Ogłoszenie o pracę zostaje opublikowane |
job_posting.paused |
Ogłoszenie o pracę zostaje wstrzymane |
job_posting.closed |
Ogłoszenie o pracę zostaje zamknięte |
job_posting.reopened |
Ogłoszenie o pracę zostaje wznowione |
Zdarzenia zgłoszeń CSIRT
| Zdarzenie | Kiedy jest wysyłane |
|---|---|
csirt.report.submitted |
Badacz przesyła zgłoszenie podatności |
csirt.report.triaged |
Zgłoszenie przechodzi triaż |
csirt.report.validated |
Zgłoszenie zostaje zweryfikowane |
csirt.report.resolved |
Zgłoszenie zostaje rozwiązane |
csirt.report.fix_verified |
Poprawka zgłoszenia zostaje zweryfikowana |
csirt.report.paid |
Nagroda zostaje wypłacona |
csirt.report.dismissed |
Zgłoszenie zostaje odrzucone |
csirt.report.informative |
Zgłoszenie zostaje zamknięte jako informacyjne: trafne, ale nie ma czego naprawiać |
csirt.report.sla_breached |
Otwarte zgłoszenie przekracza termin potwierdzenia |
csirt.report.escalation_requested |
Badacz prosi o informację w portalu badacza |
Poza csirt.report.sla_breached i csirt.report.escalation_requested webhooki CSIRT śledzą status zgłoszenia na kolejnych etapach jego cyklu życia. Pozostałe działania, które nie zmieniają tego statusu (ocena poziomu ważności, przypisanie zgłoszenia do osoby z zespołu, zatwierdzenie nagrody), nie wysyłają własnego webhooka. Subskrybuj odpowiednie zdarzenia zmiany statusu przed tym działaniem lub po nim.
csirt.report.dismissed i csirt.report.informative zamykają zgłoszenie, ale nie są wymienne: odrzucone zgłoszenie nie zostało przyjęte, a informacyjne to trafne ustalenie, w którym nie ma czego naprawiać i za które nadal może zostać wypłacony uznaniowy bonus. Jeśli twoja integracja traktuje „zamknięte” jako „nietrafne”, subskrybuj oba zdarzenia osobno.
Zdarzenia Outreach
| Zdarzenie | Kiedy jest wysyłane |
|---|---|
outreach.prospect.drafted |
Szkic wiadomości zostaje utworzony dla potencjalnego klienta |
outreach.message.approved |
Wiadomość outreach zostaje zatwierdzona |
outreach.message.sent |
Wiadomość outreach zostaje wysłana |
outreach.message.bounced |
Wiadomość outreach zostaje odbita (bounce) |
outreach.message.failed |
Wysłanie wiadomości outreach nie powiodło się |
outreach.message.confirmation_expired |
Sprawdzone dane wysyłki zmieniają się przed uruchomieniem SMTP i wiadomość wymaga ponownego zatwierdzenia |
outreach.message.deferred |
Wiadomość outreach wyczerpuje bezpieczne próby dostarczenia |
outreach.message.delivery_unknown |
Wynik dostarczenia wiadomości outreach pozostaje niejednoznaczny |
outreach.message.delivery_resolved |
Decyzja zapisana w rejestrze audytowym zamyka przegląd zatrzymanej wysyłki |
Zarządzanie webhookami
Każdy webhook wyświetla swój status, zasubskrybowane zdarzenia oraz historię ostatnich dostarczeń.
- Wstrzymaj: Wstrzymanie dostarczania. Zdarzenia wywołane podczas wstrzymania nie są kolejkowane.
- Wznów: Ponowne włączenie wstrzymanego lub automatycznie wyłączonego webhooka. Resetuje licznik błędów.
- Zaktualizuj: Zmiana adresu URL, opisu lub zasubskrybowanych zdarzeń.
- Zmień klucz podpisujący: Wygenerowanie nowego klucza podpisującego. Po rotacji od razu wpisz nowy klucz w konfiguracji endpointu.
- Usuń: Trwałe usunięcie webhooka wraz z historią dostarczeń.
Testowanie endpointu
Kliknij Wyślij test na dowolnym webhooku, aby wysłać zdarzenie test.ping do swojego endpointu. W ten sposób sprawdzisz połączenie i weryfikację podpisu przed subskrypcją rzeczywistych zdarzeń.
Zakładka Dostarczenia wyświetla nagłówki żądania, status odpowiedzi oraz czas każdej próby dostarczenia.
W skrócie
- Przejdź do Integracje > Webhooki
- Dodaj adres URL swojego endpointu HTTPS
- Wybierz zdarzenia, które chcesz odbierać
- Skopiuj klucz podpisujący
- Wyślij testowy ping, żeby zweryfikować połączenie
- Zaimplementuj weryfikację podpisu w swoim endpoincie
-
Zwróć kod statusu
2xx, żeby potwierdzić odbiór