Available buyer market: Taiwan
Arrange shipment to change the order status from product in preparation(INSTRUCT) to Shipped(DEPARTURE). This api doesn’t support splitting shipment yet, use Wing for splitting shipment.
Note: If the order status is not product in preparation(INSTRUCT) , this request will fail with error INVOICE NUMBER GENERATION FAILED.
There are currently four courier companies available.
| Company Name | Type | deliveryCompanyCode |
| HomeDelivery-Kerry | Home delivery | TWL_KERRY |
| HomeDelivery-Hsin Chu | Home delivery | TWL_HCT |
| CVS-Familymart | CVS | TWL_FM |
| CVS-7-11 | CVS | TWL_711 |
Path
POST
/v2/providers/openapi/apis/api/v1/vendors/{vendorId}/orders/directIntegration/arrangeShipment
Example Endpoint
https://api-gateway.coupang.com/v2/providers/openapi/apis/api/v1/vendors/A158000ABC/orders/directIntegration/arrangeShipment
Request Parameters
Path Segment Parameter
| Name | Required | Type | Description |
| vendorId | O | String |
Vendor ID Unique code Coupang issues to vendors e.g. A158000ABC |
Body Parameter
Body is an array and each item has following structure:
| Name | Required | Type | Description |
| shipmentBoxId | O | Number | Shipment No. (bundled shipment No.) shipmentBoxId of product already shipped is changed for split deliveries. (check with orderId via single PO query API) The ID is required, otherwise arrange shipment will fail. |
| deliveryCompanyCode | O | String |
Courier code Three courier companies are available. |
| returnCenterCode | String |
Return location code (required when deliveryCompanyCode is CVS) A value exposed as a response message when creating a return location, see Create a return location |
|
| outboundShippingPlaceCode | Number | Shipping location code (required when deliveryCompanyCode is HomeDelivery) A value exposed as a response message when creating a shipping location, see Create a shipping location | |
| remark | String | A free-text shipment note from the sender containing special instructions or comments relevant to arranging and handling the shipment. |
Request Example
CVS request:
[{
"shipmentBoxId":111,
"deliveryCompanyCode":"TWL_FM",
"returnCenterCode":"1100047243",
"remark":""
}]HomeDelivery request:
[{
"shipmentBoxId":111,
"deliveryCompanyCode":"TWL_KERRY",
"outboundShippingPlaceCode":1100047243,
"remark":""
}]
Response Message
Response body is a map.
- Key: a string contains shipmentBoxId.
- Value : an object with the following structure.
| Name | Type | Description |
| success | Boolean | True if arrange shipment completed successfully for this entry |
| errorKey | String | Text status for the per-item operation (e.g.“OK”). |
| errorMessage | String | Supplementary description of success/failure. |
| invoiceNumber | String | Waybill number |
| shipmentBoxId | Number | Shipment No. (bundled shipment No.) |
| validationCode | String | Additional code required by certain couriers (only for 7-11) |
|
invoiceNumberInvalidTim e |
String |
Expiration date time for the issued invoiceNumber (Requires ISO-8601 Compliance) e.g. 2025-09-02T13:54:39+08:00 or 2025-09-02T05:54:39Z |
Response Example
{
"12345":{
"success": true,
"errorKey": "",
"errorMessage": "",
"invoiceNumber": "12345556",
"shipmentBoxId": 12345,
"validationCode": "",
"invoiceNumberInvalidTime":"2025-09-02T13:54:39+08:00"
}
}
Error Spec
| HTTP Status Code(Error Type) | Error Message | Solution |
| 400 | Invalid vendor ID | vendorId in path or header (X-Requested-By) is invalid or doesn’t equal, pls check and keep the same vendorId. |
| 400 | Only one type of express is supported for bulk delivery | deliveryCompanyCode in all item of request must be the same one. |
| 400 | illegal shipment box id | shipmentBoxId should be greater than 0 |
| 400 | illegal delivery company code | deliveryCompanyCode is not supported |
| 400 | returnCenterCode cannot be empty for deliveryCompanyCode: {deliveryCompanyCode} | For CVS delivery, returnCenterCode is necessary |
| 400 | invalid outboundShippingPlaceCode for deliveryCompanyCode: {deliveryCompanyCode} | For Home delivery, outboundShippingPlaceCode is necessary |
URL API Name
UPDATE_ORDER_ARRANGE_SHIPMENT_FOR_DIRECT_INTEGRATED_COURIER