I am working with a third-party fulfillment backend.
I just added an app that makes use of the new native Upsell API.
This app puts orders in an "On Hold" fulfillment status while the customer is on the post-purchase offer page, and deciding whether or not to take up the offer.
I would like to be able to query orders and prevent any orders that are in the "On Hold" status from being sent over to be fulfilled.
However, when I query the orders API - the fulfillment_status just comes back as null, e.g.:
This does of course jive with the current API documentation for that endpoint, which does not specify any special status for an order that's "On Hold"
I guess my question is: Does anyone know of a way to query for the hold status? Or is there a way to reach out to Shopify to ask them to support it?
Thank you very much in advance.
Solved! Go to the solution
This is an accepted solution.
There is documentation that I just found. It looks like we just need to upgrade to the newest version of the API.
Orders that include a post-purchase offer may now have fulfillment holds on inventory. These holds occur after payment is accepted, before the customer decides whether they will add items to their order. Like an edited order, the fulfillable_quantity of line items on post-purchase eligible orders are subject to change before fulfillment.
A few things to note about orders with post-purchase offers:
- When a customer places an order that qualifies for a post-purchase offer, any line items on an order will have a fulfillable_quantity of 0 while Shopify waits to see if there will be more items added to the order. The order fulfillment_status will be on_hold, and FulfillmentOrders in version ≥2021-07 will have a status of ON_HOLD. API versions before 2021-07 will return no FulfillmentOrders.
- When a customer accepts a post-purchase offer or does not return to the post-purchase page for 60 minutes, the fulfillable_quantity will update to reflect the number of items that should be shipped. It is also possible that additional line items will appear on the order at this time. The order fulfillment_status will change to null. The FulfillmentOrder status will change to OPEN, and clients calling versions before 2021-07 will now be able to see FulfillmentOrders associated with the order.