Deadline Reminder: Important changes to ProductVariant, Refund and Fulfillment APIs

Ryan
Shopify Staff
492 42 113

Welcome back from the holidays!

PUBLIC APPS

We wanted to remind you that as of January 7th, 2019 your Public apps will no longer have access to the deprecated APIs and will no longer be able to perform the below behavior by default:

  • Set inventory_quantity or inventory_quantity_adjustment on the product variant.

  • Create fulfillments without specifying a location_id.

  • Refund and restock without specifying a location_id.

  • Use the Inventory API without required read/write_inventory permissions.

 

If your Public app is not updated by the deadline

  • Any API calls performing the deprecated actions above will fail. This may lead to merchant uninstalls, support requests and bad reviews.

  • Merchant’s with locations will continue to be blocked from installing your application.

 

If you need more time

We are implementing a 30 day grace period where we will allow you to use the deprecated APIs if you pass a special header in your API requests.  If your app is performing any of the above actions and you wish the behavior to continue during this grace period you need to include the bypass-multi-location-support: true header in all of your API requests.  

This solution will only work for your app until February 4th 2019, and is meant to provide more time to complete the migration, not as a permanent alternative.

 

To learn how to update your app to use new APIs that support stores with multiple locations, see our Migration Guide.

If you’re having issues migrating your apps to support multiple locations, please create an issue in your partner dashboard support section.

 

PRIVATE APPS

Existing Private apps will not be affected by the above change.  Having a private app that is not upgraded to support locations does not restrict you from enabling the locations feature, and will not disable the usage of the deprecated API calls.  If you enable the locations feature however, your app will no longer be able to make deprecated calls.

New Private apps cannot use the deprecated APIs still.

 

Regards,

Shopify Apps Team

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

Replies 12 (12)
Ryan
Shopify Staff
492 42 113

Just wanted to post an update, we had this live for a little bit Monday/Tuesday but rolled it back temporarily to fix some issues with the header.  We will be implementing it again this week, please note that we have changed the header format to bypass-multi-location-support: true

Please note that we have removed the underscore (_) and changed it to a dash (-).  It came to our attention that some technologies don't play as well with headers that contain underscores.

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

Paul_Cannon
Shopify Expert
3 0 2

Ryan,

To clarify, do you plan to deprecate the current Inventory update method (without locations) for existing Private Apps?

What would happen in situations where an installed Public App blocks the ability to turn on Inventory by Location?

Thank you!

Ryan
Shopify Staff
492 42 113

To clarify, do you plan to deprecate the current Inventory update method (without locations) for existing Private Apps?

The old way of using inventory is considered deprecated across the board.  There isn't currently a date where we will block the old behaviour on Private apps, but we do consider it legacy and therefore will likely be a date in the future.

What would happen in situations where an installed Public App blocks the ability to turn on Inventory by Location?

This is already live.  But I think you mean after the deadline? After the deadline we would be blocking those API calls from the Public apps therefore they are no longer blocking and it would be lifted.

 

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