Event Driven Integrations using Webhooks – Explained!
When we think of an integration platform, we first think of how our critical business data can be easily transferred from one application to another. To deal with the problem of data transfer, we traditionally take an approach where the integration waits for the platform to have an update. It generally polls data to an application as per the schedule defined in the application. The traditional approach is fine, but sometimes when the data transfer is supercritical and the business needs require an immediate update on the business data, we must have a mechanism where the data is immediately transferred to the other end as soon as the data is captured in the app. This is the case of Event-Driven Integration.
To understand how the push-based API works, we need to understand few of the concepts.
What is Polling based Synchronization?
In case of Polling, the web server or API is requested for an update at an interval. In general case, the polling is done according to a schedule defined by the integration platform. Some integration platform (like APPSeCONNECT) provides enhanced scheduler which a user can configure to run hourly, weekly, every fortnight etc. In most of the cases, your integration provider is given option to schedule an integration and the tool will manually invoke the integration at that particular schedule.
What is a WebHook?
Well, as mentioned, a Webhook API needs to be configured on the application itself such that when there is a data capture in the application, the application will trigger the endpoint automatically and the URL which is configured on the application will receive the notification. This is the reverse of an API, where the application itself calls the web rather than the web calling the application for an update.
Here in the figure, the upper part of the image depicts how a normal Web API works. You can clearly identify that the change on the Web can only be made when an external application calls the server to update some data. On the second section, similar to one above, the server gets changed by the external application, but now to update all other subscribers which are configured for real-time APIs, the server itself calls each of them to update the changes made on the server. To ensure that you are able to configure the real-time API as a user, the software application exposes the API as a WebHook which one can subscribe for any endpoint and the change will automatically be notified to that particular endpoint. Therefore, it is very easy to implement WebHook.
How Real-Time Integration Looks like
Unlike traditional approach to an Integration Implementation which occasionally polls the application in batch-style data synchronization technique, in real time approach, the integration just sits back and waits for the source application to proactively send changes. Conceptually the process is :
- The integration server is configured to “listen” for changes from the source application.
- When the source application detects a change, it sends the message to the integration.
- The integration platform receives the message and process it immediately.
- Optionally, depending on the business requirement, the integration platform can also send a response to acknowledge the receipt of the request.
Few use cases of Real-Time Touchpoints as per Business Needs
It would not be complete to make a clear idea about the usage of real-time touchpoint if we don’t know the use case of it as per business.
- As a business user, if you have a huge number of sale going on to a product, you might want your inventory to be updated in real-time, such that you can prevent overselling of the product. In case of normally scheduled integration point, if the inventory is not updated at a regular interval, you might oversell a product because of an integration failure.
- Sometimes, you might face a situation where you want your prices to come directly from another application. Rather than directly mapping two or more application in point to point integration, you might go with a Real-Time touchpoint which dynamically shows the prices according to the user requirements.
- You might also sometimes as a business user want to have your Point of Sale connected in real time with the back office to have quick order processing.
- Any other requirement where you want real-time data transfer, some of them mentioned here.
Let us look how APPSeCONNECT solves the Problem
APPSeCONNECT is a smart iPaaS Solution available in the market. In APPSeCONNECT, a real–time API is handled through Real-time touchpoints. APPSeCONNECT creates a Web host on your own premise to ensure that the real–time API requests could be reached, and upon receipt of such request, it processes it and sends a response. Unlike all other platforms, the APPSeCONNECT real-time touchpoint provides a thorough configuration such that you can tweak and validate spamming on the integration platform. Let us look some of the types of real-time API it supports:
Synchronous Touchpoint API: In case of synchronous real–time touchpoints, the source application sends a request to the integration platform, but APPSeCONNECT holds the context to get the response. Hence, in this case, the touchpoint gets executed, which transforms the message, sends to the destination application(s) and receives a response back, and that is send across to the HTTP pipeline.
As per the above figure, the process of synchronous touchpoint goes like this:
- The end user makes a change.
- Source application detects the change and sends the updated record to the APPSeCONNECT endpoint configured.
- APPSeCONNECT receives the message and performs the transformation to send it to the destination application.
- APPSeCONNECT sends the response back after the result is received from destination application.
- Finally, if there is any further processing, this is also performed by the integration platform.
Asynchronous touchpoint API: On the other hand, asynchronous touchpoint acts as a “Fire and Forget” mechanism. In case of these kind of touchpoint, the application sends a request, but APPSeCONNECT does not wait for the touchpoint to execute. Upon receipt of the request, the acknowledgement (HTTP OK) is sent across to the destination application to confirm the receipt of the message and then the application continues the business flow.
As per the above figure, the asynchronous touchpoint goes like this:
- The end user modifies a record.
- Source application detects the change and sends the message to APPSeCONNECT.
- The integration platform returns back the acknowledgment to the source application.
- APPSeCONNECT then processes the message, does the transformation, and sends the data to the destination application.
Features of APPSeCONNECT Real-Time Touchpoint:
In addition to the basic real-time touchpoint feature as discussed, APPSeCONNECT also provides some of the other interesting features. Here are some of them:
- APPSeCONNECT provides full stack REST (Representational State Transfer) support, which lets you configure a touchpoint with any REST methods.
- As REST is supported, the GET request can also be performed on a touchpoint which gets information from the application rather than sending an update.
- Extra validation of message support – In APPSeCONNECT, you can write your logic(probably using Cryptographic nonce) to validate a message and check whether the message is coming from an intended location. This can immensely decrease the risk of spamming on an application.
- As our integration supports full stack HTTP requests, you can have access to full HTTP Headers, from the request to process a request.
- APPSeCONNECT also respects the Content-type and Accept headers, hence you can send requests using these headers to get formatted responses.
- APPSeCONNECT also provides GZip and Deflate compression support, which is handled through Accept-Encoding headers.\\
Now, you can easily integrate your business applications like ERP, CRM, Ecommerce, Marketplace, Shipping and POS Systems under one single Platform and automate your business process!
In today’s world, pull-based integration is sometimes no good when the business requirement is dynamic. If an application provides real time APIs through Webhooks, your integration platform might need a feature to cater to the business needs. With APPSeCONNECT, we deliver the best-of-breed support towards real-time APIs with a lot of additional benefits to support full stack API development, so that you can ensure security, reliability and adaptability of your business.
If you have any more ideas regarding Data Integration and real-time data transfer using APIs, you can write to us at firstname.lastname@example.org.
You may also like:
40 Challenges to Counter during Integration Implementation
The World Is Moving toward Hybrid Integration: Are You Ready to Embrace the Change?
What Does the Future of Cloud Integration Look Like?