Nodea — logo

Webhook

Webhook to sposób integracji dwóch systemów, w którym jedna usługa automatycznie wysyła żądanie HTTP na wcześniej ustalony adres URL drugiej aplikacji dokładnie w chwili, gdy zajdzie określone zdarzenie — na przykład opłacenie zamówienia, wysłanie formularza czy zakończenie wdrożenia. Zamiast pytać serwer w kółko „czy już coś się zmieniło?”, aplikacja odbierająca po prostu czeka na powiadomienie.

Jak działa webhook

Odbiorca udostępnia publiczny adres URL (endpoint), a nadawca konfiguruje go w ustawieniach usługi. Gdy pojawia się zdarzenie, nadawca wysyła na ten adres żądanie — najczęściej metodą POST z ładunkiem danych w formacie JSON opisującym, co się stało. Odbiorca weryfikuje autentyczność żądania (np. podpisem), przetwarza dane i odsyła kod potwierdzenia. Cała komunikacja odbywa się po HTTPS, aby ładunek nie został podsłuchany ani podmieniony.

Webhook a API

Webhook uzupełnia klasyczne API: API działa na żądanie klienta, a webhook jest sterowany zdarzeniem po stronie serwera. To model „nie dzwoń do nas, my zadzwonimy do ciebie”, który ogranicza zbędny ruch i zapewnia natychmiastową reakcję. Webhooki są podstawą wielu automatyzacji — powiadamiają systemy płatności, wyzwalają procesy CI/CD po każdym wysłaniu kodu, integrują sklepy z systemami wysyłkowymi czy uruchamiają autorespondery. Projektując odbiornik webhooków, warto zadbać o idempotentność, obsługę ponownych prób oraz weryfikację podpisu, aby uniknąć zdublowanych lub sfałszowanych zdarzeń.

Powiązane pojęcia

Najczęstsze pytania

Czym webhook różni się od API?

W klasycznym API to Twoja aplikacja odpytuje serwer o dane. Webhook odwraca ten kierunek — to serwer sam powiadamia Twoją aplikację, gdy coś się wydarzy, dzięki czemu nie musisz stale sprawdzać, czy pojawiła się zmiana.