We have updated fulfillment status to On Hold in an order, but fulfillment status has still null in API(Get /admin/api/2021-10/orders.json). Which API can I check order status?
thx a lot
We have updated fulfillment status to On Hold in an order, but fulfillment status has still null in API(Get /admin/api/2021-10/orders.json). Which API can I check order status?
thx a lot
Hey @AlfredAuYeung_1
Thanks for getting in touch!
Sounds like youād want to check the Fulfillment Order Resource.The āon holdā status would be present on GETS to the the Fulfillment Order Resource (docs). FulfillmentOrders in API version > 2021-07 can have a status of ON_HOLD.
Status is not actually a property on the Order youāll note here - the omission of order status on the object is that way by design presently. Status is used for example as a filter on the endpoint. Hope that helps!
Hi L_J_K
As we have not created fulfilments order, no record found in ā/admin/api/2021-07/orders/4544260800734/fulfillments.jsonā. below is our case. I hope that it can help you to understand more.
We have a warehouse system. it will get orders from API(Get /admin/api/2021-10/orders.json). For some reason, our staff need to hold an order in Shopify, such as wrong address or out of stock. This order cannot be shipped out, but there is no any indicate to show this order with hold.
Thx a lot
Dear Hi L_J_K
We would not like to get orders with hold and transfer into our warehouse system.
Hi - Iām running into problems here as well. The āHold fulfillmentā in the Admin UI, and apps using Order Fulfillment API that place Hold, donāt reflect in the JSON order object āfulfillment_statusā payload. They stay ānull.ā I see you say itās just a filter, but if you request an order that is āfulfilledā or āpartial,ā you can see that fulfillment_status in the payload.
We have an ERP partner who has built their integration using āfulfillment_status.ā Our holds are not being applied.
I see that GraphQL has ādisplayFulfillmentStatusā on the Order endpoint, and it does update with the Admin. But itās confusing that thereās no differentiation in āfulfillment_statusā in JSON for an order between Unfulfilled and On Hold, especially when there is if itās Fulfilled.
Hey all,
To clarify, in REST, fulfillment_holds are not a property on the order. As we know, they are only property on the fulfillment order in REST presently which can be queried to get the on_hold status (docs.)).
I concur how it could be confusing in terms of the lack of parity between the REST and GraphQL endpoints however and what is returned in the fulfillment_status (on the order) in REST (when compared with displayFulfillmentStatus in GraphQL, which will return the on_hold value as we see in Daveās screenshot above.
Not to add layers of complexity here, but we have example documentation for building fulfillments for two cases - firstly as an Order Management app(docs) and secondly, as a Fulfillment Service app(docs) - thereās REST/GQL examples in both. The distinction between the two is made here.
Lastly, Using the Fulfillment and Order resources separately is considered legacy behaviour - please feel free to check out the documentation here regarding some benefits of FulfillmentOrders here. Hope this explains some more!
Call it property or filter, but practically speaking, āadmin/orders/SOMEIDHERE.jsonā has for a long time returned ānull,ā āpartial,ā or āfulfilled.ā Those mapped to possible order statuses of āunfulfilled,ā āpartially fulfilled,ā and āfulfilled.ā Now thereās a new status (or at least much more prominent), āOn hold,ā and it maps to ānullā just like unfulfilled. So itās breaking existing implementations. And to fix would require querying multiple endpoints, which means actually paying a developer for non-trivial amounts of time.
You donāt have to sell me on FulfillmentsOrders, I use it myself. But we have legacy integrations, and I get that itās ālegacy behavior,ā but updates shouldnāt break legacy apps! Especially this quickly. I donāt think FulfillmentOrders is that old.
Youāve got āfulfillment_statusā on REST orders endpoint, now thereās a new status, can you pls add it?
Hey @daveken ,
Thanks for the feedback and certainly, Iāve made this known to our Product teams internally today as any decisions concerning the structure of our platform, APIās and updates are handled by that team. I cannot provide a timeframe for any API update (any update would be communicated here in the Shopify Community Forums and on our Developer Changelog), but I can confirm that Iāve made our partnerās voices heard regarding the above points this morning. Thanks.
@Luke_K then the post about this new feature needs to be corrected, which is also greatly adding to the source of confusion because it clearly states that this new status is part of the ORDER and FulfillmentOrders both.
fulfillment_status
is not a property of the FulfillmentOrders object, just the Orders object.