Czym jest webhook i dlaczego czasem nie dociera?
Za każdym razem, gdy status zamówienia zmienia się w Montonio (na przykład z "oczekujący na płatność" na "opłacony"), wysyłamy do Twojego sklepu powiadomienie webhook. W ten sposób sklep dowiaduje się, że ma zaktualizować zamówienie po swojej stronie.
Czasem webhook nie dociera z powodu indywidualnych ustawień serwera. Najczęstsze przyczyny to:
Serwer blokuje nasze zapytanie. Zwykle powoduje to reguła firewalla lub tryb bot-fight. (HTTP 403)
Nie można połączyć się z adresem powiadomień. Serwer nie znajduje adresu, na który wysyłamy dane. (HTTP 404)
Weryfikacja tokenu na poziomie platformy odrzuca zapytanie. Blokuje je walidacja CSRF lub podobna. (HTTP 419)
Serwer napotkał błąd podczas przetwarzania. Może to wynikać z konfiguracji serwera, problemów z pamięcią lub nieobsłużonego wyjątku. (HTTP 500)
Serwer nie odpowiedział na czas. Endpoint odpowiadał dłużej niż 30 sekund. (Timeout)
W większości przypadków problem musi zostać rozwiązany po stronie sklepu przez Twojego programistę lub dział IT — na przykład przez dodanie adresów IP Montonio do listy dozwolonych, poprawienie adresu powiadomień albo sprawdzenie logów serwera.
Gdzie mogę sprawdzić, co się stało?
Szczegółowe informacje o dostarczeniu powiadomień dla każdego zamówienia znajdziesz w dzienniku zdarzeń (Event log).
Otwórz System Partnerski i przejdź do zakładki Zamówienia.
Wybierz zamówienie, które chcesz sprawdzić, i kliknij ikonę rozwinięcia w prawym górnym rogu panelu, aby otworzyć widok szczegółowy.
Przejdź do zakładki Dziennik zdarzeń.
Każde zdarzenie ma znacznik czasu i krótki opis. Kliknij Pokaż metadata przy nieudanym zdarzeniu webhook, aby zobaczyć pełne szczegóły, w tym kod statusu HTTP zwrócony przez Twój serwer.
Kiedy warto wysłać webhook ponownie?
Webhook warto wysłać ponownie dopiero po usunięciu przyczyny problemu po Twojej stronie. Poniższe wskazówki możesz przekazać swojemu programiście lub działowi IT do sprawdzenia:
Rozwiązywanie błędu 403 Forbidden
Sprawdź, czy webhook nie jest blokowany przez zasady bezpieczeństwa lub konfigurację proxy.
Upewnij się, że adresy IP Montonio są na liście dozwolonych:
35.156.245.42oraz35.156.159.169.Sprawdź, czy włączony jest tryb bot-fight lub „under attack". Jeśli tak, wyłącz go dla ścieżki webhooka albo utwórz wyjątek WAF dla zapytań POST do adresu powiadomień.
WooCommerce: zezwól na adresy URL zawierające
wc-apiPrestaShop: zezwól na adresy URL zawierające
/module/montonio/webhook
Rozwiązywanie błędu 404 Not Found
Sprawdź
notificationURLw dzienniku zdarzeń Montonio i porównaj go z adresem produkcyjnym.Upewnij się, że
notificationURLjest publicznie dostępny (nie localhost, nie środowisko testowe, nie za VPN-em).Sprawdź, czy ostatnie zmiany w sklepie nie zaburzyły routingu adresów — na przykład zmiana domeny albo reguły SSL i przekierowań.
Rozwiązywanie błędu 419 CSRF Token Mismatch
Dodaj zapytania POST webhooków Montonio do listy wyjątków, aby omijały walidację tokenu CSRF.
Rozwiązywanie błędu 500 Internal Server Error
Sprawdź logi serwera z godziny wskazanej w metadanych zdarzenia.
Przejrzyj ostatnie wdrożenia lub zmiany konfiguracji, które mogły spowodować problem.
Sprawdź, czy endpoint nie przekracza limitów pamięci lub czasu odpowiedzi przy większym obciążeniu.
Rozwiązywanie błędu Timeout (przekroczono 30000 ms)
Sprawdź, ile czasu zajmuje odpowiedź handlera webhooka.
Potwierdź odbiór webhooka natychmiast (zwróć 200), a właściwe przetwarzanie wykonaj asynchronicznie — w kolejce lub zadaniu w tle.
Zoptymalizuj wolne zapytania do bazy danych.
Sprawdź zasoby hostingu, jeśli serwer stale nie nadąża za ruchem w sklepie.
Jak ponownie wysłać webhook?
⚠️ Uwaga: przycisk ponownego wysłania webhooka jest dostępny tylko wtedy, gdy:
dla zamówienia zdefiniowany jest
notificationURL,zarejestrowane zostało co najmniej jedno zdarzenie webhook,
jesteś zalogowany do Systemu Partnerskiego jako manager lub sygnatariusz.
Otwórz zamówienie i przejdź do zakładki Dziennik zdarzeń.
W sekcji Order events (prawy górny róg) kliknij Wyślij ponownie webhook.
Pojawi się okno potwierdzenia. Kliknij Wyślij ponownie, aby kontynuować, lub Anuluj, aby wrócić.
Zobaczysz komunikat potwierdzający.
Odśwież stronę, aby zobaczyć nowe zdarzenie w dzienniku — pokaże ono, czy ponowna wysyłka się powiodła.
Co zrobić, jeśli ponowna wysyłka również się nie powiedzie?
Jeśli pojawi się ten sam błąd, pierwotny problem prawdopodobnie nie został jeszcze w pełni rozwiązany. Kliknij Pokaż metadata przy nowym nieudanym zdarzeniu, sprawdź aktualny kod statusu, przekaż go swojemu programiście lub działowi IT i spróbuj ponownie po potwierdzeniu poprawki.
Jeśli masz dodatkowe pytania i potrzebujesz pomocy, skontaktuj się z naszym zespołem wsparcia przez czat w prawym dolnym rogu.








