Upcoming improvements to Webhooks This post is outdated
Update Jan 12th below:
The de-bounce change is now live for all shops. Please keep leaving your questions and concerns around this new improvement in this thread. Feel free to share some stats as well.
As for other webhook related issues; feel free to keep bringing them up as well, just note that these improvements are solely based on eliminating duplicates and do not alter the contents of any existing webhooks.
Update Jan 4th below:
We are going to be starting a tiered rollout early next week for the webhook improvements.
The changes will be what is described in the original post, with the exception that we will exclude any webhook topics that are /add or /create.
As always we look forward to your feedback before and after this feature has rolled out. Feel free to reply with any questions or concerns.
We are introducing a number of improvements to how Shopify delivers webhooks. Our existing webhooks implementation offers a poor experience for app developers on a number of dimensions:
A spike of requests on Shopify's side causes a spike of webhooks to be sent to apps (e.g., a flash sale). Apps have to design against this.
Our webhook implementation often sends duplicate webhook payloads in a short period of time. For app developers, this translates to increased hardware requirements for processing as well as additional contention for the affected resources.
We are introducing changes to improve the above issues that will have a twofold impact; a net reduction in webhooks received from Shopify, as well as short delay between an action and the webhook being sent in order to ensure that only the most recent state is communicated to your app.
For example: The following actions are performed in quick succession;
A product is created
A title is added to the product
A description is added to the product
A price is added to the product
Previously the behaviour would result in a products/create webhook, and then three subsequent products/update webhooks, not necessarily in the order of changes made.
After introducing these improvements, a products/create webhook would be sent, and then a single products/update webhook with the most up-to-date payload would be sent after a short delay.
If you have questions or concerns about these changes, please comment in the thread below so we can address them prior to launch.
All the best,