Adding peer-to-peer communications to an application is relatively straight-forward. Developers can leverage WebRTC APIs or a CPaaS service to quickly add real time voice and video to their web or mobile app. But, what if you want to hold a meeting with more than two people? How can you leverage powerful WebRTC APIs to build a multi party conferencing application?
With webhooks, your app always knows what happens on the server-side in real time. This makes webhooks ideal for integrating communications apps with events and data from other systems.
A webhook is a user-defined HTTP callback that is triggered when a predetermined event occurs. Simply put, webhooks act as a bridge between third-party servers and clients. Some other commonly used terms for a webhook are ‘web callback’ and ‘HTTP push API’.
As soon as a designated event happens, webhooks immediately send data to clients. The server sends data in the form of an HTTP request – most usually a POST – to the URL address configured to receive webhooks.
Webhooks are especially useful when building notification functions and event-driven responses in apps. For instance, developers of communications apps use webhooks to receive notifications when a call or SMS comes in.
Webhooks vs. APIs
With web APIs, clients have to constantly ask servers to send new data. With webhooks, a server tells a client: ‘You don’t have to call. I'll call you when something new comes up’. In other words, API calls are request-based, whereas webhooks are event-based. With webhooks, you configure in advance the events under which the server automatically sends data.
Such an approach is more efficient both for the data provider and client. The client doesn’t need to waste resources polling the server. Also, webhooks use HTTP so there is no need for additional infrastructure.
How to Use Webhooks
Developers use webhooks when there is a need to establish an event-based communication channel between their app and a service provider. Webhooks synchronize data between remote apps.
For instance, take inbound SMS integration into the CRM system used in a contact center. If a developer integrates third-party APIs, like Voximplant, the ‘messaging’ event happens in an external environment – VoxEngine.
When the event occurs, VoxEngine makes an HTTP request to the webhook URL for the CRM. This request includes event details such as the body of an inbound message and sender phone number, enabling the CRM to add the SMS to the customer’s record.
Additional examples of webhook integrations with Voximplant include:
- Inbound phone calls. Similar to an SMS integration, you can subscribe to receive notifications about inbound calls
- CRM platforms. CRM users can receive notifications about events such as replies to messages or contact information changes
- Delivery status. Track the delivery status of sent messages with programmable SMS and webhooks
Try Webhooks with Voximplant
If you are ready to implement webhooks with your app, follow these steps:
- Sign up. Create a free developer account to get access to the Voximplant cloud
- Configure webhooks. Go to the webhooks section and specify your backend server URL
- Set up your backend server. Customize your server as needed to receive the Voximplant HTTP POST
See a detailed guide on how to use Voximplant webhooks in our developer documentation.