Solved

Use FulfillmentOrders without FulfillmentServices

brickfox
Shopify Partner
2 0 0

Dear Community,

 

as of now it is possible to use the new api-endpoints in api v2023-01 without having to create a FulfillmentService by doing:

  1. GET /admin/api/2023-01//orders/{order_id}/fulfillment_orders.json
    This will return a list with 1 FulfillmentOrder, which is automatically created when the order is created
  2. POST /admin/api/2023-01/fulfillments.json

According to https://shopify.dev/apps/fulfillment/migrate, you should create a FullfillmentService to opt-in to the new FulfillmentOrders-Workflow.

Is this step mandatory?

Or will the worflow above still work after 2023-03-31 if no FulfillmentService was created?

Accepted Solution (1)

Michael_AG
Shopify Staff
47 8 11

This is an accepted solution.

Hi Brickfox,

 

It depends on your app's role in the process. If your app acts as an order management app and does not have its own location to fulfill from, then it's not a fulfillment service (same applies for older api versions). If your app owns a location, stores goods and fulfill them on behalf on merchants, then your app is a fulfillment service and it needs to be informed about the need to fulfill an order, and that's why it needs to have a callback url registered to receive fulfillment requests. Moreover, the fulfillment service-owned location is created in the shop when the app registers itself as a fulfillment service (the same applied in older api versions).

 

The ability to fulfill a fulfillment order depends on app's permissions, fulfillment order's location, and status. If your app is an order management app and there is a fulfillment order created in a merchant-managed location, then according to write_merchant_managed_fulfillment_orders permission (if your app has it), your app can fulfill it on behalf of the merchant. If your app is a fulfillment service generally speaking, it should have write_assigned_fulfillment_orders permission and fulfill assigned fulfillment orders only, in reaction to fulfillment requests received from the merchant or from an order management app also used in the shop.

 

Please follow up if you have more questions.

To learn more visit the Shopify Help Center or the Community Blog.

View solution in original post

Reply 1 (1)

Michael_AG
Shopify Staff
47 8 11

This is an accepted solution.

Hi Brickfox,

 

It depends on your app's role in the process. If your app acts as an order management app and does not have its own location to fulfill from, then it's not a fulfillment service (same applies for older api versions). If your app owns a location, stores goods and fulfill them on behalf on merchants, then your app is a fulfillment service and it needs to be informed about the need to fulfill an order, and that's why it needs to have a callback url registered to receive fulfillment requests. Moreover, the fulfillment service-owned location is created in the shop when the app registers itself as a fulfillment service (the same applied in older api versions).

 

The ability to fulfill a fulfillment order depends on app's permissions, fulfillment order's location, and status. If your app is an order management app and there is a fulfillment order created in a merchant-managed location, then according to write_merchant_managed_fulfillment_orders permission (if your app has it), your app can fulfill it on behalf of the merchant. If your app is a fulfillment service generally speaking, it should have write_assigned_fulfillment_orders permission and fulfill assigned fulfillment orders only, in reaction to fulfillment requests received from the merchant or from an order management app also used in the shop.

 

Please follow up if you have more questions.

To learn more visit the Shopify Help Center or the Community Blog.