/v2/providers/openapi/apis/api/v4/vendors/{vendorId}/orders/invoices2609170000송장업로드 처리
요약
송장업로드 처리
상세
API 적용 가능한 구매자 사용자 지역: 한국
송장을 업로드하여 주문을 배송지시 상태로 변경합니다.
상품준비중 상태의 주문에 대해서만 송장업로드가 가능합니다.
분리배송이 필요한 경우, 송장 업로드 예시는 FAQ를 참고해주세요.
6개월 이내에 중복된 송장번호를 입력할 경우 송장중복에러가 발생할 수 있습니다.
(단, 수취인의 이름과 주소가 동일한 서로 다른 주문에 대해서는 동일한 송장번호를 입력할 수 있습니다.)
올바르지 않은 운송장을 입력하여 정확한 배송흐름을 추적할 수 없거나 기한 내 운송장을 입력하지 않아 고객이 취소를 요청할 경우 이로 인해 발생하는 배송비는 판매자가 부담해야 합니다.
경로
예시 엔드포인트
https://api-gateway.coupang.com/v2/providers/openapi/apis/api/v4/vendors/A00012345/orders/invoicesURL API Name
Path 파라미터
| Name | Type | Description |
|---|---|---|
| vendorId* | string | 판매자 ID 쿠팡에서 업체에게 발급한 고유 코드 예) A00012345 |
요청 본문
요청 파라미터
본문 파라미터
| Name | Type | Description |
|---|---|---|
| vendorId* | string | 판매자 ID 쿠팡에서 업체에게 발급한 고유 코드. 예) A00012345 |
| orderSheetInvoiceApplyDtos* | object[] | 배송지시 상태로 변경할 대상 정보 목록
|
| shipmentBoxId* orderSheetInvoiceApplyDtos[].shipmentBoxId | integer | 배송번호(=묶음배송번호) 분리배송 시, 이미 발송한 상품의 shipmentBoxId는 변경됩니다. (orderId로 발주서 단건 조회API를 통해 확인 가능) |
| orderId* orderSheetInvoiceApplyDtos[].orderId | integer | 주문번호
|
| deliveryCompanyCode* orderSheetInvoiceApplyDtos[].deliveryCompanyCode | string | 택배사 코드 택배사 코드 바로가기 |
| invoiceNumber* orderSheetInvoiceApplyDtos[].invoiceNumber | string | 송장번호 분리배송 시 선택. 입력 하지 않는 경우 "" 공백으로 입력한다. 분리배송 시에는 송장번호 또는 출고예정일 둘중에 한가지만 입력한다. 업체직송(DIRECT)일 경우 임의의 숫자만 입력가능하며 배송트래킹은 지원하지 않습니다. |
| vendorItemId* orderSheetInvoiceApplyDtos[].vendorItemId | integer | 옵션Id 송장을 업로드 할 상품의 옵션 ID를 입력. 분리배송 시 해당 shipmentBoxId의 vendorItemId단위로 접수해야한다. |
| splitShipping* orderSheetInvoiceApplyDtos[].splitShipping | boolean | 분리배송 여부 ● false(전체배송) 1개의 주문번호에 포함된 전체 상품을 1개의 송장번호로 배송하는 경우 ● true(분리배송) 1개의 주문번호에 포함 된 상품을 분리하여 여러 송장번호로 배송하는 경우 *분리배송 예시 (Click) |
| preSplitShipped* orderSheetInvoiceApplyDtos[].preSplitShipped | boolean | 분리 배송중인지 여부 ● false 분리배송을 하지 않는 경우 (=splitshipping이 false인 경우) 해당 주문번호에 대해 처음으로 분리배송처리 할 경우 ● true 해당 주문번호에 이미 분리배송을 진행한 상품이 있을 경우 |
| estimatedShippingDate* orderSheetInvoiceApplyDtos[].estimatedShippingDate | string | (분리배송)출고예정일 YYYY-MM-DD 포멧으로 분리배송 시에만 선택적으로 입력. 입력 하지 않는 경우 "" 공백을 입력한다. 분리배송 시, 송장번호 또는 출고예정일 둘 중 한가지만 입력. |
{
"vendorId": "A00034612",
"orderSheetInvoiceApplyDtos": [
{
"shipmentBoxId": 123456789012345680,
"orderId": 4000019469460,
"vendorItemId": 3823839899,
"deliveryCompanyCode": "KDEXP",
"invoiceNumber": "20180731040123",
"splitShipping": false,
"preSplitShipped": false,
"estimatedShippingDate": ""
},
{
"shipmentBoxId": 123456789012345680,
"orderId": 4000019469460,
"vendorItemId": 3834780191,
"deliveryCompanyCode": "KDEXP",
"invoiceNumber": "20180731040123",
"splitShipping": false,
"preSplitShipped": false,
"estimatedShippingDate": ""
}
]
}응답 본문
응답 메시지
| Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| code | string | 서버 응답 코드
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| message | string | 서버 응답 메세지
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| data | object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| responseCode data.responseCode | integer | request 전체결과값에 대한 상태메세지
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| responseMessage data.responseMessage | string | request 전체결과값에 대한 상태메세지
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| responseList data.responseList | object[] | 개별 건에 대한 결과셋
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| shipmentBoxId data.responseList[].shipmentBoxId | integer | 배송번호
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| succeed data.responseList[].succeed | boolean | 성공여부
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| resultCode data.responseList[].resultCode | string | 결과코드
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| retryRequired data.responseList[].retryRequired | boolean | retry 가능 여부
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| resultMessage data.responseList[].resultMessage | string | 결과메세지
|
Response Example
{
"code": "200",
"message": "OK",
"data": {
"responseCode": 0,
"responseMessage": "SUCCESS",
"responseList": [
{
"shipmentBoxId": 123456789012345680,
"succeed": true,
"resultCode": "OK",
"retryRequired": false,
"resultMessage": null
}
]
}
}에러 코드
| HTTP | 코드 | 메시지 |
|---|---|---|
| 400 | HTTP_400 | Bad Request |
오류 사양
| HTTP | 유형 | 오류 메시지 | 해결 방법 |
|---|---|---|---|
| 400 | 400 (요청변수확인) | CJ 대한통운의 송장번호 형식에 맞지않는 운송장 번호 입니다. [6255*****632] | 올바른 송장번호를 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | CJ 대한통운의 운송장번호는 숫자로만 구성되어야 합니다. InvoiceNumber must be number. [6257-62-10*] | 올바른 송장번호를 입력했는지 확인합니다. 송장번호에 숫자 이외의 문자가 포함되었는지 확인합니다. |
| 400 | 400 (요청변수확인) | 업체직송의 운송장번호는 숫자로만 구성되어야 합니다. InvoiceNumber must be number. [***] | 업체직송(DIRECT)의 송장번호를 숫자로 입력합니다. 예) 202002031830 |
| 400 | 400 (요청변수확인) | invalid delivery company code: | 올바른 택배사 코드(deliveryCompanyCode)를 입력했는지 확인합니다. |
| 400 | 400 (요청변수확인) | OO택배의 송장번호 형식에 맞지않는 운송장 번호 입니다. [956****734] | 올바른 송장번호를 입력했는지 확인합니다. |