/v2/providers/openapi/apis/api/v5/vendors/{vendorId}/orders/{orderId}/cancel2609170000주문 상품 취소 처리
요약
주문 상품 취소 처리
상세
API 적용 가능한 구매자 사용자 지역: 한국, 대만
[결제완료] 또는 [상품준비중] 상태에 있는 상품을 취소하기 위한 API 입니다. (나머지 상태에 적용 시 에러 발생)
[결제완료] 상태에 있는 상품에 대해서는 즉시 취소로 작동하며, [상품준비중] 상태의 상품에 대해서는 출고중지를 시킵니다.
하나의 주문번호 안에 서로 다른 묶음배송번호(shipmentBoxId)가 존재하는 경우 shipmentBoxId 별로 각각 취소요청해야 정상적으로 처리가 됩니다.
※ 주문 상품 취소 처리 API의 사용은 판매자 점수(주문이행)를 하락시키게 되므로, 재고와 가격 관리를 통해 사용을 지양해주시기 바랍니다.
경로
예시 엔드포인트
https://api-gateway.coupang.com/v2/providers/openapi/apis/api/v5/vendors/A00012345/orders/2000006593044/cancelURL API Name
Path 파라미터
| Name | Type | Description |
|---|---|---|
| vendorId* | string | 판매자 ID 쿠팡에서 업체에게 발급한 고유 코드 예) A00012345 |
| orderId* | number | 주문 번호 예) 2000006593044 |
요청 본문
요청 파라미터
본문 파라미터
| Name | Type | Description |
|---|---|---|
| orderId* | integer | 주문 번호 path variable로도 입력해야 함 |
| vendorItemIds* | object[] | 취소할 상품의 옵션 ID(vendorItemId) 배열 receiptCounts 와 쌍으로 입력 |
| receiptCounts* | object[] | 취소할 상품 개수 배열, 값은 항상 0보다 큼 vendorItemIds 와 쌍으로 입력 |
| bigCancelCode* | string | 주문상품 취소 사유 중 대분류 사유 코드 CANERR |
| middleCancelCode* | string | 주문상품 취소 사유 중 중분류 사유 코드
취소 상세 사유는 "파트너 API 강제 취소"로 기록됩니다. |
| vendorId* | string | 업체 ID, path variable로도 입력해야함
|
| userId* | string | 업체의 쿠팡 Wing 로그인 ID
|
{
"orderId": 2000006593044,
"vendorItemIds": [
3145181064,
3145181065,
3145181067
],
"receiptCounts": [
1,
2,
1
],
"bigCancelCode": "CANERR",
"middleCancelCode": "CCTTER",
"userId": "wing_login_id_123",
"vendorId": "A00123456"
}응답 본문
응답 메시지
| Name | Type | Description |
|---|---|---|
| code | string | 응답 코드 200 - 전체/부분 취소 성공, 400 - 취소 실패 |
| message | string | 실패 사유 및 에러 메세지
|
| data | string | 성공 및 실패한 취소건에 대한 상세 정보
|
| ReceiptMap data.ReceiptMap | object | |
| receiptId data.ReceiptMap.receiptId | number | 접수 ID
|
| receiptType data.ReceiptMap.receiptType | string | CANCEL일 경우 즉시취소 접수 아이디, STOP_SHIPMENT 일 경우 출고중지완료 접수 번호 |
| vendorItemIds data.ReceiptMap.vendorItemIds | object[] | 해당 접수 ID로 취소한 상품 번호 목록
|
| totalCount data.ReceiptMap.totalCount | number | 해당 접수 ID로 취소한 총 상품 개수
|
| orderId data.orderId | number | 주문번호
|
| failedItemIds data.failedItemIds | object[] | 취소에 실패한 vendorItemId
|
Response Example
{
"code": "400",
"message": "[요청번호] 5d803ea1-e61d-44bd-a56d-44f3528f5136 \\r\\n [3145181067, 3145181065, 3145181064]<= 취소 가능한 개수보다 요청한 개수가 더 많습니다",
"data": {
"receiptMap": {
},
"orderId": 23000059824637,
"failedVendorItemIds": [
3145181067,
3145181065,
3145181064
]
}
}
}에러 코드
| HTTP | 코드 | 메시지 |
|---|---|---|
| 400 | HTTP_400 | Bad Request |
오류 사양
| HTTP | 유형 | 오류 메시지 | 해결 방법 |
|---|---|---|---|
| 400 | 400 (요청변수확인) | 주문 ID를 입력해 주세요. | 주문번호(orderId)를 올바로 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 취소할 벤더아이템 아이디 목록을 입력해주세요. | 상품 번호 목록(vendorItemIds)에 값을 올바로 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 취소할 아이템 개수 목록을 입력해주세요. | 취소할 상품 개수 배열(receiptCounts)에 값을 올바로 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 요청한 상품 개수와 취소 개수를 확인해주세요. | 상품 번호 목록(vendorItemIds)에 있는 옵션 개수 와 상품 취소 개수 목록의 개수가 일치하는지 확인합니다. |
| 400 | 400 (요청변수확인) | 취소사유 대분류 코드를 입력해주세요. | 취소 사유 중 대분류 코드(bigCancelCode)를 "CANERR"로 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 취소사유 중분류 코드를 입력해주세요. | 취소 사유 중 중분류 코드(middleCancelCode)를 "CCTTER", "CCPNER", "CCPRER" 중 하나로 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 업체 ID를 입력해주세요. | 판매자 ID(vendorId) 를 올바로 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 업체 ID에 맞는 올바른 유저 ID를 입력해주세요. | 판매자 ID에 속한 올바른 Wing의 유저ID를 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 주문 정보가 없습니다. | 요청한 주문번호(orderId)와 상품번호상품 번호에 대한 지불 정보가 하나도 존재하지 않을 경우 발생합니다. 주문번호 각 상품에 대한 상태를 확인합니다. |
| 400 | 400 (요청변수확인) | 취소 가능한 개수보다 요청한 개수가 더 많습니다. | 특정 옵션상품의 취소가능개수(주문 개수 - 취소진행중 개수 - 취소완료 개수) 보다 더 많은 개수를 요청 했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 해당 벤더아이템이 결제완료/상품지시 중 상태가 아닙니다. | 주문취소를 요청한 상품이 결제완료 혹은 상품준비중 상태가 아닌지 확인합니다. |
| 400 | 400 (요청변수확인) | 요청한 업체의 상품이 아닙니다. | 주문취소를 요청한 상품이 해당 업체의 상품이 아닌지 확인합니다. |
| 400 | 400 (요청변수확인) | 취소요청 중 오류가 발생하였습니다. | 요청한 상품 중 결제완료 상태인 상품에 대해 취소처리 실패가 발생했습니다. 결제완료 단계에서 해당 주문의 상태를 재확인합니다. |
| 400 | 400 (요청변수확인) | 부분 취소는 불가능합니다. | 부분 취소 시 실패가 발생한 케이스 입니다. 상품 번호 목록(vendorItemIds)에 있는 옵션 개수 와 상품 취소 개수 목록의 개수가 올바른지 확인합니다. |
| 400 | 400 (요청변수확인) | 출고정지 완료 처리에 실패했습니다. | 취소 요청한 상품중 상품준비중 상태인 상품에 대해 출고 정지 완료 처리에 실패한 경우 입니다.해당 옵션의 주문상태를 확인하고 해당 옵션에 대해 중복해서 취소 요청을 했는지 확인합니다. |
| 400 | 400 (요청변수확인) | 출고 정지 요청 롤백에 실패했습니다[접수 아이디] | 취소 요청한 상품중 상품준비중 상태인 상품에 대해 출고 정지 요청 완료에 실패하고, 출고정지요청 롤백도 실패한 경우입니다. 옵션 상품의 처리 상태를 확인합니다. |
| 400 | 400 (요청변수확인) | 내부 오류가 발생하였습니다. 쿠팡으로 문의하세요. 에러번호 : %s | 입력한 값들을 재확인하여 일정시간 이후 재요청합니다. |