Inventory API Changes

JAS_Technology
Shopify Expert
78 0 46

Ok I'm digging into the inventory API changes that are supposed to kick in on July 1st. I'm seeing some documentation contradiction (terrible band name).

So in the deprecation schedule it says that on July 1st. "Apps will no longer be able to set inventory_quantity or inventory_quantity_adjustment on the product variant."

However higher up on the page it says that the "changed behavior" for the Product API / Product Variant API is "Setting inventory_quantity will adjust a product variant's inventory at its location that has the lowest ID. The inventory at that location will be adjusted so that the sum of inventory across all locations matches the value set by inventory_quantity. Use the Inventory Level endpoint instead."

So if we are dealing with a shop that will only have a single location no code change is necessary right??? right???

Thoughts?

Happy to hear about your crazy ideas.
Replies 15 (15)
Ryan
Shopify Staff
492 42 114

Hi Jonathan,

You have to include a location ID even if the shop only has a single location.  The changed behaviour on Product and Product Variant went into place when that document was pubished in late 2017, and will only continue to take place in a grace period for grandfathered apps after the release of multiple locations.  This is in order to mitigate the affect on merchant's inventory if the apps do not migrate in time.  I will update the migration guide to be more clear about this.

Ryan

Ryan | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

JAS_Technology
Shopify Expert
78 0 46

Ok thanks. Is this grace period July 1? Please let me know as this type of breaking change is really tough. 

Happy to hear about your crazy ideas.
Ryan
Shopify Staff
492 42 114

The grace period would extend after we have released multi location to merchants.  This is in order for apps to not adversely affect inventory numbers for merchants who toggle this feature on, and have installed apps that are not migrated.  No dates have been confirmed for this.

 

Ryan

Ryan | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

Jamie13
Tourist
9 0 1

On this page:

https://help.shopify.com/api/reference/shipping_and_fulfillment/fulfillment#create

The unique identifier of the location that the fulfillment should be processed for. In order to find the ID of the location, use the Location API.

The link 404s.

I need to obtain a location_id to feed in to my API call for fulfillments (I don't actually need to use locations or anything complicated at the moment). Is the only way to do this through the API and to create a location? And/or do I need to create a new fulfilment company too? I'm pretty confused how to keep our basic API call functioning now.

Ryan
Shopify Staff
492 42 114

That link is being updated, you can still access the page through the search or side bar of the Admin API reference; https://help.shopify.com/api/reference/inventory/location.

You can simply perform a GET on /admin/locations.json in order to receive the location_id and then include that in your fulfillments to meet the minimum requirement.

Ryan | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

Jamie13
Tourist
9 0 1

OK thanks. So it doesn't need to be a fulfillment location - any location will do.

Jamie13
Tourist
9 0 1

From the 22nd August, all of our fulfillment API calls are now returning the error message:

must be stocked at the same location

I am passing the ID of the location that was automatically created when I used the API to create a "fulfillment company" to satisfy the new requirements.

What does this mean/why has this broken?

Ryan
Shopify Staff
492 42 114

Fulfillment to location is 1:1. If you have items at multiple locations on an order, you need to make multiple fulfillments.

This error is saying not all items you are trying to fulfill are stocked at the same location, in this case the fulfillment service you created.

Ryan | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

Jamie13
Tourist
9 0 1

An example order that has this error contains only one item? Where is the item location set?