Product Documentation
Engine: Getting Started
Provider Platform
The Webhooks.io Provider Platform allows webhook providers the ability to offload the complexity of sending and ensuring delivery of webhooks request by providing a set of services to handle each of the tasks associated with managing and delivering webhooks. Before getting too far into how to implement the provider platform within your application it is important to understand what the platform is and how it can work for you.
The Provider Platform contains three primary services: the Provider Proxy, our REST API, and the Management Console. Any combination of these 3 services can be used to provide the tools needed to get webhooks implemented in an applications quickly and effortlessly. A full implemention of the platform allows you to offload every component of the webhook management and delivery process so your application only has to make calls to our API when hooks should be fired. Some customers however do not want to implement the entire webhook process to our service for various reasons, in this case only specific parts can be adopted to craft the perfect experience for your users. Below is a list of the various components of the platform.
It is important to note that not ALL components must be used as the same time. Components can be selected to create the best webhook experience for your end users.
Embeddedable Management Console - (UI component)
The Embeddedable Management Console is a drop-in User Interface that can easily be customized to match the look and feel of your application. This console will provide your users with a full webhook subscription management, reporting, and logging interface within your application. Your customers interact under the hood directly with our services via the Management Console.
Events are sent via our system through our gateway but all management, logging, and reporting is handled with our system.
The manager is also open source so you can make changes as required for a more seemless experience.
The Webhooks.io console uses the same Embeddedable Management Console that you can embed with your application. To see the Managment Console in action, login to your account and navigate to the "Webhooks" section that is located under the user menu on the right.
When viewing the manager, note that everything shown in the yellow box is what is automatically embedded. We are using the default styles (Bootstrap), but you can also include customized CSS that tailors the Management Console to your exact needs.
The Management Console allows your users the following functions:
- Subscription Management
- Webhook Request Log
- Analytics
- Documention
Each of the following functions can be toggled on/off based on your preferences.
REST API
The REST API can be used in multiple ways including:
- Managing Subscriptions
- Requesting customer specific metrics
- Requesting customer sepcific logs
- Checking customer event subscriptions
- Sending customers events for delivery
The REST API can be leveraged to handle subsciption managment if you want to build your own interface but allow Webhooks.io to manage your subscriptions. You can also pull in reporting and logs via the API allowing you to create and design your own system entirely off the API. All features available within our system can be controlled from the API.
Example API Use Cases
Handling subscription management via your API
Many appliation not only allow users to manage their webhook subscriptions via the UI but also via API calls. This example will review how to setup your API calls to relay to the webhooks.io API to update your customers webhook subscriptions.
Below is a visual of the simple request/response for this type of implemention.
To simplify things you do not need to actually "provision" each of your client accounts within Webhooks.io. When you make the API calls to interact with your client accounts we will automatically handle provisioning the client segmention on our end if there is not already a segmention setup.
Creating a subscription
In order to create a subscription the api request you will need to make would look like:
curl -X POST \
-H "Authorization: Bearer {Your-API-Token}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'name=Request Bin&endpoint_url=http://requestb.in/15iaub51&header_prefix=Your-Service&headers_to_include=event_type,outgoing_message_id,attempt_id,user_agent'\
"https://api.webhooks.io/v1/accounts/{account_id}/applications/{application_id}/consumers/{consumer_id}/destinations"
You can review the full details for the api calls within our api documention. You will need to focus on the endpoints in the provider section that are about consumer destinations.
Provider Proxy
The proxy feature is perfect for customers that have existing webhooks functionallity already built into their system but want to offload the deliverablity aspects to our platform.
With this feature, your application would continue to manage the webhook subscriptions and front end facing UI for webhooks management. The big difference is instead of your application sending the webhook to the user it would send to our system and from there we would handle the remainder of the delivery process - including failures, retries, transformations, etc.
Within mere minutes your application be offloading requests to our system to free up valuable resources.
Provider Proxy