In this article, we demystify “API vs Webhook” and explore how they are integral tools for facilitating data flow between different systems and applications. By learning from this content, you will gain:
- An understanding of what APIs are and how they work to create, update, and manage data between various systems
- Insight into the concept of webhooks, and how they differ from APIs, particularly in their event-driven nature, making them perfect for real-time notifications and data updates
- An exploration of real life demonstrations portraying how APIs and webhooks function using MParticle’s Data Planning API and webhook.site respectively
- The realization of the importance of APIs and webhooks in powering the economy of interconnected applications, contributing to the dynamism of the digital sphere we engage with on a daily basis
API vs Webhook: Understanding the Difference
Think about the apps you use on a daily basis. Are these apps static and isolated or are they dynamic and connected to other systems? I’m guessing you don’t use one of these very often, so the answer is probably the latter. In order to build useful systems, developers need a way to allow these systems to receive and store user input. Without it, things like posting an update to social media, checking your email, or browsing the web simply wouldn’t be possible. And these phones we all keep in our pockets would be little more than fancy plastic.
So how does user input make it from one system to the other? The answer is webhooks and the Application Programming Interface, or we just call it an API. Let me show you how they work.
You can think of an API as a doorway through which two systems are able to share data. In order for the sharing to happen, system A has to request something from system B. When system B receives this request, it checks to make sure that 1. it has the resource and 2. that system A is authorized to have it. If all is clear on both fronts, system B will deliver on system A’s request. But if something goes wrong, system B will also send back an error message. This process is known as the request-response cycle.
API: Application Protocol Interface Explored
Now let’s take a look at an API in action using MParticle’s Data Planning API, which lets you manage data plans in your MParticle workspace. We’ll start here in the MParticle workspace, looking at a data plan for an e-commerce store that sells sofas. Now let’s jump over to Postman, which we’ll use to interact with the Data Planning API. We want to fetch our latest data plan from MParticle. To do so, we’ll add a few pieces of information to our API request, telling MParticle that we’re authorized to get this information. Now to fetch our data plan, we’ll hit send on this GET request, and there it is. But what if we want to create a new data plan on the fly? The Data Planning API lets us do that as well. In this request, we’ll include all the information we want in our data plan as a JSON object in the API call. This time, making a POST request, which will let us create new data in MParticle. Now let’s go over to MParticle and make sure our new data plan is there. And it is. As you can see, in addition to asking for data, these requests can also be used to create, update, and delete data, which is why they’re often the go-to tool for integrating two systems.
API vs Webhook: Webhooks Explored
Now let’s explore webhooks. Instead of one application making a request to the other, webhooks allow one program to send data to another as soon as a certain event takes place. You can almost think of this as a reverse API. And because they’re event-driven, webhooks are ideal for things like real-time notifications and data updates, like getting a Slack message each time a certain hashtag on Twitter is used.
To illustrate how webhooks work, we’re going to set up a data output in MParticle. This output will send event data over to webhook.site, which is a free tool for creating webhooks. Take a look. Here in webhook.site, we’ve already generated a webhook, which gives us a test URL to which we can send event data from MParticle. Now in MParticle, we’ll establish this webhook as a new data output by giving MParticle the webhook URL. Now let’s use a sample ecommerce app to forward some events to MParticle. Here on the left, we’re performing some actions in this app. And behind the scenes, our behaviors are being captured as data events and being sent to MParticle, which we can see in real-time here on the right. Let’s filter our events by outbound. This will show us all the data being forwarded to our webhook destination. Back over in our test webhook, we can see that these events are arriving in real-time as POST requests. We can also examine the payload, which is the contents of the data being forwarded.
So as you can see, both APIs and webhooks allow data to flow between systems, thus powering an entire economy of interconnected applications. To see this in action, check out a free trial of MParticle. And don’t worry if you don’t have an app to test with, check out our free sample apps repo below. Thanks for reading.