Fulfillment creation status

We’re migrating from API 2021 version to 2022-10 and some endpoints were changed such as Fulfillment that now we need to use FulfillmentOrder inside orders to handle the fulfillment, but we are finding that are being fulfilled when the order is created.

Before, in previous version, we could set a status to leave it in progress or open the order fulfillment. (Actually, we could create order fulfillments before through an endpoint, now it looks like Shopify handle the creation of the fulfillment by itself). There is no endpoint that allows us to create an order fulfillment as per and set the open status by default as per https://shopify.dev/api/admin-rest/2023-01/resources/fulfillmentorder.

  1. How can we create FulfillmentOrder with “open” status?

Examples of how different fulfillments looks like depending on the version we are using:

Using 2022-04 API endpoints:

"fulfillments":[{..., status: "open", line_items: [{...fulfillment_status: null,... }],...}]

Using 2022-07 (or above) API endpoints:

"fulfillments":[{..., status: "success", line_items: [{...fulfillment_status: fulfilled,... }],...}]
  1. How can we move some elements within an unique FulfillmentOrder to another location?
    We have some custom implementations using old versions (2022-04) that are critical in which we need to move certain products to specific locations, and leave the fulfillment open so other process can close it.
1 Like

Hi Jjc20,

  1. How can we create FulfillmentOrder with “open” status?

Shopify creates fulfillment orders automatically when an order is created, right in “open” statuses. In your snippets, you show fulfillments, which is another entity. If you find these two entities confusing, Fulfillment Order states “what is required to do to make fulfillment happen,” and Fulfillment states “the result of what has been done”. If you fulfill orders yourself, you create fulfillments for underlying fulfillment orders. If you use a fulfillment service, you send them a fulfillment request for a fulfillment order, and they create fulfillments for it.

If you see orders automatically fulfilled, might be that the automatic fulfillment is enabled in the shop settings?

In the old API, an open fulfillment indicated a fulfillment that was requested from a fulfillment service, but has not yet been fulfilled. This state has been replaced with the fulfillment request API. You cannot create open fulfillments in the new API. Is this what you are doing or are you trying to indicate another state by placing a fulfillment in open state?

We have gotten lots of feedback about the move API and will be adding a line item list to it. It is already available on the unstable GraphQL API.

Is there any launch date for an stable version of this API? Because this unstable version solves the problem but it has some issue like:

  • We are seeing that the API response shows the changes we are doing while in the admin dashboard is not showing them.
  • Also we saw that the first movement of a product, even setting a quantity, always sets quantity 0 (zero). After the first movement, for any other movement the quantity is set correctly.

Hi @jjc20

The updated API is planned for the 2023-04 version, it should be in the release candidate soon. The problem in your second bullet should be fixed. Can you try it again?