Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

Re: Frequently Asked Questions

Frequently Asked Questions

Shopify
Community Manager
203 5 269

In the 2022-04 release, we deprecate a number of legacy Fulfillment API endpoints that interact with fulfillments at the order level. The Fulfillment Order API was introduced in the 2020-01 API version to replace these legacy endpoints. To help you in your migration, we’ve put together answers to questions you may have about how to use Fulfillment Orders, how it differs from Fulfillments and why it creates a better fulfillment and order management experience for merchants.

 

Why is Shopify deprecating some endpoints on the Fulfillment API?
While using Fulfillment and Order resources to fulfill orders was once considered standard, this legacy behavior is no longer compatible with modern workflows. This holds apps back from a better, more accurate, way to fulfill and manage orders and makes it difficult for merchants to have visibility and control over their inventory and fulfillment. Fulfillment Orders API helps apps model the entire fulfillment process more accurately into its sub-pieces and unlocks access to new features like local delivery & pickup, fulfillment holds, subscriptions and more. The Fulfillment API will still exist and will still be used for some actions.

 

Does Fulfillment Orders do more than the Fulfillments APIs does today?

Yes! Using Fulfillment Orders allows your app to do more than using the Fulfillment API alone does today! In fact, the Fulfillment Orders API models the end-to-end fulfillment process into its sub-pieces, so fulfillment data can sync more accurately between Shopify and an order management app or a 3PL. The Fulfillment Order API tracks the lifecycle of fulfillment work, including open, in-progress, closed, canceled or incomplete, so merchants have a more granular and complete view of their order data in Shopify. It also represents the exact items that need to be fulfilled in a location for a given order, improving the accuracy of order fulfillment.

What fields and endpoints are being deprecated with this release?

You will still be able to see the fulfillment relationship at the order level, however apps will not be able to fulfill orders unless using Fulfillment Orders. To provide more detail, here are the endpoints/mutations that are going away.

 

REST

GraphQL

 

When should apps start using Fulfillment Orders?

Some of the Fulfillment API endpoints are being deprecated in the Shopify 2022-04 release. Apps will have until the 2023-06-30 date to start using Fulfillment Orders. The original 2023-03-31 deadline of 2022-04 API version was postponed to 2023-06-30with this public notice. Please follow the migration guide or visit our community forums to ask questions. 

 

How do I move to Fulfillment Orders?

To help you seamlessly migrate, we’ve crafted a migration guide that walks you through the process of moving to Fulfillment Orders. If you’re wondering what it might look like once updated, take a look at our sample application detailing how fulfillment and order management is done before and after Fulfillment Orders. 

 

How will current installs be impacted by moving to Fulfillment Orders?

If merchants using your app have already granted read_fulfillments or write_fulfillments, rest easy, as they will not have to agree to new permissions. Instead, you can request granular access scopes for an individual shop installation. Refer to our migration guide for more details.

 

How can Fulfillment Orders help to fulfill orders with sales channels?

If a merchant is selling a product on a third party marketplace or sales channel, your app will get the most up to date information on the status of the order and help you to accurately fulfill orders at the right time. Previously, legacy fulfillment services would automatically create pending fulfillments for the fulfillment service when fulfillment is requested. As merchants expand their business to capture orders on various sales channels, this has created issues in cases where orders should not be fulfilled immediately and instead placed on a temporary hold until payment is captured. With Fulfillment Orders, apps no longer need to rely on webhooks to update fulfillment fields. Instead, Shopify will create successful fulfillments in place of pending fulfillments for the fulfillment service when a fulfilled order is imported.

 

How can Fulfillment Orders help to manage inventory across multiple locations?

Fulfillment orders are always an accurate representation of where an item should be fulfilled from. Shopify now allows variants to be stocked at third-party locations and merchant managed locations at the same time, yet the fulfillment_service on variants is no longer an accurate representation of the service that is exclusively responsible for fulfillment. Your app must use the “assigned location ID” on any open fulfillment orders to understand definitively who is responsible for fulfilling any given order. 

 

Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 

