Author : Arun Avanathan, Platform Lead, IPP Data Services. Enjoys developing core platform services for IPP. In the past, built highly scalable applications & services for eBay & Nextag.
Webhooks
At Intuit Partner Platform we are currently considering introducing a new feature to
provide support for Webhooks. We’d like your feedback on this topic to help
evaluate the importance of this type of feature.
For
context we provide a brief explanation below discussing the benefits of such a
feature.
Webhook
is an HTTP POST callback request sent to a URL of the your choice in response
to some event occurring. This eliminates the need for you to build polling
functionalities in your application to the server to check whether a particular
event has occurred or not.
How is it going to help you the Application Developer?
Today, the Application Developer writes scripts to
periodically poll Intuit Partner Platform(IPP) API for QuickBooks to know whether
Data changed or not. Even though the data hasn’t changed, the polling script
will still call & the API will return “no data changed” response. This is where Webhooks can remove the need
for developers to add a polling mechanism .

Once a Webhook endpoint is registered by an application, IPP
will notify the app of data changes in the Cloud. The Webhook payload will contain the company
ID, entity name and the time the entity changed. The application can then call IPP API for
QuickBooks to get the details of the changes.
Security - How does the REST endpoint know that caller is IPP?
When the Webhook endpoint is registered for the application,
IPP will generate an auth token – specifically a Webhook auth token – in the
App Center. With every call back, IPP will use this token to make a POST
request over https with Basic Auth. The Webhook endpoint can validate this
token to ensure the requests are coming from IPP.
Sample Webhook call

Webhooks are not limited to solving just polling problem. Under
the hood they are designed to notify any event, qualified for notification.
More events will be identified & added as part of the iterative improvement
process.
Here are some of the potential use cases webhooks can help :
- Data Change events
- Connection initiation
What do you think? Any other events you want to be notified
for? We’d love to hear from you & let us know of any other use cases you
would like to cover in this feature. So,
if it’s important to you, make sure you are heard by commenting on this blog post.