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 — kandydat aplikuje, rozmowa kwalifikacyjna zostaje zaplanowana, ogłoszenie o pracę zostaje opublikowane. 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ć |
Webhooki CSIRT śledzą status zgłoszenia na kolejnych etapach jego cyklu życia. 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 zamiast tego sąsiadujące zdarzenia zmiany statusu.
csirt.report.dismissed i csirt.report.informative zamykają zgłoszenie, ale nie są wymienne: odrzucone zgłoszenie spotkało się z odmową, 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 prospekta |
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ę |
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. Zaktualizuj endpoint przed rotacją.
- 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. Użyj tego, żeby zweryfikować połączenie i walidację 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