Is a Fulfillment Order created automatically for products that do not need to be shipped?

I am developing a script to automatically change the status on a specific service in an order to be fulfilled on Shopify. However, with the new FulfillmentOrders API, in step 1 in the documentation here, https://shopify.dev/docs/apps/fulfillment/order-management-apps/manage-fulfillments#step-1-retrieve-an-order I am receiving an empty array:

{"fulfillment_orders":[]}

This product is digital, and does not require shipping. I’m wondering if that could possibly be the issue for it not showing up in fulfillment_orders.How can we mark this product as fulfilled by the new FulfillmentOrders API?

1 Like

Are you making this call immediately after creating the order via the API? Or does the order remain in this state forever?

There is a slight delay between order creation and fulfillment order creation. But if they’re never showing up, we’ll need a specific example to look at.

Can confirm with OP, no fulfillment order is created for orders with product that does not require shipping.

1 Like

@a_zelinsky @eugene_lu can one of you please send me a private message with a specific order that demonstrates this behaviour?

What access scopes does your app have? What location does admin show your digital product fulfillment is assigned to? I suspect it is a merchant managed location, not the fulfillment service location. If your app only has “assigned_fulfillment_order” scope, you don’t have access to the fulfillment order and it is filtered out.

https://shopify.dev/docs/apps/fulfillment/migrate#step-1-determine-the-permissions-your-app-requires

Yes it seems our app had insufficient access scopes. We are able to see the fulfillment orders for non required shipping products now, thank you.