Question on Handling Order Cancellation vs Fulfillment Order Cancellation

We’re building a fulfillment app and trying to clarify the cancellation flow.

  • For fulfillment orders, we receive the fulfillment_order/cancellation_request_submitted webhook.

    • At this point, our app can either accept or reject the cancellation request, which makes sense for in-progress or partially fulfilled requests.
  • However, for order-level cancellations (merchant cancels the entire order in Admin), we only receive the orders/cancelled webhook.

    • In this case, the order is already cancelled, and our app has no option to accept or reject.

Use-case:
Suppose we’ve already accepted a fulfillment request and are processing it (in-progress). Later, the merchant cancels the entire order from Admin. We only receive the orders/cancelled webhook, but we don’t get a way to reject the cancellation (unlike fulfillment orders).

Question:

  • Is this the expected behavior, where order-level cancellations are always final and cannot be rejected by fulfillment apps? Or in-progress Fulfillment Order cannot be cancelled at Order level .

  • What’s the best practice for apps handling in-progress fulfillments when a full order cancellation occurs (we support intent to cancel , not always possible to cancel an order once we have accepted it .)