This topic and discussion board has been closed.
To stay updated on announcements related to the API please review this post about the new Developer changelog.
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
Updated the above post to clarify the difference between Public and Private apps.
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
Thanks - curious as to whether there's an ultimate deadline for grandfathered private apps to use locations?
Are there any updates from Shopify on when Multi-Location functionality will work fully/properly in the API? Many of the features provided to customers in the Shopify UI do not work in the API. For example, Fulfillment Priority: https://ecommerce.shopify.com/c/shopify-apis-and-technology/t/shopify-fulfillment-priority-psa-55304...
Thanks for the information. We have an application that still has not been migrated to fully support multiple locations, as such we started using the suggested header (bypass_multi_location_support: true). However, we are receiving the deprecated error message regardless when submitting a variant update.
{
"errors": {
"base": [
"Write requests to inventory_quantity and inventory_quantity_adjustment are no longer supported. Please use the Inventory Levels API."
]
}
}
We have an application that still has not been migrated to fully support multiple locations, as such we started using the suggested header (bypass_multi_location_support: true). However, we are receiving the deprecated error message regardless when submitting a variant update.
Hi JC, can you provide either the app name making this request or the request-id from the header response?
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
Hi Ryan,
We have two scenarios and they are as follows:
Both requests are sent with the provisional header. Thanks for the help!
Hi,
We also tried using said header to bypass multi location support and received error.
{"errors":{"base":["Write requests to inventory_quantity and inventory_quantity_adjustment are no longer supported. Please use the Inventory Levels API."]}}
Response header X-Request-Id we received is "2db5fab7-9dad-4314-8c89-5f1710224567"
Thanks, I'll look into these. Can I ask how you are passing the header as well? With a gem, curl, or some other module/sdk?
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
For the requests below:
These are being done for testing purposes through Postman and the headers are as follows (bypass header in bold):
PUT /admin/products/8771348240.json HTTP/1.1
Host: XXXXXXX [removed]
X-Shopify-Access-Token: XXXXXX [removed]
Content-Type: application/json
bypass_multi_location_support: true
Cache-Control: no-cache
Postman-Token: XXXXXX [removed]
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
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!
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
Photo by Marco Verch Sales channels on Shopify are various platforms where you can sell...
By Ollie May 25, 2023Summary of EventsBeginning in January of 2023, some merchants reported seeing a large amo...
By Trevor May 15, 2023With 2-Factor Authentication being required to use Shopify Payments, we’re here to help yo...
By Imogen Apr 26, 2023