Newsletter
Cdiscount now supports shipping CancelRequest lines
  • Home
  • Cdiscount now supports shipping CancelRequest lines
new-feature

Introduction

Good news for Cdiscount sellers: you can now ship order lines in CancelRequest status through the REST API in specific cases.

This applies when the order header is InPreparation, the supply mode is Seller, and the cancellation request was initiated by the customer. The shipment is performed through the existing POST /orders/{orderId}/shipments endpoint.

What changed?

Until now, the REST shipment flow only supported shipping lines in InPreparation, which could block sellers when a customer requested cancellation after the parcel had already entered the shipping process. The documented shipment flow currently reflects that baseline rule.

With this update, Cdiscount sellers can now declare shipment for eligible CancelRequest lines when:

  • the order header status is InPreparation
  • the cancellation request comes from the customer
  • the order supply mode is Seller

Requests are still rejected for seller-initiated or sales-channel-initiated cancellation requests, and for non-shippable order states.

Example — Ship a Cdiscount order with a CancelRequest line

You can continue using the same shipment endpoint:

POST /orders/{orderId}/shipments

The request body format does not change: you still declare one or more parcels with parcelNumber, carrierName, optional trackingUrl, and the orderLineIds to ship.

Request

    {
      "parcelNumber": "PKG-123456",
      "carrierName": "Chronopost",
      "trackingUrl": "https://tracking.example.com/PKG-123456",
      "orderLineIds": ["LINE_1", "LINE_2"]
    }

Example scenario

This shipment is now accepted for Cdiscount when:

  • the order status is InPreparation
  • LINE_1 is InPreparation
  • LINE_2 is CancelRequest
  • the cancellation request was initiated by the customer

Response

201 Created

As with the standard shipment flow, a successful request confirms that the shipment declaration has been created for the targeted order or order lines.

Why it matters

Less manual handling

Sellers no longer need to leave the REST workflow and go to OSP just to resolve a customer cancellation request before declaring shipment.

Better alignment with operational reality

If the parcel is already with the carrier, shipment still needs to be declared. This update allows the API flow to match that real-life scenario.

Closer functional parity with legacy behavior

This change restores a behavior that sellers previously had in SOAP, while keeping it framed within explicit REST eligibility conditions.