Note: This article applies to custom Shopify integrations built in integrator.io, where Shopify stores have multi-location fulfillment. No changes are required for the Shopify integration app.
In January 2019, Shopify deprecated some of their APIs and required integrations to use the new Inventorylevel API. If you are impacted by these changes, follow the steps below to update your integrations.
How do I know if my flows are impacted?
If your stores have multiple locations and you see the alert shown below, these changes apply. Specifically, your flows must be modified if you fulfill from multiple locations and you are accessing these fields:
- Product/product variants: inventory_quantity and inventory_quantity_adjustment
- Creating fulfillment: location_id
- Creating refund: refund.restock, restock_type = “return” or “cancel”
To keep the impacted Shopify integration flows running after February 4, 2019:
Add this header to your Shopify connections in integrator.io:
- Sign in to integrator.io, and select Connections from the Tools & resources menu.
- Locate your Shopify connection and click Actions > Edit.
- Click Configure HTTP headers.
- In Name, enter bypass_multi_location_support; for Value, enter true.
- Click Save & close, then Save & authorize to save both the header changes and the overall connection changes.
- Repeat for all your Shopify connections.
Review your Shopify flows to see if any of the following applies:
- 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 you have a flow that imports to Shopify setting inventory_quantity or inventory_quantity_adjustment, you must change these fields for Shopify's new Inventorylevel API.
For more details, see:
You must update your flows that involve creating a fulfillment to include sending location_id, since it is now a mandatory property. For more details, see help.shopify.com/en/api/reference/shipping-and-fulfillment/fulfillment#create
You must update your flows that involve creating a refund and that use the property refund.restock to have this property removed since it’s been deprecated. Instead, send restock_type at each item level. Note that location_id will become mandatory when the value of restock_type is return or cancel.
For more information, refer to help.shopify.com/en/api/reference/orders/refund#create.
How can I get assistance?
If you have questions or need help, contact customer support.