Updated Deadline: Aug 1st -- [Deprecation] Important changes to ProductVariant, Refund and Fulfillment APIs

Excursionist
25 0 5

Ryan,

Thank you for the response.

Will inventory_quantity remain as a field within Variants-- just as read-only? Or should I expect to get all inventory information from the Inventory API going forward?

Thanks!

0 Likes
Shopify Staff
Shopify Staff
469 36 92

Yes inventory_quantity will remain on product variant as a read-only property.  It will reflect the sum of inventory available at all locations.

Developer Experience @ Shopify
0 Likes
Tourist
12 0 1

Hi Ryan,

We have finished our move to the new inventory APIs.

We followed the documented upgrade checklist published on the Multi location API page and while the changes worked for most of our customers, these badly failing (HTTP 422) for a few other ones (they are super upset at us right now :) )

We have emailed the details of the failure to Shopify support, ticket ID: 9347019

Would you be able to help us on this please?

Thank you in advance,

0 Likes
Shopify Staff
Shopify Staff
469 36 92

Tahar,

Took a quick look, the inventory item you are trying to update is assigned to a fulfillment service for managing it's inventory.  When an item is set to use a fulfillment service, only that FS can update the inventory.

Developer Experience @ Shopify
0 Likes
Tourist
12 0 1

Hi Ryan,

This is a major breaking change - we have many customers relying on us to update their inventory whome we will no longer be able to support :(

It is said in the documentation that setting inventory for an item managed by a fulfillement service should work fine as long as Shopify is instructed to disconnect if necessary. 

Again, this is major breaking change for us from a finantial perspective as we need to let go of all customers relying on fulfillment services. It is also a major breaking change for our customers as they need to find other ways of managing their inventory before July 1st.

Can you please double check this and get back to us so we can plan accordingly?  

 

0 Likes
Shopify Staff
Shopify Staff
469 36 92

I'm not really sure what actions you are trying to do here, is this a fulfillment service you have created and you are trying to manage the inventory?  Or is this a pre-existing fulfillment service that you do not manage?

EDIT: You are also including both relocate_if_necessary and disconnect_if_necessary in your call, these properties are for different endpoints, depending on what you are trying to do, one of these is incorrect.

Developer Experience @ Shopify
0 Likes
Tourist
12 0 1

We are an inventory management app (we are not a fulfillement service) - most of our customers own two to six stores all using the same inventory. Our app keeps the inventory of all stores in sync at all times. The issue reported above is from one of our customers for whome we are failing to keep his stores in sync as we get 422 errors whenever we try to update the stock levels. 

EDIT: You are also including both relocate_if_necessary and disconnect_if_necessary in your call, these properties are for different endpoints, depending on what you are trying to do, one of these is incorrect.

 

We are trying to set the available inventory at a given location, which flag should we use? 

0 Likes
Shopify Staff
Shopify Staff
469 36 92

See above edit, if you are just setting inventory with POST /admin/inventory_levels/set.json then you shouldn't include relocate_if_necessary as that is only for POST /admin/inventory_levels/connect.json as per the documentation.

Developer Experience @ Shopify
0 Likes
Tourist
12 0 1

See above edit, if you are just setting inventory with POST /admin/inventory_levels/set.json then you shouldn't include relocate_if_necessary as that is only for POST /admin/inventory_levels/connect.json as per the documentation.

We tried this and we are still getting 422 errors. Probably because the stock level at that location can only be changed by the fulfillement service it is tied to? 

 

0 Likes
Shopify Staff
Shopify Staff
469 36 92

You also need to specify the location of the fulfillment service as the location_id.  If you can't get that to work, send a copy of your X-Request-Id header in with the ticket and I'll make sure it's looked at.  

Developer Experience @ Shopify
0 Likes