What is a Webhook?
Webhooks, also known as http callbacks, are a way for APIs to notify applications that a specific event has occurred without receiving a request.
Another way to think about webhooks is that they are push notifications between apps. The server detects that an event has occurred which triggers it to send a response to the client.
This differs from APIs which also enable communication betwen apps, but the communication is initiated by a reqeust from one app (the client) to another (the server).
The server then sends a response back to the client.
Webhook communications do not involve a client side request. The server simply sends a response when predetermined conditions are met.
Why Webhooks vs APIs?
Webhooks are a great solution if the client does not know when an event will occur and wants to be notified in real time. To accomplish this with an API, you would need to implement API polling. API polling is simply a client sending continuous API requests for updates. Polling is often a waste of bandwidtch and computing resources for both the client and server. Webhooks are a much more efficient solution to the problem of real time event notification.
Svix is an open source Webhooks as a Service product that simplifies the process of building a reliable, secure, scalable webhook solution.
When building your own webhooks you have to deal with a lot of challenges: unreliable user endpoints, monitoring and reliability of your webhook system, security implications unique to webhooks and much more.
This is where we come in. With Svix you can start sending webhooks in under five minutes, and we take care of all of the above and more.
In addition to helping you send webhooks to your users, we also help your users easily verify the authenticity and security of the webhooks they receive from you.
We offer easy to use docs for how to safely consume webhooks which you can share with your users directly: Consuming Webhooks documentation.
As part of that we offer a set of open-source libraries that your users can use when consuming webhooks
If you have any questions, or you just want to chat, please [join the Svix Slack community](the Svix Slack community).