I wanted to bring up a limitation I’ve encountered with the new productSet mutation that’s affecting our app’s functionality.
Background: Previously with productUpdate, we could modify the inventoryItem field on variants to control inventory tracking settings. This was pretty straightforward and worked well for our use case.
Current Issue: With the migration to productSet, we’ve hit a snag. The mutation doesn’t provide support for the inventoryItem field on variants. This means we now need to:
First use productSet to update the product/variant
Make an additional API call specifically to update the inventoryItem field
This two-step process isn’t ideal as it:
Increases API consumption
Adds complexity to what could be a single operation
Creates potential for race conditions
Impacts performance
Question: Is there a roadmap to include inventoryItem field support in the productSet mutation? This would help streamline our operations and reduce unnecessary API calls.
We added this support productSet just recently, and only for variant creation
These limitation were intentional, while we will continue to evaluate the level of support this mutation offers, we believe the inventory management should be done via the inventory mutations.
While I believe inventoryItem is a much simpler field than inventoryQuantities (since it doesn’t require any external IDs) and using a common variantInput would make things much more intuitive and easier for us devs.
Also, using an inventory mutation won’t be ideal here because that only supports a single update. We will have to use ProductVariantsBulkUpdate just to update a single boolean field for all variants. Not sure, how the support for 2000 variants would work here since the productSet API supports async flag while ProductVariantsBulkUpdate doesn’t.
Replacing a single API with multiple API calls in this case, doesn’t seems like an ideal experience.
But looking at the message, I think it’s safe to assume that it’s not in the roadmap for future. Is that correct?
using an inventory mutation won’t be ideal here because that only supports a single update. We will have to use ProductVariantsBulkUpdate just to update a single boolean field for all variants. Not sure, how the support for 2000 variants would work here since the productSet API supports async flag while ProductVariantsBulkUpdate doesn’t.
100% agree, our Inventory team is aware of this and I will share this feedback as well.
FWIW similar to productSet, do not think ProductVariantsBulkUpdate should be the long term option either for managing inventory. But I understand how it is available, and the most convenient to use ATM
But looking at the message, I think it’s safe to assume that it’s not in the roadmap for future. Is that correct?
I mean, never say never, but yes, ATM we are focusing on getting the current input to perform well with 2K variants.
On that note, for large/complex inputs we recommend implementing with the async option on to avoid time outs
Are there any updates on this topic? I believe that having the option to set inventory tracking would be extremely helpful.
I am currently developing an application that migrates products from various third-party apps into Shopify. It utilizes the ProductSet mutation to create and update products and their inventories. Unfortunately, the newly added inventoryQuantities field does not fulfill my requirements during product creation. While I am able to create products, the quantity is not saved because the product does not track inventory by default. I believe it would be highly beneficial to have the option to set inventory tracking in this context.
Have you found a solution for this? I completely agree, especially in my case, where I’m migrating nearly 5,000 products(and maybe endup with 20k products), each with at least 10 variants. Enabling inventory tracking one by one is a real challenge.
This is ridiculous. What’s the point of productSet if you can’t update some of the critical variant fields, such as inventory tracking, measurement (weight), and HS or country code?
The whole point of productSet is to be able to set all the data in a single API request. Yet the devs only respond to the many complaints I’m seeing with “well we just decided you shouldn’t be able to do that”, as if they know exactly what everyone’s use case is and as if the alternatives work for everyone.
In my case, this is putting me in a huge dilemma with my app. I’m tired of explaining to my users “well we can’t do that because Shopify has limitations we can’t control”.
Sorry for the rant. It’s nothing personal, but these breaking changes in the API with no solution is extremely annoying.