The non-ngrok's way of receiving webhook payload

The non-ngrok's way of receiving webhook payload

How to never depend on tunneling clients to get webhook payload.

What are webhook, endpoint, and payload?

Webhook is the term given to the HTTP relationship and channel that exists between a service consumer, and provider, this can further be described as the "How do we reach you with feedback & How to reach us with feedback" conversation that exists between a service consumer/customer and a service provider.

Take for example, you(Consumer/Customer) ordered a package from an e-commerce site(Provider), and your agreed mode of communicating the package status till it got delivered is via e-mail/phone, this communication channel can be termed Webhook in HTTP REQUEST, your unique email address/phone is the endpoint, thus it's safe to say webhook is a feedback system, and the feedback being sent is the Payload.

Analysis

Consumer/Customer - You
Provider - E-commerce site/Any platform
Webhook - Feedback system
Endpoint - E-mail, Phone, or URL
Payload - Provided feedback

How do tunneling clients come into play?

The typical mode of application development is to start locally on our PC and that would be our first integrated development environment, however before a provider can reach us with the order/transaction's status, a live webhook URL (endpoint) from us is needed to send the payload (feedback) to, this would be somewhat difficult as our development environment is local, tools like ngrok or expose exists to help in solving this issue by temporal tunneling of our local server to the internet for feedback(payload) receipt. The image below shows a typical provider dashboard where a consumer webhook is registered.

Live webhook url on the provider platform

Tools like ngrok, expose, and other tunneling clients do a good job at solving the above-highlighted issues, but as a curious cat who loves to explore other options/tools for getting things done I had to look for other ways.

An alternative way of receiving webhook payload.

The two tools below save us the stress of going through sign-up before tunneling, by giving us a unique endpoint to receive our payload.

  1. https://typedwebhook.tools/

  2. https://webhook.site/

A visit to any of the above link, give us a unique endpoint, which can be given to our provider for payload receipt. Below is a typical webhook payload.

NB: This should be used only for testing, replace your endpoint appropriately when you go live.