We need to sync all products and variants data in our database.
I see that moving forward, the product webhook will only contain data for the first 200 variants, and we will have to issue one or more queries to get the data for the remaining variants.
That sounds very inefficient, especially considering that only a single variant might have changed.
To make things more efficient, please introduce a new set of webhook topics for variants specifically, so that we can know when a specific variant was changed. variants/
Fully understand how this new webhook would be useful, especially in the context of how the payloads for the product webhook will be handled differently when a product has over 200 variants. I’ve gotten in touch with the product team with this request - will update asap.
Dropping this note in here since it seems you’re in communication with actual developers on the matter.
Please note that historically for any platform webhooks are nice for making certain updates faster but nothing replaces the need to be able to fetch the entire catalog in real times of less than 20 minutes regardless of size. Take this into consideration. If you have to take a step back into the stone ages and get us a CSV export API so-be-it.
All it takes is one missed webhook and you need the ability to fully refetch.
Shopify has historically permitted massive amounts of data to be extracted via the REST API so that certain difficulties can be corrected promptly and recurringly in a short amount of time that doesn’t eat up an entire day of waiting for 2+ hour product syncs to finish to see if the issue is resolved.
Your Shopify sellers will be the ones complaining not us.
The ids of all variants are included in the webhooks, so we are supposed to fetch the data for the other (up to) 1900 variants via GraphQL (can be done in 4 requests, 250 per request) and then send the data for all 2000 variants to our db / system / whatever, since we don’t know which variant was updated. It’s not very effective, and that’s why a variant-webhook would make a lot of sense.