Webhooks Handleiding

Real-time webhook debugging voor developers

Concept: Hoe Webhooks Werken in HookCheck

Een webhook is een HTTP callback die een externe service afvuurt naar jouw endpoint wanneer een gebeurtenis plaatsvindt. HookCheck vangt die inkomende requests realtime op, registreert elk detail, en geeft je de controle die je nodig hebt om integraties te debuggen, te valideren en te itereren — zonder productietraffic te hoeven inspecteren.

Wanneer je een HookCheck endpoint aanmaakt (bijvoorbeeld https://hookcheck.io/ep/a3f8c2d1), genereert het platform een unieke URL die je als webhook-url kunt doorgeven aan elke provider: Stripe, GitHub, Shopify, Twilio, of een eigen backend. Elke inkomende request wordt binnen 20 ms geregistreerd, inclusief HTTP-methode, status code, headers, payload, en de volledige response die HookCheck terugstuurt.

HookCheck ondersteunt zowel inkomende webhooks (die je ontvangt van derden) als uitgaande webhooks (die je zelf simuleert naar externe endpoints). Met de built-in delay-editor kun je de response-time van je endpoint manipuleren — handig om time-outgedrag te testen. De request-logger bewaart de laatste 5.000 events per endpoint, en je kunt individuele requests exporteren als cURL, JSON, of een replay-script.

Inkomende Webhooks Ontvangen

Geef je HookCheck URL door aan een provider en bekijk elke inkomende request live. Filter op event-type, status code, of tijdstip. Bekijk de raw body, geparste JSON, of een diff tussen opeenvolgende payloads.

Uitgaande Webhooks Simuleren

Stuur test-webhooks naar jouw eigen server met een custom payload, headers, en configurable delay. HookCheck's request-scheduler ondersteunt één-maal verzending, interval-herhaling (bijv. elke 30 seconden), en cron-achtige planning.

Request Replay & Export

Klik op "Replay" om een exacte kopie van een ontvangen webhook opnieuw te versturen naar een nieuw endpoint. Exporteer als cURL-commando, JSON-bestand, of een Postman-compatible collection voor team-sharing.

Headers: Inspecteren, Valideren en Aanpassen

HTTP-headers dragen cruciale metadata over een webhook: authenticatie, content-type, source-identificatie, en verificatie-handtekeningen. HookCheck parseert en presenteert elke header als leesbaar key-value paar, zodat je direct kunt zien of een provider de juiste headers meesturen.

De meest kritische headers die je in HookCheck zult tegenkomen zijn Content-Type (meestal application/json), User-Agent (identificeert de afzender, bijv. Stripe/1.0 of GitHub-Hookshot/eb5b), en provider-specifieke signatuur-headers zoals Stripe-Signature, X-Hub-Signature-256, of X-Shopify-Hmac-Sha256. HookCheck markeert ontbrekende of onverwachte headers met een gele warning-badge, en biedt een built-in HMAC-verificatie voor de grootste providers.

Voor uitgaande webhooks kun je custom headers definiëren via de header-editor. Voeg bijvoorbeeld X-Webhook-Source: HookCheck of Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc toe aan je test-requests. Headers worden bij elke replay meegenomen, en je kunt een "header-template" opslaan voor hergebruik across multiple endpoints.

Common Headers Overview

Content-Type: application/json — standaard voor de meeste providers.
User-Agent: Identificeert de webhook-client, bijvoorbeeld Shopify/1.0 of Twilio-Webhook/1.0.
X-Request-ID: Unieke request-identifier voor logging en tracing.
Content-Length: Aantal bytes in de body, handig bij payload-size debugging.

Signature & Verification Headers

Stripe-Signature: HMAC-SHA256 handtekening met timestamp. HookCheck verifieert dit automatisch als je je whsec_ secret instelt.
X-Hub-Signature-256: GitHub's SHA-256 HMAC. Vergelijkbaar patroon, andere secret-configuratie.
X-Shopify-Hmac-Sha256: Base64-geëncodeerde HMAC voor Shopify webhooks.

Custom Headers voor Uitgaande Requests

Definieer eigen headers in de webhook-scheduler. Gebruik X-Test-Environment: true om test-webhooks te markeren, of Idempotency-Key om duplicate-preventie te simuleren. Alle custom headers worden meegenomen bij replay en export.

Payloads: Bodies, Status Codes en Response Configuratie

De body van een webhook bevat de feitelijke data — de event-payload die vertelt wat er is gebeurd. HookCheck presenteert de raw body, een geformatteerde JSON-weergave, en een schemavalidatie-bericht als je een JSON Schema hebt gekoppeld aan je endpoint.

Een typische Stripe webhook-payload voor een invoice.payment_succeeded event is ongeveer 4.2 KB en bevat geneste objecten: data.object met de invoice-details, data.object.lines.data met individuele line items, en data.object.customer met klantreferenties. HookCheck's JSON-viewer collapse/expand geneste objecten, highlight wijzigingen tussen opeenvolgende events, en laat je toe om specifieke paden te filteren (bijv. data.object.amount_paid).

De response die HookCheck terugstuurt is net zo belangrijk als de payload die het ontvangt. Veel providers vereisen een 200 OK response binnen 5 seconden; anders herhalen ze de webhook. HookCheck stuurt standaard een 200 OK met een lege body. Je kunt dit aanpassen: stel een custom status code in (200, 201, 202, 400, 401, 500, of elke andere geldige HTTP status), voeg een custom response body toe (bijv. {"received": true}), en configureer de response delay (standaard 0 ms, instelbaar tot 30.000 ms) om time-outscenarios te simuleren.

Payload Formats

JSON: Standaard voor 95%+ van de webhook-providers. HookCheck valideert JSON-syntax en toont parse errors direct.
Form-Encoded: Gebruikt door oudere integraties en sommige bank-API's. HookCheck decodeert application/x-www-form-urlencoded automatisch.
XML: Ondersteund voor providers zoals Twilio (SMS webhooks) of SAP. HookCheck presenteert een geïndenteerde XML-view.

Status Code Strategieën

200 OK: Standaard response. Provider stopt met herhalen.
202 Accepted: Bevestiging dat de webhook is ontvangen maar nog niet verwerkt — sommige providers accepteren dit, andere niet.
4xx Errors: Gebruik 400 Bad Request of 401 Unauthorized om te testen hoe je provider reageert op validatiefouten.
5xx Errors: 500 Internal Server Error triggert de retry-logic van de afzender — ideaal voor resilience-testing.

Response Configuratie

Pas de HookCheck response aan via de endpoint-settings: kies een status code, typ een custom body, en stel een delay in (0–30.000 ms). Bijvoorbeeld: 200 OK + {"status":"ok"} + 0 ms voor normaal gebruik, of 503 Service Unavailable + 0 ms + 15.000 ms delay om te simuleren dat jouw server tijdelijk onbereikbaar is.

Volgende Stappen

Maak een gratis endpoint aan op hookcheck.io en test je eerste webhook binnen 30 seconden. Koppel een JSON Schema voor automatische validatie, configureer custom response-headers, of deel je endpoint met je team via de built-in share-link.

Endpoint Aanmaken API Referentie

Webhooks Handleiding

Real-time webhook debugging voor developers

Concept: Hoe Webhooks Werken in HookCheck

Een webhook is een HTTP callback die een externe service afvuurt naar jouw endpoint wanneer een gebeurtenis plaatsvindt. HookCheck vangt die inkomende requests realtime op, registreert elk detail, en geeft je de controle die je nodig hebt om integraties te debuggen, te valideren en te itereren — zonder productietraffic te hoeven inspecteren.

Wanneer je een HookCheck endpoint aanmaakt (bijvoorbeeld https://hookcheck.io/ep/a3f8c2d1), genereert het platform een unieke URL die je als webhook-url kunt doorgeven aan elke provider: Stripe, GitHub, Shopify, Twilio, of een eigen backend. Elke inkomende request wordt binnen 20 ms geregistreerd, inclusief HTTP-methode, status code, headers, payload, en de volledige response die HookCheck terugstuurt.

HookCheck ondersteunt zowel inkomende webhooks (die je ontvangt van derden) als uitgaande webhooks (die je zelf simuleert naar externe endpoints). Met de built-in delay-editor kun je de response-time van je endpoint manipuleren — handig om time-outgedrag te testen. De request-logger bewaart de laatste 5.000 events per endpoint, en je kunt individuele requests exporteren als cURL, JSON, of een replay-script.

Inkomende Webhooks Ontvangen

Geef je HookCheck URL door aan een provider en bekijk elke inkomende request live. Filter op event-type, status code, of tijdstip. Bekijk de raw body, geparste JSON, of een diff tussen opeenvolgende payloads.

Uitgaande Webhooks Simuleren

Stuur test-webhooks naar jouw eigen server met een custom payload, headers, en configurable delay. HookCheck's request-scheduler ondersteunt één-maal verzending, interval-herhaling (bijv. elke 30 seconden), en cron-achtige planning.

Request Replay & Export

Klik op "Replay" om een exacte kopie van een ontvangen webhook opnieuw te versturen naar een nieuw endpoint. Exporteer als cURL-commando, JSON-bestand, of een Postman-compatible collection voor team-sharing.

Headers: Inspecteren, Valideren en Aanpassen

HTTP-headers dragen cruciale metadata over een webhook: authenticatie, content-type, source-identificatie, en verificatie-handtekeningen. HookCheck parseert en presenteert elke header als leesbaar key-value paar, zodat je direct kunt zien of een provider de juiste headers meesturen.

De meest kritische headers die je in HookCheck zult tegenkomen zijn Content-Type (meestal application/json), User-Agent (identificeert de afzender, bijv. Stripe/1.0 of GitHub-Hookshot/eb5b), en provider-specifieke signatuur-headers zoals Stripe-Signature, X-Hub-Signature-256, of X-Shopify-Hmac-Sha256. HookCheck markeert ontbrekende of onverwachte headers met een gele warning-badge, en biedt een built-in HMAC-verificatie voor de grootste providers.

Voor uitgaande webhooks kun je custom headers definiëren via de header-editor. Voeg bijvoorbeeld X-Webhook-Source: HookCheck of Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc toe aan je test-requests. Headers worden bij elke replay meegenomen, en je kunt een "header-template" opslaan voor hergebruik across multiple endpoints.

Common Headers Overview

Content-Type: application/json — standaard voor de meeste providers.
User-Agent: Identificeert de webhook-client, bijvoorbeeld Shopify/1.0 of Twilio-Webhook/1.0.
X-Request-ID: Unieke request-identifier voor logging en tracing.
Content-Length: Aantal bytes in de body, handig bij payload-size debugging.

Signature & Verification Headers

Stripe-Signature: HMAC-SHA256 handtekening met timestamp. HookCheck verifieert dit automatisch als je je whsec_ secret instelt.
X-Hub-Signature-256: GitHub's SHA-256 HMAC. Vergelijkbaar patroon, andere secret-configuratie.
X-Shopify-Hmac-Sha256: Base64-geëncodeerde HMAC voor Shopify webhooks.

Custom Headers voor Uitgaande Requests

Definieer eigen headers in de webhook-scheduler. Gebruik X-Test-Environment: true om test-webhooks te markeren, of Idempotency-Key om duplicate-preventie te simuleren. Alle custom headers worden meegenomen bij replay en export.

Payloads: Bodies, Status Codes en Response Configuratie

De body van een webhook bevat de feitelijke data — de event-payload die vertelt wat er is gebeurd. HookCheck presenteert de raw body, een geformatteerde JSON-weergave, en een schemavalidatie-bericht als je een JSON Schema hebt gekoppeld aan je endpoint.

Een typische Stripe webhook-payload voor een invoice.payment_succeeded event is ongeveer 4.2 KB en bevat geneste objecten: data.object met de invoice-details, data.object.lines.data met individuele line items, en data.object.customer met klantreferenties. HookCheck's JSON-viewer collapse/expand geneste objecten, highlight wijzigingen tussen opeenvolgende events, en laat je toe om specifieke paden te filteren (bijv. data.object.amount_paid).

De response die HookCheck terugstuurt is net zo belangrijk als de payload die het ontvangt. Veel providers vereisen een 200 OK response binnen 5 seconden; anders herhalen ze de webhook. HookCheck stuurt standaard een 200 OK met een lege body. Je kunt dit aanpassen: stel een custom status code in (200, 201, 202, 400, 401, 500, of elke andere geldige HTTP status), voeg een custom response body toe (bijv. {"received": true}), en configureer de response delay (standaard 0 ms, instelbaar tot 30.000 ms) om time-outscenarios te simuleren.

Payload Formats

JSON: Standaard voor 95%+ van de webhook-providers. HookCheck valideert JSON-syntax en toont parse errors direct.
Form-Encoded: Gebruikt door oudere integraties en sommige bank-API's. HookCheck decodeert application/x-www-form-urlencoded automatisch.
XML: Ondersteund voor providers zoals Twilio (SMS webhooks) of SAP. HookCheck presenteert een geïndenteerde XML-view.

Status Code Strategieën

200 OK: Standaard response. Provider stopt met herhalen.
202 Accepted: Bevestiging dat de webhook is ontvangen maar nog niet verwerkt — sommige providers accepteren dit, andere niet.
4xx Errors: Gebruik 400 Bad Request of 401 Unauthorized om te testen hoe je provider reageert op validatiefouten.
5xx Errors: 500 Internal Server Error triggert de retry-logic van de afzender — ideaal voor resilience-testing.

Response Configuratie

Pas de HookCheck response aan via de endpoint-settings: kies een status code, typ een custom body, en stel een delay in (0–30.000 ms). Bijvoorbeeld: 200 OK + {"status":"ok"} + 0 ms voor normaal gebruik, of 503 Service Unavailable + 0 ms + 15.000 ms delay om te simuleren dat jouw server tijdelijk onbereikbaar is.

Volgende Stappen

Maak een gratis endpoint aan op hookcheck.io en test je eerste webhook binnen 30 seconden. Koppel een JSON Schema voor automatische validatie, configureer custom response-headers, of deel je endpoint met je team via de built-in share-link.

Endpoint Aanmaken API Referentie