# 7 纠纷接口
注意: 纠纷接口主要用于处理订单商品的售后纠纷,包括退款和补发。所有纠纷操作都需要先通过「选择纠纷商品列表」接口获取可纠纷商品,然后通过「纠纷确认」接口获取纠纷原因和金额信息,最后通过「发起纠纷」接口创建纠纷单。
# 1 选择纠纷商品列表(GET)
# URL
https://developers.cjdropshipping.com/api2.0/v1/disputes/disputeProducts
# CURL
curl --location --request GET 'https://developers.cjdropshipping.com/api2.0/v1/disputes/disputeProducts' \
--header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
| 参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
|---|---|---|---|---|---|
| orderId | cj订单号 | string | 是 | 100 |
提示: 请先通过订单接口获取有效的
orderId,再调用此接口。
# 返回
success
{
"code": 200,
"result": true,
"message": "Success",
"data": {
"orderId": "2001234567890",
"orderNumber": "SHOP-12345",
"productInfoList": []
},
"requestId": "0242ad78-eea2-481d-876a-7cf64398f07f",
"success": true
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| orderId | cj订单ID | string | 200 | |
| orderNumber | 客户订单编号 | string | 200 | |
| productInfoList | 商品信息列表 | Object[] | 选择纠纷商品供应商列表 | |
| lineItemId | lineItem id | string | 100 | |
| cjProductId | cj商品id | string | 100 | |
| cjVariantId | cj变体id | string | 100 | |
| canChoose | 是否可勾选开纠纷 | boolean | true:可以开纠纷, false:不可开纠纷,可能原因:存在未完成纠纷单 | |
| price | 商品价格 | BigDecimal | (18,2) | 单位:$(美元) |
| quantity | 可开纠纷数量 | integer | 20 | |
| cjProductName | cj商品名称 | string | 200 | |
| cjImage | 商品图片 | string | 100 | |
| sku | sku | string | 100 | |
| supplierName | 供应商name | string | 200 |
error
{
"code": 1600100,
"result": false,
"message": "Param error",
"data": null,
"requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| code | 错误码 | int | 20 | 返回错误码标准表 |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | 接口数据返回 | |||
| requestId | 请求Id | string | 48 | 用于日志查询错误 |
# 2 纠纷确认(POST)
# URL
https://developers.cjdropshipping.com/api2.0/v1/disputes/disputeConfirmInfo
# CURL
curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/disputes/disputeConfirmInfo' \
--header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
| 参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
|---|---|---|---|---|---|
| orderId | cj订单号 | string | 是 | 100 | |
| productInfoList | 纠纷商品信息 | object[] | 是 | ||
| lineItemId | lineItem id | string | 是 | 100 | |
| quantity | 纠纷数量 | integer | 是 | ||
| price | 纠纷商品价格 | BigDecimal | 是 | (18,2) |
# 返回
success
{
"code": 200,
"result": true,
"message": "Success",
"data": {
"orderId": "2001234567890",
"orderNumber": "SHOP-12345",
"expectResultOptionList": ["1", "2"],
"productInfoList": [],
"disputeReasonList": []
},
"requestId": "0242ad78-eea2-481d-876a-7cf64398f07f",
"success": true
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| orderId | cj订单ID | string | 200 | |
| orderNumber | 客户订单编号 | string | 200 | |
| expectResultOptionList | 期望类型选项列表 | string[] | 1 退款 2补发 | |
| productInfoList | 商品信息列表 | Object[] | 选择纠纷商品供应商列表 | |
| - maxProductPrice | 商品总价 | BigDecimal | (18,2) | 单位:$(美元) |
| - maxPostage | 运费 | BigDecimal | (18,2) | 单位:$(美元) |
| - maxIossTaxAmount | ioss税费金额 | BigDecimal | (18,2) | 单位:$(美元) |
| - maxIossHandTaxAmount | ioss税费手续费金额 | BigDecimal | (18,2) | 单位:$(美元) |
| - maxAmount | 申请退款金额 | BigDecimal | (18,2) | 单位:$(美元) |
| - productInfoList | 商品信息列表 | Object[] | 选择纠纷商品供应商列表 | |
| - canChoose | 是否可勾选开纠纷 | boolean | 2 | false:存在未完成纠纷单,不可开纠纷 ture:可以开 |
| price | 商品价格 | BigDecimal | (18,2) | 单位:$(美元) |
| quantity | 可开纠纷数量 | integer | 20 | |
| lineItemId | lineItem id | string | 100 | |
| cjProductId | cj商品id | string | 100 | |
| cjVariantId | cj变体id | string | 100 | |
| cjProductName | cj商品名称 | string | 200 | |
| cjImage | 商品图片 | string | 100 | |
| sku | sku | string | 100 | |
| supplierName | 供应商name | string | 200 | |
| disputeReasonList | 纠纷原因列表 | object [] | ||
| disputeReasonId | 纠纷原因id | integer | 20 | |
| reasonName | 纠纷原因-英文 | string | 200 |
error
{
"code": 1600100,
"result": false,
"message": "Param error",
"data": null,
"requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| code | 错误码 | int | 20 | 返回错误码标准表 |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | 接口数据返回 | |||
| requestId | 请求Id | string | 48 | 用于日志查询错误 |
# 3 发起纠纷(POST)
# URL
https://developers.cjdropshipping.com/api2.0/v1/disputes/create
# CURL
curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/disputes/create' \
--header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
| 参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
|---|---|---|---|---|---|
| businessDisputeId | 客户的业务id,每次纠纷要保证唯一 | string | 是 | 100 | 合作方的纠纷Id |
| orderId | cj订单号 | string | 是 | 100 | |
| disputeReasonId | 纠纷原因id | integer | 是 | 10 | |
| expectType | 期望类型 | integer | 是 | 20 | 1-纠纷退款,2-纠纷补发 |
| refundType | 退款类型 | integer | 是 | 20 | 1:余额 2:平台 |
| messageText | 文本信息 | string | 是 | 500 | |
| imageUrl | 图片地址 | string [] | 否 | 200 | |
| videoUrl | 视频地址 | string [] | 否 | 200 | |
| productInfoList | 纠纷商品信息 | object[] | |||
| price | 商品价格 | BigDecimal | 是 | (18,2) | 单位:$(美元) |
| lineItemId | lineItem id | string | 100 | ||
| quantity | 纠纷数量 | integer | 是 | 10 |
# 返回
success
{
"code": 200,
"result": true,
"message": "Success",
"data": true,
"requestId": "0242ad78-eea2-481d-876a-7cf64398f07f",
"success": true
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| code | 错误码 | int | 20 | 返回错误码标准表 |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | 是否成功 | boolean | 发起纠纷成功返回 true | |
| requestId | 请求Id | string | 48 | 用于日志查询错误 |
error
{
"code": 1600100,
"result": false,
"message": "Param error",
"data": null,
"requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| code | 错误码 | int | 20 | 返回错误码标准表 |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | 接口数据返回 | |||
| requestId | 请求Id | string | 48 | 用于日志查询错误 |
# 4 取消纠纷(post)
# URL
https://developers.cjdropshipping.com/api2.0/v1/disputes/cancel
# CURL
curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/disputes/cancel' \
--header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
| 参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
|---|---|---|---|---|---|
| orderId | CJ订单号 | string | 是 | 100 | |
| disputeId | CJ纠纷号 | string | 是 | 100 |
# 返回
success
{
"code": 200,
"result": true,
"message": "Success",
"data": true,
"requestId": "0242ad78-eea2-481d-876a-7cf64398f07f",
"success": true
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| code | 错误码 | int | 20 | 返回错误码标准表 |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | 是否取消成功 | boolean | ||
| requestId | 请求Id | string | 48 | 用于日志查询错误 |
error
{
"code": 1600100,
"result": false,
"message": "Param error",
"data": null,
"requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| code | 错误码 | int | 20 | 返回错误码标准表 |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | 接口数据返回 | |||
| requestId | 请求Id | string | 48 | 用于日志查询错误 |
# 5 纠纷列表(GET)
# URL
https://developers.cjdropshipping.com/api2.0/v1/disputes/getDisputeList
# CURL
curl --location --request GET 'https://developers.cjdropshipping.com/api2.0/v1/disputes/getDisputeList' \
--header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
| 参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
|---|---|---|---|---|---|
| orderId | cj订单号 | string | 否 | 100 | |
| disputeId | 纠纷id | integer | 否 | 10 | |
| orderNumber | 店铺单号 | string | 否 | 100 | 1-纠纷退款,2-纠纷补发 |
| pageNumber | 页码 | integer | 否 | 10 | 默认1 |
| pageSize | 每页数量 | integer | 否 | 10 |
# 返回
success
{
"code": 200,
"result": true,
"message": "Success",
"data": {
"pageNum": 1,
"pageSize": 20,
"total": 0,
"list": []
},
"requestId": "0242ad78-eea2-481d-876a-7cf64398f07f",
"success": true
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| pageNum | 当前页数 | int | 20 | |
| pageSize | 每页返回多少条 | int | 20 | |
| total | 总条数 | int | 20 | |
| list | 纠纷列表 | List | ||
| - status | 纠纷状态 | string | 20 | |
| - id | 纠纷号 | string | 100 | |
| - disputeReason | 纠纷原因 | string | 200 | |
| - replacementAmount | 纠纷补发金额 | BigDecimal | (18,2) | 单位:$(美元) |
| - resendOrderCode | 补发单号 | string | 100 | |
| - money | 最终退款金额 | BigDecimal | (18,2) | 单位:$(美元) |
| - finallyDeal | 最终协商处理结果:1退款 2补发 3拒绝 | integer | 10 | |
| - createDate | 创建时间 | string | 50 | |
| - productList | 商品信息 | Object[] | ||
| -- image | 商品图片 | string | 200 | |
| -- price | 商品价格 | BigDecimal | (18,2) | 单位:$(美元) |
| -- lineItemId | lineItem id | string | 100 | |
| -- cjProductId | 商品id | string | 100 | |
| -- cjVariantId | cj变体id | string | 100 | |
| -- productName | 商品名称 | string | 200 | |
| -- supplierName | 供应商名称 | string | 200 |
error
{
"code": 1600100,
"result": false,
"message": "Param error",
"data": null,
"requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| code | 错误码 | int | 20 | 返回错误码标准表 |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | 接口数据返回 | |||
| requestId | 请求Id | string | 48 | 用于日志查询错误 |
# 6 获取纠纷详情(GET)
# URL
https://developers.cjdropshipping.com/api2.0/v1/disputes/getDisputeDetail
# CURL
curl --location --request GET 'https://developers.cjdropshipping.com/api2.0/v1/disputes/getDisputeDetail' \
--header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
| 参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
|---|---|---|---|---|---|
| disputeId | 纠纷id | string | 是 | 100 |
# 返回
success
{
"code": 200,
"result": true,
"message": "Success",
"data": {
"id": "SH1623673863466725376",
"status": "Processing",
"disputeReason": "Item not received",
"replacementAmount": 0.00,
"resendOrderCode": "",
"money": 12.50,
"refundAmount": 12.50,
"finallyDeal": 1,
"createDate": 1736928600000,
"refundDetails": [
{
"type": "PRODUCT_COST",
"typeName": "商品费",
"amount": 10.00
},
{
"type": "SHIPPING_COST",
"typeName": "物流费",
"amount": 2.50
}
],
"productList": [
{
"image": "https://example.com/image.jpg",
"price": 10.00,
"productCode": "CJPROD001",
"productId": "pid001",
"productName": "Sample Product",
"standId": "vid001",
"supplierName": "Supplier A"
}
]
},
"requestId": "0242ad78-eea2-481d-876a-7cf64398f07f",
"success": true
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| id | 纠纷号 | string | 100 | |
| status | 纠纷状态 | string | 20 | |
| disputeReason | 纠纷原因 | string | 200 | |
| replacementAmount | 纠纷补发金额 | BigDecimal | (18,2) | 单位:$(美元) |
| resendOrderCode | 补发单号 | string | 100 | |
| money | 最终退款金额 | BigDecimal | (18,2) | 单位:$(美元) |
| refundAmount | 最终退款金额 | BigDecimal | (18,2) | 单位:$(美元),与money字段值相同 |
| finallyDeal | 最终协商处理结果:1退款 2补发 3拒绝 | integer | 10 | |
| createDate | 创建时间(时间戳毫秒) | long | 20 | |
| refundDetails | 最终退款明细 | Object[] | ||
| - type | 费用类型 | string | 50 | 如:PRODUCT_COST / SHIPPING_COST / IOSS_TAX / IOSS_HANDLING_FEE |
| - typeName | 费用名称 | string | 50 | 如:商品费 / 物流费 / IOSS税费 / IOSS税费手续费 |
| - amount | 金额 | BigDecimal | (18,2) | 单位:$(美元) |
| productList | 商品信息 | Object[] | ||
| - image | 商品图片 | string | 200 | |
| - price | 商品价格 | BigDecimal | (18,2) | 单位:$(美元) |
| - productCode | 商品code | string | 100 | |
| - productId | 商品id | string | 100 | |
| - productName | 商品名称 | string | 200 | |
| - standId | 商品变体id | string | 100 | |
| - supplierName | 供应商名称 | string | 200 |
error
{
"code": 1600100,
"result": false,
"message": "Param error",
"data": null,
"requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|---|---|---|---|---|
| code | 错误码 | int | 20 | 返回错误码标准表 |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | 接口数据返回 | |||
| requestId | 请求Id | string | 48 | 用于日志查询错误 |
--header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
| 参数名称 | 参数意义 | 参数类型 | 是否必传 | 长度 | 备注 |
|--------------|-----------------------|----------|------|-----|---------------|
| disputeId | 纠纷id | integer | 否 | 10 | |
#### 返回
success
{ "code": 200, "result": true, "message": "Success", "data": { "id": "12345", "status": "Processing", "disputeReason": "Item not received", "productList": [] }, "requestId": "0242ad78-eea2-481d-876a-7cf64398f07f", "success": true }
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
|-------------------|------------------------|------------|-------| --- |
| id | 纠纷号 | string | 100 | |
| status | 纠纷状态 | string | 50 | |
| disputeReason | 纠纷原因 | string | 200 | |
| replacementAmount | 纠纷补发金额 | BigDecimal | (18,2) | 单位:$(美元) |
| resendOrderCode | 补发单号 | string | 100 | |
| money | 最终退款金额 | BigDecimal | (18,2) | 单位:$(美元) |
| finallyDeal | 最终协商处理结果:1退款 2补发 3拒绝 | integer | 10 | |
| createDate | 创建时间 | string | 50 |
| productList | 商品信息 | Object[] | |
| - image | 商品图片 | string | 200 |
| - price | 商品价格 | BigDecimal | (18,2) | 单位:$(美元) |
| - productCode | 商品code | string | 100 |
| - productId | 商品id | string | 100 |
| - productName | 商品名称 | string | 200 |
| - standId | 商品变体id | string | 100 |
| - supplierName | 供应商名称 | string | 200 |
error
{ "code": 1600100, "result": false, "message": "Param error", "data": null, "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1" }
| 返回字段 | 字段意思 | 字段类型 | 长度 | 备注 |
| --- | --- | --- | --- | --- |
| code | 错误码 | int | 20 | [返回错误码标准表](../../api2/standard/ps-code.html) |
| result | 是否正常返回 | boolean | 1 | |
| message | 返回信息 | string | 200 | |
| data | | | | 接口数据返回 |
| requestId | 请求Id | string | 48 | 用于日志查询错误 |