Webhook testen

Voor je een webhook in productie gebruikt, is het slim om eerst te controleren wat er precies binnenkomt. Dit artikel laat zien hoe je dat doet zonder een echte koppeling te hoeven bouwen.

Optie 1 - webhook.site (snelste manier)

webhook.site is een gratis tool waarmee je in seconden een tijdelijke webhook-URL hebt en alle binnenkomende verzoeken kunt inspecteren.

Stappen

  1. Ga naar webhook.site.
  2. Je krijgt direct een unieke URL toegewezen, bijvoorbeeld https://webhook.site/abc-def-123.
  3. Kopieer die URL.
  4. Plak de URL in de Webhook url van je trigger-actie in Mach3Forms en sla op.
  5. Vul je vragenlijst in (via voorvertoning of met een testdeelnemer).
  6. In het webhook.site-tabblad zie je het verzoek binnenkomen, inclusief headers en de volledige JSON-body.

Hiermee kun je in een paar minuten zien hoe de payload eruitziet, voor je je echte receiver gaat bouwen.

Tijdelijke URL

Een webhook.site-URL is bedoeld voor testen. Gebruik hem niet in productie - sluit je tabblad en de URL is vergeten. Bouw voor productie een eigen permanente endpoint.

Optie 2 - lokaal testen met ngrok

Wil je je echte applicatie op je eigen laptop testen, terwijl Mach3Forms in de cloud draait? Gebruik dan ngrok om een tunnel naar je localhost te maken.

Stappen

  1. Installeer ngrok.
  2. Start je lokale applicatie (bijvoorbeeld op poort 3000).
  3. Open een terminal en draai: ngrok http 3000.
  4. Ngrok geeft je een publieke URL zoals https://abc123.ngrok-free.app.
  5. Plak die URL (eventueel met je endpoint-pad) in de Webhook url van je trigger.
  6. Vul de vragenlijst in en bekijk hoe je lokale code de payload verwerkt.

Wat te controleren

Bij het testen let je op:

  • Komt het bericht binnen? Zo niet: staat de trigger op Actief, is de URL correct, voldoet je testantwoord aan de condities?
  • Klopt het Content-Type? Het is application/json.
  • Klopt de structuur? Vergelijk met het verwachte payload-formaat - je type, survey en data-velden zijn aanwezig.
  • Zit de juiste data in answers? Test met meerdere vraagtypes om te zien hoe value/score/explanation worden ingevuld.
  • Hoe ga je om met email = null? Bij openbare vragenlijsten kan dat voorkomen.

Wat te doen bij problemen

Symptoom Mogelijke oorzaak
Geen request bij webhook.site Trigger niet actief, foutieve URL, of de testreactie voldoet niet aan condities
Wel een request maar zonder body Content-Type niet correct verwerkt - controleer dat je server JSON-bodies leest
Velden missen die je verwacht Het data-object verschilt per vragenlijst - kijk in payload-formaat voor wat altijd aanwezig is
Trigger vuurt vaker af dan verwacht Bij elke voltooide reactie komt er een aparte webhook - test dus niet met snel achter elkaar dezelfde vragenlijst invullen
Tip: log payloads in productie

Bouw in je echte receiver een log-mechanisme dat de eerste paar payloads bewaart. Dat helpt enorm bij debugging als er later iets misgaat - bijvoorbeeld bij een nieuw vraagtype dat een onverwachte structuur oplevert.