What you’ll learn:
- How to create and update orders via the Channel API
- Order and line-item status transitions
- Cancellation workflows for both sellers and buyers
- Return and refund processing
Order Lifecycle
High-level order lifecycle in SCXOrder Process
Provide address information
If the order was created with status
CREATED or UNACKED, send address data via PUT /v1/channel/order/address-update before transitioning to ACCEPTED.Accept the order
Update the order status to
ACCEPTED using PUT /v1/channel/order/status. The order is now ready for shipping.- The purchase date of an order must be after the creation date of the seller ID.
- The
orderIdis unique and can only exist once per seller ID. - It is not possible to add or change order line items once an order has been created.
Order Status
| Status | Description |
|---|---|
CREATED | The order is not yet ready for shipping. Can be used for stock reservation. Once ready for shipping, the status changes to ACCEPTED. |
UNACKED | The order is not yet ready for shipping. The seller must first accept the order. Note: JTL-Wawi does not yet support order acknowledgment. |
ACCEPTED | The order is ready for shipping. |
Order Line Item Status
Each order line item has a status that should be used to determine the overall order status:| Status | Description |
|---|---|
UNSHIPPED | Ready for shipping; can be shipped once order is ACCEPTED |
SHIPPED | Marked as having been shipped |
CANCELED_BY_SELLER | Cancelled by the seller |
CANCELED_BY_BUYER | Cancelled by the buyer or the marketplace |
RETURNED | Returned to the seller |
REFUNDED | Refunded |
State Transition Rules
Order Item Status Transition Matrix
The table below shows which transitions between order item statuses are allowed:| From / To | UNSHIPPED | SHIPPED | CANCELED_BY_SELLER | CANCELED_BY_BUYER | RETURNED | REFUNDED |
|---|---|---|---|---|---|---|
| UNSHIPPED | yes | yes | yes | yes | yes | yes |
| SHIPPED | - | yes | yes | yes | yes | yes |
| CANCELED_BY_SELLER | - | - | yes | - | - | - |
| CANCELED_BY_BUYER | - | - | - | yes | - | - |
| RETURNED | - | - | - | - | yes | yes |
| REFUNDED | - | - | - | - | - | yes |
UNSHIPPED or SHIPPED, an item can also jump directly to CANCELED_BY_SELLER, CANCELED_BY_BUYER, or REFUNDED; from UNSHIPPED it can additionally go straight to RETURNED.
Examples
Create a CREATED Order
Send Address Information
Send address information for an order with statusCREATED:
Update Order Status to ACCEPTED
Update Order Line Item Status
Cancellation
- By Seller
- By Buyer
Cancellation by Seller
Sellers send a cancellation request with aCancellationRequestId which JTL-Wawi uses to assign the response later.- The
CancellationRequestIdprovides unique assignment of the data (OrderId / OrderItemIDs) to the client. - A cancellation should always include all items to be cancelled. If the entire order is cancelled, all order items must be specified. For partial cancellation, only the cancelled items need to be specified.
Returns
Return processing flowChannel Informs About Upcoming Return
This is an optional step. Not all marketplaces support a return announcement.
Channel:Order.Return event, the channel reports that a return process has been initiated on a connected marketplace:
- Required data: OrderId, OrderItem List (ItemId, Quantity, Reason, Comment)
- Optional data: ChannelReturnId (internal ID to identify the return case), Return Tracking Information (Carrier, TrackingNo.)
- If no item return is required, the return can be answered directly via
POST /v1/seller/order/return. - If a return is required, the seller waits for the incoming return.
Merchant Decides No Return Is Required (Optional)
The seller can decide whether the customer needs to make a return. If no return is required,POST /v1/seller/order/return can be sent after receiving the Channel:Order.Return event
with the requireReturnShipping property set to false.
Return Shipment Arrives
Once the return has arrived, the seller checks the items and confirms the return usingPOST /v1/seller/order/return.
If a return already exists in JTL-Wawi, the stored information (including the channelReturnId) should be used.
The following information about individual order items must be transferred:
| Field | Required | Description |
|---|---|---|
orderId | Yes | The order number |
quantity | Yes | The quantity that was returned |
acceptReturn | Yes | Whether the return is accepted |
condition | Yes | Condition of the returned item |
reason | No | Reason for the return |
note | No | Additional note |
Refunds
Refunds are initiated directly by the seller, for example after a return has been processed or following an agreement with the buyer (via ticket/email/phone). The channel processes the refund and sends aChannel:Order.RefundProcessingResult
event back to the seller to confirm whether the refund was processed successfully or failed.
Refund processing flow
Next Steps
Product Sync
Learn how listing and stock synchronization works.
Seller Management
Seller sign-up, update, and unlink flows.
Rate Limits
Per-endpoint quotas and 429 handling.
Channel API Overview
Events, metadata, and media content handling.
Channel API Reference
Full endpoint reference for the Channel API.