Webhook - co to jest i po co Ci ta wiedza
Webhook to automatyczne powiadomienie o zdarzeniu. Gdy w jednym systemie dzieje się coś ważnego - klient składa zamówienie, zmienia się status przesyłki, spływa płatność - ten system natychmiast wysyła krótki sygnał do innego systemu, żeby ten mógł zareagować. Po angielsku bywa nazywany „reverse API” albo „HTTP callback”, ale najprościej myśleć o nim jako o powiadomieniu push między programami.
Dla sprzedawcy internetowego to nie ciekawostka techniczna, tylko fundament automatyzacji. Bez webhooków (i pokrewnego mechanizmu odpytywania) każdy przepływ danych między sklepem, marketplace, magazynem i księgowością musiałby robić człowiek ręcznie. Z nimi - dzieje się sam.
Webhook a odpytywanie API - dwa podejścia
Żeby zrozumieć webhook, warto zestawić go z klasycznym odpytywaniem API (ang. polling). To dwa sposoby na to samo: dowiedzieć się, że coś się zmieniło.
Odpytywanie API (polling): Twój program co jakiś czas sam pyta platformę „czy jest nowe zamówienie?”. Jak natrętne odświeżanie skrzynki pocztowej co minutę. Działa, ale przez większość czasu odpowiedź brzmi „nic nowego”, więc marnujesz zapytania i czas.
Webhook (powiadomienie zdarzeniowe): to platforma sama daje znać, gdy zdarzenie faktycznie nastąpi. Nie pytasz, tylko czekasz na sygnał. Jak powiadomienie o nowym mailu, które przychodzi w chwili, gdy mail dotrze.
| Cecha | Odpytywanie API | Webhook |
|---|
| Kto inicjuje | Twój system pyta | Platforma powiadamia |
| Opóźnienie | Zależy od częstotliwości pytań | Niemal natychmiast |
| Obciążenie | Setki zapytań „na sucho” | Ruch tylko przy zdarzeniu |
| Ryzyko | Można coś przegapić między pytaniami | Sygnał może się zgubić w sieci |
W praktyce najlepiej działa połączenie obu podejść: webhook daje szybkość, a regularne odpytywanie API pełni rolę siatki bezpieczeństwa, gdy jakieś powiadomienie się nie przebije. Więcej o samych interfejsach znajdziesz we wpisie API w e-commerce - co to jest, a o tym, jak systemy autoryzują takie połączenia, w tekście o OAuth i kluczach API w integracjach.
Jak działa webhook krok po kroku
Mechanizm jest prostszy, niż się wydaje:
- Rejestracja adresu. System odbierający (np. Twoje narzędzie łączące sklepy) podaje platformie adres URL, pod który mają trafiać powiadomienia.
- Zdarzenie. Na platformie coś się dzieje - klient płaci za zamówienie.
- Wysyłka. Platforma wysyła na zarejestrowany adres krótką wiadomość z danymi zdarzenia (najczęściej w formacie JSON): numer zamówienia, kwota, produkty.
- Reakcja. System odbierający przetwarza dane i uruchamia dalsze działanie - zapisuje zamówienie, tworzy fakturę, zamawia etykietę.
- Potwierdzenie. Odbiorca odpowiada, że przyjął sygnał, żeby platforma wiedziała, że nie musi ponawiać.
Cały ten obieg trwa ułamki sekundy i nie wymaga Twojego udziału. Ty widzisz tylko efekt.
Przykład: nowe zamówienie zamienia się w fakturę
Najczęstszy scenariusz w sprzedaży wielokanałowej wygląda tak. Klient kupuje produkt na Allegro albo w Twoim sklepie na WooCommerce. W tej samej chwili platforma wysyła webhook do narzędzia spinającego Twoją sprzedaż. Narzędzie odbiera sygnał, pobiera pełne dane zamówienia i uruchamia łańcuch działań:
- zamówienie ląduje w jednym widoku zamówień, niezależnie od kanału, z którego przyszło,
- na jego podstawie powstaje faktura w Twoim programie księgowym, np. we wFirma lub Fakturownia, z poprawnym NIP-em i stawką VAT,
- zamówienie trafia do przygotowania wysyłki, a stamtąd do etykiety kurierskiej w InPost czy DHL.
To właśnie jest sens automatyzacji: zdarzenie (zakup) wyzwala serię akcji bez ręcznego przepisywania danych. Cały przepływ od zamówienia do faktury dzieje się w tle. NavyFlame korzysta z powiadomień zdarzeniowych tam, gdzie platforma je udostępnia, a tam gdzie ich nie ma - regularnie odpytuje API, żeby nic Ci nie umknęło. Więcej praktycznych scenariuszy opisaliśmy w poradniku o automatyzacji w małym sklepie.
O czym pamiętać przy webhookach
Webhook to potężne narzędzie, ale ma swoje granice, o których warto wiedzieć:
- Sieć bywa zawodna. Pojedyncze powiadomienie może się zgubić. Dlatego solidna integracja nigdy nie opiera się wyłącznie na webhookach - dodatkowo cyklicznie odpytuje API.
- Kolejność i duplikaty. Zdarzenia mogą dotrzeć nie po kolei albo dwa razy. Dobre narzędzie radzi sobie z tym, rozpoznając, że dane zamówienie już obsłużyło (idempotentność).
- Bezpieczeństwo. Adres webhooka powinien przyjmować dane tylko z zaufanego źródła, żeby nikt podszywający się nie wstrzyknął fałszywego zamówienia.
Dobra wiadomość jest taka, że jeśli korzystasz z gotowego integratora, te wszystkie szczegóły są rozwiązane po jego stronie. Ty nie konfigurujesz webhooków ręcznie ani nie martwisz się o zgubione sygnały - podłączasz swoje integracje i pracujesz w jednym panelu, a narzędzie dba, żeby żadne zamówienie nie umknęło.