Application Integration

Webhooks In Our API Design Toolbox

Another tool in our API Design Toolbox…

We talk a lot about how webhooks are the 101 of event-driven infrastructure. Webhooks are where API providers begin when it comes to developing an awareness of the most important events that are occurring across their platforms. It is how they begin putting event-driven infrastructure to work to help reduce polling on their API infrastructure. As part of our regular work to map out the event-driven landscape, we’ve organized a handful of the most common webhook building blocks we’ve come across.

→ Outbound – Allowing for outbound webhooks, that make calls to external URLS based upon some event that occurs within the platform.
→ Inbound – Considering how APIs are designed to allow for the receipt of webhooks from other system, working with external schemas, and further integrating with other popular 3rd party platforms.
→ Fat Webhooks – Adding webhooks.
→ Skinny Webhooks – Allowing for webhooks just to be notifying of event, and a resulting API call will be needed to retrieve the data.
→ Scheduling – Allowing for scheduling of jobs, pushing data via webhooks, as well as the event-driven approach to delivering payloads
→ Event Types – Providing a comprehensive list of events that can be subscribed to as part of webhooks.
→ Security – Considering the security aspects of webhooks, and validating notifications and payload, which should also be part of the fat and skinny payload discussions.

These seven building blocks are some of the most comment elements of webhook implementations by the leading API providers. Helping demonstrate what API providers should be considering as they begin their event-driven evolution, moving towards making their request and response infrastructure more responsive and real-time. Leveraging, and pushing web technology to better match the pace of change businesses are encountering as they do business each day, and work to remain competitive.

API Design
**Original source: streamdata.io blog