Przejdź do głównej zawartości

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 statusuPrawdopodobna przyczynaRozwiązanie
401Weryfikacja podpisu nie powiodła sięSprawdź kod weryfikacji — patrz Bezpieczeństwo webhooków
400Twój endpoint odrzuca format ładunkuZarejestruj surowe dane i sprawdź zgodnie ze schematem ładunku
404URL endpointu zmienił sięZaktualizuj URL webhooka w Właściwość → Webhooki → [Webhook] → Edytuj
500Błąd w obsłudze webhookaSprawdź logi serwera pod kątem błędu
timeoutTwój endpoint zbyt długo odpowiadaOdpowiedz 200 natychmiast, przetwarzaj asynchronicznie

Objaw B: Weryfikacja podpisu webhooka nie powiodła się

Przyczyna: Najczęstsze przyczyny:

  1. Ciąg podpisywania zbudowany nieprawidłowo — musi być {timestamp}.{raw_body} (nie przeanalizowany JSON)
  2. Użycie innego sekretu niż wyświetlony w Pulpicie
  3. 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.