- To learn more visit the Shopify Help Center or the Shopify Blog

Replies 42 (42)

ClementBR
Shopify Partner
161 2 49

@Shopify  will there be a new webhook topic to get the fulfillment orders data?

RobZone
Shopify Staff
77 11 22

Yes, there are new fulfillment order webhooks coming.  You can find a list here: https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments#webhooks

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

ClementBR
Shopify Partner
161 2 49

Woohoo anyone here?

JansenOUW
Tourist
4 0 7

@Shopifythe migration docs are very incomplete (please add something about tracking - right now, it is misleading and makes us think we can't use the tracking endpoints - particularly when paired with the deprecation message in the fulfillment api resource documentation) and the example repository is using tons of deprecated APIs.

 

Please check out the thread in Discord about this - lots of folks are concerned and confused.

E-Commerce Ambassador and Front-end Developer @ Oneupweb, a full-service digital marketing agency in Traverse City, MI.
Dieter-247APPS
Shopify Partner
104 24 71

Same here. The documentation and the migration guide are both not clear about how to actually fulfill orders using the FulfillmentOrders API. We still have to use the Fulfillment API to create a fulfillment.

Shopify App Entwickler - Shopify Experts - Shopify Partners

https://247apps.dev
RobZone
Shopify Staff
77 11 22

That is correct, you still use the fulfillment API to create a fulfillment.  The fulfillment order indicates the items to be fulfilled from a location.  The fulfillment represents the actual physical shipment with a tracking number.

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

RobZone
Shopify Staff
77 11 22
develop
Shopify Partner
11 0 8

Hi @RobZone , We are moving our API to the new endpoints but we have not find a way to fulfill two items from same order from diferent locations, that was very easy in old endpoint as you could send location_id on fulfillment request, but now the entire FulfillmentOrder has only one location attached, you cannot send location_id on Fulfillment request and there is no REST or GraphQL Endpoint to create a new FulfillmentOrder for an existing order. Please help us to complete the migration before deadline.

RobZone
Shopify Staff
77 11 22

Normally such an order would have multiple fulfillment orders.  A fulfillment order is created for each location with the item in stock.  This situation should not be common unless inventory is not in sync with Shopify.  It is a valid use case and we are looking into it.  In the meantime, you can create a fulfillment for the items in the first location, then move the fulfillment order to the second location to create a second fulfillment.  

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

develop
Shopify Partner
11 0 8

I create an order with an item in several locations and only one FulfillmentOrder gets created. About your solution is possible to move a FulfillmentOrder that has Fulfillments already created?

RobZone
Shopify Staff
77 11 22

@develop Yes, you can move a fulfillment order after you have created a fulfillment.  I think we should work through your specific use case via a support request instead of this community topic. 

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

develop
Shopify Partner
11 0 8

@RobZone thanks for your clarification I could solve the use case and now I think we´re ready to implement in code, but just checked the flow using CURL and I solved our issue with how to generate two tracking codes from two different locations for one order, in case anyone is looking for something similar the key is to call move.json endpoint and it returns you a new FufillmentOrder on field moved_fulfillment_order.

 

Thanks a lot!

 

lacouser
Shopify Partner
2 0 0

Hello Shopify

I have a private app installed and using basic Authentication on postman I can get the fullfillment orders

https://lacodemo.myshopify.com/admin/api/2023-04/orders/4903607894204/fulfillment_orders.json with the request status "Unsubmitted". How do I change it to submitted?

 

Result:

{
    "fulfillment_orders": [
        {
            "id"5897848750268,
            "shop_id"2359328815,
            "order_id"4903607894204,
            "assigned_location_id"6863061039,
            "request_status""unsubmitted",
            "status""open",
            "supported_actions": [
                "create_fulfillment",
                "hold"
            ],
            "destination": {
                "id"5569924104380,
 
 
If I try to create fullfillment I get an html response.
{
  "fulfillment":{
       "line_items_by_fulfillment_order":[
               {
                    "fulfillment_order_id"5897848750268
                }],
    "tracking_info":{
      "number":"1Z908080000234",
      "url":"www.usps.com",
      "company":"Fake Company"
      },
      "notify_customer":false,
      "origin_address":null,
      "message":"test message"
    }
}
 
What am I doing wrong??
 
Any help is appreciated.
Thanks
Abby
 

fwallace
Shopify Partner
45 1 4

Question, I have a legacy  PRIVATE  app, using shopify_api gem version 9.51. Can I stay on that version and use the new FulfillmentOrder endpoint, or do I need to move to the new(er) versions of the Gem ?

 

If I have to move to anything past 9.51 a lot of the legacy code will break, and have to be rewritten. So it is important to know if I must go to the later versions. [Example, the configuration to set the Shopify connection changes significantly, as does pagination, resources are no longer ActiveSupport wrapped but just Httparty JSON resources, etc.].

 

Any guidance on the required gem version will be very helpful. 

RobZone
Shopify Staff
77 11 22

I took a quick look at the 9.5.1 code.  It does support fulfillment orders, but it was built for API version 2020-01, which was out of date two years ago.  It might work, but it is unsupported. 

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

API_Chat
Tourist
6 0 2

Hi @RobZone 

 

To be clear

 

This endpoint is being retired  

 

/orders/{order_id}/fulfillments.json

 

we need to configure the new POST endpoint below, but the description says "fulfilment order as incomplete", should is say "fulfilment order as complete" or is fulfilment order complete a different end point?

 

POST /admin/api/2023-01/fulfillment_orders/{fulfillment_order_id}/close.json
Description- Marks a fulfillment order as incomplete

RobZone
Shopify Staff
77 11 22

The text is correct, if a fulfillment service cannot satisfy the request even though they accepted it, they call this endpoint to indicate that the order will not be fulfilled. 

 

Marks an in progress fulfillment order as incomplete, indicating the fulfillment service is unable to ship any remaining items and intends to close the fulfillment order.
 
If the fulfillment has been satisfied, the fulfillment service should create a fulfillment and indicate the tracking number if applicable.

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

API_Chat
Tourist
6 0 2

Thank you @RobZone 

 

So which one of these POST API end points do we use to fulfill a satisfied order in the new 

FulfillmentOrder API's below?

 

API_Chat_0-1675439020339.png

API_Chat_1-1675439045565.png

 

RobZone
Shopify Staff
77 11 22

None of them.  You use use this endpoint to create a fulfillment for a fulfillment order: https://shopify.dev/api/admin-rest/2023-01/resources/fulfillment#post-fulfillments

 

RobZone_0-1675440574239.png

 

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

fwallace
Shopify Partner
45 1 4

Thank you very much, this helps quite a bit in evaluating what I have to do.

merejsoft
Tourist
7 0 1

It says in this article it supports all and more than the deprecated API. Can you show the JSON Body needed with 2023-01/fulfillments.json to populate tracking_numbers and tracking_urls with more than one number and more than one url? Our customers order one line item that ships in multiple boxes. The deprecated API supported multiple tracking numbers per line item.

RobZone
Shopify Staff
77 11 22
Bseido
Shopify Partner
11 1 3

Hi @RobZone ,

Like Fwallace, I have a lot of code that will break if I have to use the newer gem versions
Right now I am using a 9 version gem, and I am fulfilling my orders this way:
-Getting the order via the REST API (ShopifyAPI::Order.find(...))
-looping through the order to get all the fulfillment_order_id into an array

 

o.fulfillment_orders.each do |fo|
      fulfillment_order_ids << {:fulfillment_order_id => fo.id}
end

 


-And fulfilling with the following line : 

 

ShopifyAPI::Fulfillment.new(:notify_customer => notify_customer, :tracking_info => tracking_info, :line_items_by_fulfillment_order => fulfillment_order_ids, :location_id => location_id)

 

Will this method still work after March 31st ?

RobZone
Shopify Staff
77 11 22

Yes, this API has not changed in the deprecation.  If the gem works now, this code will still work in April.

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

Bseido
Shopify Partner
11 1 3

Thanks a lot !

Ashley_Kennerle
Shopify Partner
61 0 8

I had an email on 2nd Feb saying that my custom app uses Fulfillments API but I'm using fulfillmentCreateV2 with API version 2023-01. That's the new version isn't it? Is there any way of checking to pinpoint why I'm getting this warning? The shop name is official-car-mats

RobZone
Shopify Staff
77 11 22

@Ashley_Kennerle the orders query made by your private app is accessing the line_item field on fulfillment order.  This was deprecated in API version 2023-01, so there is no immediate need to update.  If you are having trouble adapting your app, please start a new thread in this community and we will try to help.  

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

Ashley_Kennerle
Shopify Partner
61 0 8

Hi RobZone, I started a new thread but haven't had any replies, would you be able to have a look please?

 

https://community.shopify.com/c/fulfillment-api-deprecation/how-to-stop-my-code-accessing-fulfillmen...

API_Chat
Tourist
6 0 2

Any Idea how if Shopify have a test environment to test the new end point?

munawwarfiroz
Shopify Partner
1 0 0

Question @Shopify: Is fulfillment/create and fulfillment/update webhooks being deprecated (now or near future)?

RobZone
Shopify Staff
77 11 22

@munawwarfiroz No, fulfillments are still created and can be updated in the API.  We are only removing the order-based fulfillment creation endpoint and fulfillments in PENDING state.

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

DevFuns1
Shopify Partner
7 0 0

@Shopify  @RobZone We are moving our API to the new endpoints, however. Some endpoints are going away which makes the previous endpoints below difficult to get well replaced.
POST /admin/api/2021-01/orders/{order_id}/fulfillments.json
PUT /admin/api/2021-01/orders/{order_id}/fulfillments/{fulfillment_id}.json
POST /admin/api/2021-01/orders/{order_id}/fulfillments/{fulfillment_id}/complete.json
POST /admin/api/2021-01/orders/{order_id}/fulfillments/{fulfillment_id}/open.json
POST /admin/api/2021-01/orders/{order_id}/fulfillments/{fulfillment_id}/cancel.json
 
Really appreciated if you point out the corresponding new endpoints for each one of the five. Thank you!

alexc_shopify
Shopify Staff (Retired)
7 2 2

@DevFuns1 

Please take a look at https://shopify.dev/docs/api/admin-rest/2022-07/resources/fulfillment

You will see that some Fulfillment API end points have been removed after the 2022-04 API Version, but not all. E.g. Cancel and Create still exist.

The other end points have moved to https://shopify.dev/docs/api/admin-rest/2022-07/resources/fulfillmentorder as you should now be completing, cancelling, closing, holding, opening fulfillment_orders.

It is worth noting that the simplest workflow with Fulfillment orders is:
- Shopify will auto create fulfillment orders for all orders.

- You then get fulfillment_orders for each order. (e.g. 

/admin/api/2022-07/assigned_fulfillment_orders.json?assignment_status=cancellation_requested&location_ids[]=<location_id>)

- call fulfillment for each fulfillment order to fufill those fulfillment orders (e.g. 

/admin/api/2022-07/fulfillments.json). You can fulfill all or part of each fulfillment_order with each fulfillment.

The above requires write_third_party_fulfillment_orders access scope which may not be ideal though.


If the store enables auto fulfill, then the fulfillment_requests will be sent automatically to the fulfillment_service, and the fulfillment_request will need to be accepted.  That is the next shortest workflow.


More details as an order management system
https://shopify.dev/docs/apps/fulfillment/order-management-apps/manage-fulfillments

More details as a fulfillment service
https://shopify.dev/docs/apps/fulfillment/fulfillment-service-apps/manage-fulfillments 

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

Dawid_Umain
Shopify Partner
12 0 0

@rob @alexc_shopify 

Hello!

I am a developer at a large Sport Brand using Shopify as their platform, selling globally with Shopify Plus. I am trying to figure out how to migrate to the new API, but in spite of reading all the guides and documentation, I'm a still a bit unclear. Messages in this thread though shed some light into the mist of my confusion though, so I'm grateful for that.

 

Would you mind if I just briefly summarize my use case, and then you can tell me the high level way I should think about migrating over?

 

Here is our set up (created by another dev and then handed over to me), which we have used for a long time:

 

  • 1: Order is made in Shopify

 

  • 2: A webhook is picked up by an Integromat/Make backend process. The event is called "Order creation".

 

  • 3: As part of this backend process, we are making calls to these endpoints:

 

Screenshot 2023-03-21 at 07.33.33.png

Screenshot 2023-03-21 at 07.33.43.png

Screenshot 2023-03-21 at 07.33.51.png

Screenshot 2023-03-21 at 07.34.00.png

Screenshot 2023-03-21 at 07.34.09.png

 

A lot is happening in here, but the point of the backend process is to get the order, perform some checks and transformations, and ultimately -> create an XML file which we are handing to our ERP system Microsoft Dynamics AX.

  • 4: After the order is received in AX, staff in the warehouse get the products and send them away with a postal service, receiving a tracking number. Now it is time to fulfil the order, again programmatically via Integromat/Make. So AX is sending a file to another Tracking process.

 

  • 5: In Integromat/Make we are now parsing the XML, and are then ready to fulfil the order. In the tracking backend process, we are currently using this endpoint to achieve this:

 

Screenshot 2023-03-21 at 07.47.09.png

 

 We are also calling this endpoint in this backend process:

Screenshot 2023-03-21 at 07.46.47.png

 

  • 6: Then the order is fulfilled in Shopify and everything is great. Or at least it was, until this breaking API change.

 

So, my question is if anyone could be kind enough to explain what (in a very high level way, just step-by-step in the abstract) what I need to change and what I don't need to change?

 

Some confusions I have are, for example:

 

  • Currently we have operations in EU, NA, and APAC regions. Here is an example from EU, where we have a single warehouse, from where we are fulfilling all our order:

 

Screenshot 2023-03-21 at 07.52.54.png

 

Will I need to kind of... create a new "FulfillmentService" instead of using this warehouse like we always have?

 

  • Do I need to manually create a "FulfillmentOrder" now?
  • Also, in these API calls, is it mostly safe to update from the old dates "2020-07" to the new ones, or will I have to be afraid of breaking something if I do?

 

So, soon the new month is here which means the way we have done things now for many years will probably break if I am not actively fixing this. This is obviously causing some stress, so if there is any help at all that I could get from this from the Shopify API team or someone with some knowledge on this, would be greatly appreciated.

 

Thank you so much! 😃🙏

alexc_shopify
Shopify Staff (Retired)
7 2 2

Hi @Dawid_Umain 

I should first mention that the removal of some of the 2022-04 Fulfillment API end points has now moved to the end of June 2023.  You can also request an additional grace period for your app IDs of 60 days taking the date you need to be compliant to August 30th.  Let us know if you wish to do this.

For your questions about how to update your current process:

  1. When orders are created in Shopify, Fulfillment Orders are created automatically.

  2. As an API user you can get these fulfillment orders if they are associated with a fulfillment service location if your API Client ID has the write_assigned_fulfillment_orders access scope.
    https://shopify.dev/docs/api/admin-rest/2023-01/resources/assignedfulfillmentorder#get-assigned-fulf...
    Please note that this requires that you create a fulfillment service which also creates an associated location for orders to be fulfilled from.
    https://shopify.dev/docs/api/admin-rest/2023-01/resources/fulfillmentservice 
    Please note that if the shop has autofulfill on, fulfillment requests will automatically be sent to your fulfillment service call back url.  You should respond to these to accept or reject the fulfillment request.
    Accept
    https://shopify.dev/docs/api/admin-rest/2023-01/resources/fulfillmentrequest#post-fulfillment-orders... 
    Reject
    https://shopify.dev/docs/api/admin-rest/2023-01/resources/fulfillmentrequest#post-fulfillment-orders... 
    Please note that if the shop has autofulfill off the merchant will need to manually request fulfillment on the order index page in the admin interface.
    Please note that fulfillment requests callbacks are sent at a max rate of 1 per minute, and all they tell you is that there are fulfillment orders to process. You should periodically check for fulfillment orders to process in case any are missed within the 1 minute.

  3. As an API user you get also get fulfillment orders that are associated with merchant managed locations if your API Client ID has write_merchant_manged_fulfillment_orders
    https://shopify.dev/docs/api/admin-rest/2023-01/resources/fulfillmentorder#get-orders-order-id-fulfi... 

  4. Once you have the list of fulfillment orders you can fulfill, you then create a fulifllment for either the whole fulfillment order, or only some line items of the fulfillment order. You can create multiple fulfillments to fulfill all line items or one that fulfills all line items.
    https://shopify.dev/docs/api/admin-rest/2023-01/resources/fulfillment#post-fulfillments 

  5. You can update tracking info as part of the create fulfillment above, or do it separately.
    https://shopify.dev/docs/api/admin-rest/2023-01/resources/fulfillment#post-fulfillments-fulfillment-... 

  6. There are other features the new APIs enable such as moving fulfillment orders, or some line items on fulfillment orders to other locations. You can also put fulfillment orders on hold so they aren't fulfilled for a period of time.

    Let me know if this helps or if you have any further questions.

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

Dawid_Umain
Shopify Partner
12 0 0

Hello, @alexc_shopify! Thank you so much for your response. I will check out all the resources you shared.

 

Your response is still very general. Would it be possible to be more specific for my specific use case that I outlined in my 6 points? (I'm sure there are other people out there who have similar use cases, too.)


For example: 

 

  • I've started to play around with the API. For example, when I query an order, I get "manual" as the FullfillmentService for every line item. What is "manual", what does it represent? Can I continue to use it?

Screenshot 2023-03-21 at 14.47.28.png

 

  • Here is an example of how the payload looks today when we are fulfilling. Does it need to change at all?

Screenshot 2023-03-21 at 14.37.18.png

 

  • As mentioned in point 2 in my previous post, we are using the "Order created" webhook. Can I still use that?
  • When I create a test order, one fulfillment order is automatically created. (I can see it in Postman.) Am I correct to think that if I simply fulfil this fulfilment order, I am accomplishing roughly the same thing as we have always done in our Integromat/Make backend scenario? Like, do I have the right conceptual model here, or am I thinking about it in a wrong way?
  • Anything else you can think of that we need to change, that is related to any of the 6 points mentioned in my previous point?

Any help would be greatly appreciated. 

 

(That said, I will now read through everything you wrote. Thank you so much! 🙏)

RB
Visitor
1 0 0

Our developers rolled out our switch to the Fulfillment Orders API on March 16. We received an email on March 29 warning us that we were still using the deprecated Fulfillment API. Is there any way to tell if that email is accurate (and we missed something) or if it based on usage earlier in the month (and we can ignore it)?

RobZone
Shopify Staff
77 11 22

@RB The email was likely triggered by earlier usage.  With the REST API, you can also check for X-Shopify-API-Deprecated-Reason headers in the responses.

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

TPDEng
Shopify Partner
9 0 0

Cross post from Admin REST API

We have an Order Management App that stores use to pull in open orders and create fulfillments of these orders.  
We see line items on orders, creating separate Fulfillment Orders that are not physical objects or digital assets but just extra charges - "Route Protection" in this case. And we've seen the same with Gift Cards. Stores are unsure what to do with these separate Fulfillment Orders when they think of this as one Fulfillment since they aren't shipping from multiple locations.


The supported actions on the Fulfillment Order for this example item is [ "create_fulfillment", "hold" ]

I want to help stores resolve these Fulfillment Orders, so my questions are about choosing the best solution:

Option 1:  Ignore any Order line items with value of "requires_shipment": false 

We could ignore these associated Fulfillment Orders & leave them "unfulfilled" ( in your reply above you mentioned looking at the possible actions: the supported actions on these are  [ "create_fulfillment", "hold" ])

Can you leave unfulfilled Fulfillment Orders of this type (not a deliverable item) on an account indefinitely? 

Option 2: Automatically Fulfill Order line items with value of "requires_shipment": false

For order items like route protection, we could automatically "fulfill" the associated Fulfillment Order. We could have our app send this via the API. The other option is if there is a setting in Shopify per product to have certain items auto-fulfill - is this possible?

Your response above says:
    |   They may have auto-fulfillment already setup for certain items.

The linked document refers to auto-fulfilling entire orders. Can specific items/products within one order be auto-fulfilled & others manually? Or is this a per order/per store setting?


Option 3: Configure a product to not need any fulfillment/ not generate a Fulfillment Order

Is this possible? 

The example of Route Protection paid on an item seems like a good candidate if possible.

Option 4: Configure these Route Protection products to not generate separate Fulfillment Orders

This option has worked because then the Shopify store pulling orders from the API sees the Route Protection line item on their Fulfillment Order AND when they fulfill this via the API all fulfillment orders are closed (since there is only one in this case)

One downside to this is that warehouses & 3PLs might try to pack this non-physical/non-digital product when they see it on the Fulfillment Order.

This is also complicated when a store is shipping physical items from multiple locations - which FO would this line item end up on? Maybe not important as we haven't seen this yet.

Thanks for reviewing!

Ideal solutions seem to be having the ability to have certain items/products not generate any FulfillmentOrder OR if certain items can be marked as fulfilled automatically in the Shopify Platform.

If we do solve this by instead having our app auto-fulfill when we see a line item that doesn't require shipping we'd need a way to distinguish between non-deliverable items like Route Protection or a digital item that a customer needs delivered but not shipped.

alexc_shopify
Shopify Staff (Retired)
7 2 2

To auto fulfill certain items, you would stock them at the manual merchant managed (shopify) location and not at any fulfillment service location.

With auto fulfill on, the items (route protection in your case) stocked at the merchant managed location will auto fulfill.


The items stocked at fulfillment services will auto request fulfillment from the relevant fulfillment service location.

It isn't possible for for some items to not generate a fulfillment order. Any item with a different shipping profile or location to other items in the order will be in their own fulfillment order. 

You could also never fulfill non shippable items, but that would leave the 'unfulfilled' status on the order for ever. So I would not recommend that.

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

tgbbrands
Visitor
2 0 0

Hi there,

We are still receiving an email saying our app is leveraging the soon to be deprecated fulfillment process, but we went through the migration steps and to our knowledge switched everything over as it is supposed to be? Everything appears to be working. I am concerned we are missing something. I went through the migration guide and api docs once again and don't see any reference to the old api?

 

"TL;DR: Please note that your custom app(s) are leveraging deprecated Fulfillment API endpoints. To minimize disruptions we’re giving you an additional 3 months to update your app(s) to the new Fulfillment Order API. Read the migration guide and migrate to the new Fulfillment Order API by June 30, 2023 to avoid breaking changes."

dipakpatil
Visitor
3 0 0

How to change location using graphql fulfillmentcreate API
As I can see its not possible
in our case multiple tracking number and fulfillment location change frequently
so we have changed REST API to GraphQL but not facing location issue
Can anyone guide on it?