Niepowodzenia webhooków
Objaw A: Endpoint webhooka zwraca 4xx/5xx
Jak sprawdzić: Pulpit → Właściwość → Webhooki → Dziennik dostarczeń — pokazuje kody statusu i treści odpowiedzi.
Przyczyny i rozwiązania:
| Kod statusu | Prawdopodobna przyczyna | Rozwiązanie |
|---|---|---|
401 | Weryfikacja podpisu nie powiodła się | Sprawdź kod weryfikacji — patrz Bezpieczeństwo webhooków |
400 | Twój endpoint odrzuca format ładunku | Zarejestruj surowe dane i sprawdź zgodnie ze schematem ładunku |
404 | URL endpointu zmienił się | Zaktualizuj URL webhooka w Właściwość → Webhooki → [Webhook] → Edytuj |
500 | Błąd w obsłudze webhooka | Sprawdź logi serwera pod kątem błędu |
timeout | Twój endpoint zbyt długo odpowiada | Odpowiedz 200 natychmiast, przetwarzaj asynchronicznie |
Objaw B: Weryfikacja podpisu webhooka nie powiodła się
Przyczyna: Najczęstsze przyczyny:
- Ciąg podpisywania zbudowany nieprawidłowo — musi być
{timestamp}.{raw_body}(nie przeanalizowany JSON) - Użycie innego sekretu niż wyświetlony w Pulpicie
- Odczytanie buforowanego/zmodyfikowanego ciała zamiast surowych bajtów
Rozwiązanie: Upewnij się, że odczytujesz surowe ciało żądania przed jakimkolwiek parsowaniem JSON. W Express:
// MUSI używać middleware surowego ciała
app.use('/webhooks', express.raw({ type: '*/*' }));
Objaw C: Dostarczenia webhooków są opóźnione
Przyczyna: ConsentForge ponawia nieudane dostarczenia z wykładniczym cofaniem — opóźnienia są oczekiwane po początkowych niepowodzeniach.
Rozwiązanie: Napraw podstawowy błąd (patrz Objaw A). Gdy Twój endpoint zwróci 2xx, przyszłe dostarczenia będą natychmiastowe.
Objaw D: Brakujące dostarczenia — zdarzenia nie odebrane
Jak sprawdzić: Porównaj liczbę dostarczeń w dzienniku Pulpitu z liczbą odebranych przez serwer.
Przyczyna: Niektóre zdarzenia mogły wyczerpać wszystkie próby (5 prób przez ~2 godziny).
Rozwiązanie: Właściwość → Webhooki → Dziennik dostarczeń → Filtr: Nieudane — użyj przycisku Ponów, aby ponownie wysłać nieudane dostarczenia.