Breaking changes to product fulfillment

Release Date

September 1, 2020

Breaking Changes

We are in the process of cleaning up how product fulfillment statuses are handled in the API.

Previously, stocked_inhouse and automatic_dropshipping were set with the /product/<sku>/warehouse/<warehouse_id>/ enpdoint. However, fulfillments were never handled at the warehouse level and this caused some confusion. To add to this, if the particular product didn’t have a default supplier set then the product could not actually be updated to dropship or autodropship.

Going forward, we have created a new endpoint: PUT /product/<sku>/fulfillment/
In the body of this request you’ll provide fulfillment_type and default_supplier_id (optional).

The fulfillment_type param can be one of the following:
in_house
dropshippable
automatically_dropshipped

The default_supplier_id param can be the id of any supplier you wish to set as the default for that product. This element is optional if the product already has a default supplier. Also, any attempt to set fulfillment_type will fail if there is no default supplier and default_supplier_id is not included.

The new endpoint is only available if the account has the temp_new_product_fulfillment flag set. You can check flags by hitting the GET /company/flags/ endpoint. If temp_new_product_fulfillment is not returned or is false then you’ll want to continue using the /product/<sku>/warehouse/<warehouse_id>/ endpoint. Once the flag is set you cannot pass stocked_inhouse or automatic_dropshipping to the warehouse endpoint.