The new webhook filtering is great, but it would make our lives so much easier if we were able to retrieve webhooks only if a certain field changes, not based on a fields value.
For example I only want to receive products/update when a variants inventory_quantity changes.
Agreed. The absolute filters that currently exist are useful only in some cases; but one thing they are already missing out on is updating an item it it leaves that segment. E.g. a filter āvariant.price>10ā might seem useful, but I will miss out on knowing when a variant drops out of the segment because itās price drops <10. It basically becomes stale in an invalid state.
Unfortunately that wouldnāt work for me because the inventory webhooks donāt contain the actual quantity in the payload, so Iād then need to make a request to the product variant to get it.
I see, although I believe inventory levels is for locations no? Currently my app is just doing it all on a variant level so would get a bit messy doing this, but nonetheless switching to this would definitely reduce my webhooks!
Oh also I forgot to mention with the new product updates you do get a list of variant ids in the webhooks, with an updated at. Which might help you with some diffing of changes
Thanks for the feedback on filters! The ability to filter a webhook based on field changes makes perfect sense. This is something the team is already aware of and will be considered in the future.
This is pretty much needed. Especially for products/update webhook. My app is being used by 50 stores and I receive more then 300k products/update webhook in a week. I think you donāt have to consider it in the feature, you can handle it more quickly considering you already implemented a harder version of it .
Current webhook filtering solution is limited, difficult to setup, and does not include all types of cases, and all operators.
A better solution - would be to add an additional field to ALL webhooks that simply tells us which fields have CHANGED. I donāt care if the value has gone up or down. I just want to know if its different. I suspect most use cases for this idea would fall into this category. If you tell me what has CHANGED, i can reduce my API usage by 1 million calls per day, no problem.
For example the field could simply be called āchanged_fieldsā: [āimagesā,āhandleā,ātitleā]. Something simple like this would be amazing. Maybe each variant can have its own āchanged_fieldsā and it would be the same idea but targetting āpriceā, āskuā, etcā¦
I receive 300K every few hours. Its crazy. Then they need to each be parsed and processed because i have no idea what has changed and whether its just some useless webhook I should throw away.