Wprowadzenie
Webhooki to jeden z tych elementów technicznych, które albo działają idealnie, albo po cichu psują więcej niż myślisz. W e-commerce odpowiadają za wszystko – od powiadomień o zamówieniu, przez aktualizację stanów magazynowych, po automatyczne fakturowanie. Problem? Większość firm traktuje je jak „podłącz i zapomnij”. Dopóki coś wybuchnie, nikt nie sprawdza, czy webhook na pewno działa, czy już od tygodnia wysyła puste payloady.
Jako praktyk widziałem już kilka przypadków, gdzie brak strategii webhooków kosztował firmy utratę tysięcy złotych. Nie mówię o ataku hakerskim – mówię o zwykłym, codziennym błędzie, który mógł być łatwo wykryty i naprawiony. Oto trzy najczęstsze błędy, które popełniają e-commerce.
1. Brak walidacji payloadu
Scenariusz: Twój sklep wysyła webhook z danymi zamówienia do systemu ERP. Webhook leci, system odpowiada 200 OK, wszyscy są zadowoleni. Ale payload jest pusty. Dlaczego? Bo API po stronie sklepu zwróciło błąd, ale webhook i tak wystartował. ERP przyjął pustą wiadomość jako potwierdzenie – i od tej pory zamówienie istnieje w systemie bez żadnych danych. Klient dostał potwierdzenie, pieniądze pobrane, a w magazynie nie ma informacji co wysłać.
Brzmi absurdalnie? Widziałem to na żywo. Firma sprzedająca elektronikę przez miesiąc wysyłała klientom zamówienia z błędnymi produktami, bo webhook nie walidował danych przed wysłaniem.
Rozwiązanie: Zawsze sprawdzaj, czy payload zawiera wymagane pola i czy ma sens. Wprowadź schemat walidacji (JSON Schema) po stronie nadawcy i odbiorcy. Nie ufaj, że wszystko działa – testuj.
2. Brak retry i idempotentności
Drugi klasyk: webhook wysyła dane, ale serwer odbiorcy akurat restartuje się. Wiadomość ginie. Nikt nie retransmituje. Zamówienie przepada. Klient czeka, dzwoni, a Ty nie masz pojęcia o co chodzi.
Albo gorzej: webhook jest wysłany, ale odpowiedź HTTP nie dotarła. Nadawca myśli, że nie zadziałało, i wysyła ponownie. Tym razem odbiorca dostaje dane i tworzy duplikat zamówienia. Klient dostaje dwa razy ten sam towar, a Ty masz problem.
Rozwiązanie: Wdróż mechanizm retry z wykładniczym backoffem (np. 3 próby co 5, 30, 60 minut). Każde zdarzenie powinno mieć unikalne ID, aby odbiorca mógł odrzucić duplikaty. I nigdy nie polegaj na tym, że pierwsze wysłanie zadziała.
3. Brak monitorowania webhooków
Webhooki często działają w tle – nikt ich nie widzi, dopóki coś nie pójdzie nie tak. A problemy narastają po cichu. Przykład: klient składa zamówienie, webhook aktualizuje stan magazynowy, ale błąd w payloadzie powoduje, że magazyn odejmuje dwa razy więcej. Po tygodniu okazuje się, że brakuje towaru, a zamówienia są opóźnione.
Z doświadczenia wiem, że większość firm nie ma dashboardu do webhooków. Nie wiedzą, ile wysłano, ile zakończyło się błędem, ile trwa odpowiedź. A to prosta droga do problemów.
Rozwiązanie: Zbuduj prosty panel monitorujący (lub użyj gotowego narzędzia), który pokazuje status, czas odpowiedzi, błędy i historię każdego webhooka. Alerty o błędach powinny trafiać na Slacka lub maila – i to nie tylko do developera, ale też do supportu. W końcu to oni pierwsi słyszą od klientów o problemach.
Biznesowe konsekwencje
Te błędy nie są tylko techniczne – mają wymierne skutki biznesowe. Opóźnienia w realizacji zamówienia, złe stany magazynowe, duplikaty, koszty zwrotów i utrata zaufania klientów. W jednym z case studies, które widziałem, firma traciła około 5% zamówień miesięcznie przez martwe webhooki. To było kilka tysięcy złotych, które mogli zaoszczędzić.
Podsumowanie
Webhooki to nie jest coś, co można ustawić i zapomnieć. To ważny element infrastruktury, który wymaga walidacji, retry i monitorowania. Jeśli Twoja firma wdraża nowe integracje, zatrzymaj się na chwilę i sprawdź, czy webhooki są dobrze zaprojektowane. Być może właśnie unikasz kosztownego błędu.
A jeśli czujesz, że potrzebujesz wsparcia w audycie lub implementacji solidnych webhooków – JurskiTech pomoże Ci postawić to na nogi. Bez lania wody, za to z solidną dawką praktycznej wiedzy.


