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
- Ga naar webhook.site.
- Je krijgt direct een unieke URL toegewezen, bijvoorbeeld
https://webhook.site/abc-def-123. - Kopieer die URL.
- Plak de URL in de Webhook url van je trigger-actie in Mach3Forms en sla op.
- Vul je vragenlijst in (via voorvertoning of met een testdeelnemer).
- 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.
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
- Installeer ngrok.
- Start je lokale applicatie (bijvoorbeeld op poort 3000).
- Open een terminal en draai:
ngrok http 3000. - Ngrok geeft je een publieke URL zoals
https://abc123.ngrok-free.app. - Plak die URL (eventueel met je endpoint-pad) in de Webhook url van je trigger.
- 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,surveyendata-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 |