Webhooks: wat te doen als de HTTP-statuscode begint met een vier (4xx) of vijf (5xx)

Een HTTP-statuscode in de reeks 400-499 of 500-599 komt van je server, en geeft aan dat je systeem het verzoek heeft ontvangen, maar het niet kon verwerken. Probeer het volgende:

  1. Kijk in het dashboard naar het antwoord van je server voor aanvullende informatie: Het is mogelijk dat er geen extra informatie in het antwoord staat. Dit hangt af van hoe je server is geconfigureerd en hoe je code is ontworpen om op fouten te reageren

  2. Controleer de logboeken van je server op fouten of waarschuwingen: Deze fouten moeten je wijzen naar de bron van de foutmelding, wat de afhandelingscode van je webhook of een configuratieprobleem op je server kan zijn

  3. Bevestig dat de ontvangen gebeurtenis een API-versie heeft die jouw code aankan: API-versies bepalen de structuur van het object in een gebeurtenis. Een verkeerde API-versie tussen een inkomende gebeurtenis en jouw verwerkingscode kan leiden tot onverwachte fouten

Een aantal veel voorkomende fouten die statuscodes 4xx en 5xx veroorzaken en de oplossingen ervoor staan hieronder.

Fout: geen handtekeningen gevonden die overeenkomen met de verwachte handtekening voor de payload

Deze of een soortgelijke fout (de formulering kan per bibliotheek verschillen) betekent dat de verificatie van de webhook-handtekening is mislukt. Deze fout wordt meestal veroorzaakt door een van de volgende zaken:

Fout: tijdstempel buiten de tolerantiezone

Deze of een soortgelijke fout (de formulering kan per bibliotheek verschillen) betekent dat de ontvangen gebeurtenis te oud is om te kunnen verifiëren. Webhook-handtekeningen hebben een tijdscomponent, en moeten kort na ontvangst worden geverifieerd.

Probeer het volgende:

Interne serverfout

Deze fouten worden meestal veroorzaakt door code die een uitzondering maakt, een parsing-fout of een of andere brekende wijziging.

Meestal wordt deze soort fout veroorzaakt door een of andere verandering op de server of infrastructuur die verantwoordelijk is voor het accepteren en verwerken van webhooks. Nieuwe of gewijzigde code, een serverupdate of een configuratieverandering kan voor een nieuwe foutmodus of incompatibiliteit zorgen.

Als je deze fout tegenkomt, controleer dan de foutenlogboeken van je server voor meer informatie. De locatie van foutenlogboeken varieert per server, op basis van configuratie, besturingssysteem, webserver, de gebruikte programmeertalen en andere factoren, dus we kunnen geen specifieke instructies geven.  We raden je aan zowel de logboeken als de configuratie van het foutenlogboek te controleren op een van de volgende zaken die je mogelijk gebruikt om webhooks te ontvangen: