stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.returns.dispute
Dispute return. Support to raise dispute when return_status in REQUESTED / PROCESSING/ACCEPTED
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | Returns |
| API type | Shop |
| HTTP method | POST |
| Path | /api/v2/returns/dispute |
| Production URL | https://partner.shopeemobile.com/api/v2/returns/dispute |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/returns/dispute |
| Rate limit | [0, 0, 0] |
| Permission | ERP System; Seller In House System; Customer Service; Swam ERP |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| return_sn | string | Yes | 24112301K66SQXM | The serial number of return. |
| string | Yes | test@example.com | The email address. | |
| dispute_reason_id | int32 | Yes | 50 | The dispute reason id.; Please call v2.returns.get_return_dispute_reason to get it. |
| image_list | object[] | No | Determines whether image submission is mandatory for the dispute request - mandatory input field for all dispute reasons except "Did not receive the return product". | |
| image_list.module_index | int32 | Yes | 1 | The module_index of current evidence module returned by get_return_dispute_reason API. |
| image_list.requirement | string | Yes | Photo(s) or Video of unboxing the returned parcel with the consignment note (Airway Bill). | The requirement content of current evidence module returned by get_return_dispute_reason API. |
| image_list.image_url | string[] | Yes | ["https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg","https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg"] | The image URLs of current evidence module. It is recommended to pass in the URL returned by convert_image API. |
| dispute_text_reason | string | No | Received return item(s), buyer's claim incorrect | The content of dispute reason. |
§4 Response parameters
Response parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| request_id | string | openapi-e3e3e7f3291217bb0b0d5a1ffe501701:0100027ec9bf2af2:00000016da662a54 | The identifier for an API request for error tracking. | |
| error | string | Indicate error type if hit error. Empty if no error happened. | ||
| message | string | Indicate error details if hit error. Empty if no error happened. | ||
| response | object | |||
| response.return_sn | string | 200203171852695 | The serial number of return. | |
| response.msg | string | dispute return success |
§5 Common parameters
Common parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| partner_id | int | 1 | Partner ID is assigned upon registration is successful. Required for all requests. | |
| timestamp | timestamp | 1610000000 | This is to indicate the timestamp of the request. Required for all requests. Expires in 5 minutes. | |
| access_token | string | c09222e3fc40ffb25fc947f738b1abf1 | The token for API access, using to identify your permission to the api. Valid for multiple use and expires in 4 hours. | |
| shop_id | int | 600000 | Shopee's unique identifier for a shop. Required param for most APIs. | |
| sign | string | e318d3e932719916a9f9ebb57e2011961bd47abfa54a36e040d050d8931596e2 | Signature generated by partner_id, api path, timestamp, access_token, shop_id and partner_key via HMAC-SHA256 hashing algorithm. More details: https://open.shopee.com/documents?module=87&type=2&id=58&version=2 |
§6 Request samples
Request samples
§7 Payload
Payload
{
"return_sn": "24112301K66SQXM",
"email": "test@example.com",
"dispute_reason_id": 50,
"image_list": [
{
"module_index": 1,
"requirement": "Photo(s) or Video of unboxing the returned parcel with the consignment note (Airway Bill).",
"image_url": [
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg",
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg"
]
},
{
"module_index": 2,
"requirement": "Photo(s) or Video of all returned item(s) ",
"image_url": [
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg",
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg"
]
},
{
"module_index": 3,
"requirement": "Photo(s) or Video while packing the parcel with the consignment note (Airway Bill).",
"image_url": [
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg",
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg"
]
},
{
"module_index": 4,
"requirement": "Photo or Video of the product that is follow the details in description.",
"image_url": [
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg",
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg"
]
}
],
"dispute_text_reason": "Received return item(s), buyer's claim incorrect"
}
§8 Java
Java
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.shopeemobile.com/api/v2/returns/dispute?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp")
.header("Content-Type","application/json")
.body("{
\"dispute_reason_id\": 50,
\"dispute_text_reason\": \"Received return item(s), buyer's claim incorrect\",
\"email\": \"test@example.com\",
\"image_list\": [
{
\"image_url\": [
\"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg\",
\"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg\"
],
\"module_index\": 1,
\"requirement\": \"Photo(s) or Video of unboxing the returned parcel with the consignment note (Airway Bill).\"
}
],
\"return_sn\": \"24112301K66SQXM\"
}")
.asString();
§9 PHP
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/returns/dispute?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"dispute_reason_id": 50,
"dispute_text_reason": "Received return item(s), buyer\\'s claim incorrect",
"email": "test@example.com",
"image_list": [
{
"image_url": [
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg",
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg"
],
"module_index": 1,
"requirement": "Photo(s) or Video of unboxing the returned parcel with the consignment note (Airway Bill)."
}
],
"return_sn": "24112301K66SQXM"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
§10 cURL
cURL
curl --location --request POST 'https://partner.shopeemobile.com/api/v2/returns/dispute?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp' \
--header 'Content-Type: application/json' \
--data-raw '{
"dispute_reason_id": 50,
"dispute_text_reason": "Received return item(s), buyer\'s claim incorrect",
"email": "test@example.com",
"image_list": [
{
"image_url": [
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg",
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg"
],
"module_index": 1,
"requirement": "Photo(s) or Video of unboxing the returned parcel with the consignment note (Airway Bill)."
}
],
"return_sn": "24112301K66SQXM"
}'
§11 Python
Python
import requests
import json
url = "https://partner.shopeemobile.com/api/v2/returns/dispute?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp"
payload=json.dumps({
"dispute_reason_id": 50,
"dispute_text_reason": "Received return item(s), buyer's claim incorrect",
"email": "test@example.com",
"image_list": [
{
"image_url": [
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_e9c9e5473d3345d08671a8cc3bc1a6de.jpg",
"https://fileproxy.scsusercontent.com/api/v2/files/c2hvcGVlLWRyYzAx/bf10d801_1733e9f051994b56ae748d4ebd40d0ee.jpg"
],
"module_index": 1,
"requirement": "Photo(s) or Video of unboxing the returned parcel with the consignment note (Airway Bill)."
}
],
"return_sn": "24112301K66SQXM"
})
headers = {
'Content-Type': 'application/json'
}
response = requests.RPCRequest("POST",url,headers=headers, data=payload, allow_redirects=False)
print(response.text)
§12 Response sample
Response sample
§13 JSON
JSON
{
"request_id": "33e099960cdf420393ca5d5c35016f6d",
"error": " ",
"message": " ",
"response": {
"return_sn": "200203171852695",
"msg":"dispute return success"
}
}
§14 Error example
Error example
§15 JSON
JSON
{
"error": "returnsn.illegal",
"message": "Return status does not allow initiating a dispute case(From dispute side)",
"request_id": "openapi-eed6a7319bcddbbcfcf4933aa93c2641"
}
§16 Errors
Errors
| Error | Description | Solution |
|---|---|---|
| err_data | Cannot accept your own offer. | |
| error_param | All images download fail | |
| error_banned | Core server error. | |
| error_perm | Core server error. | |
| error_param | Core server error. | |
| error_param | Core server error. | |
| error_param | Core server error. | |
| error_limit | Core server error. | |
| error_deleted | Core server error. | |
| error_disabled | Core server error. | |
| error_param | Core server error. | |
| error_exception | Core server error. | |
| error_exist | Core server error. | |
| error_expire | Core server error. | |
| error_fraud | Core server error. | |
| error_limit | Core server error. | |
| error_perm | Core server error. | |
| error_invitation | Core server error. | |
| error_param | Core server error. | |
| error_param | Core server error. | |
| error_locked | Core server error. | |
| error_perm | Core server error. | |
| error_need_voice_otp | Core server error. | |
| error_param | Core server error. | |
| error_need_otp | Core server error. | |
| error_message_censored | Core server error. | |
| error_network | Core server error. | |
| error_not_exists | Core server error. | |
| error_not_login | Core server error. | |
| error_out_stockm | Core server error. | |
| error_param_format | Core server error. | |
| error_password_change | Core server error. | |
| error_perm | Core server error. | |
| error_param | Core server error. | |
| error_param | Core server error. | |
| error_param | Core server error. | |
| error_param | Core server error. | |
| error_limit | Core server error. | |
| error_unknown | Core server error. | |
| error_account | Core server error. | |
| error_version | Core server error. | |
| dispute.request.param.error | Can't raise dispute because the dispute reason is empty | |
| error_perm | invalid dispute_reason. | |
| dispute.request.param.error | dispute.request.param.error | |
| dispute.rr.not.allow | dispute.rr.not.allow | |
| dispute.request.param.error | Input invalid email=[] | |
| error_param | no partner_id | |
| error_data | lack of param | |
| dispute.request.param.error | can't raise dispute because the requirement and dispute reason ID does not match | |
| dispute.request.param.error | Invalid images, images max size is 3 per module | |
| dispute.request.param.error | Unable to raise dispute as mandatory module index is missing | |
| returnsn.illegal | Return status does not allow initiating a dispute case(From dispute side) | |
| returns.dispute_is_dry_run | Dispute validation passed, but will not submit as this is a dry run | |
| dispute.request.param.error | can't raise dispute because mandatory evidence is missing | |
| dispute.request.param.error | Can't raise dispute because the return_sn and dispute_reason_id does not match. | |
| dispute.request.param.error | Invalid images, images max size is 3. | |
| error_perm | there is invalid params. | |
| error_data | Something wrong. Please try later. [20] | |
| error_network | Inner http call failed | |
| error_network | Inner error, please try later. [4]. | |
| error_inner | Inner error, please try later. [0]. | |
| error_data | Inner error, please try later. [5]. | |
| error_data | parse data failed | |
| error_data | data not exist | |
| error_param | parameter invalid | |
| error_param | Inner error, please try later. [1]. | |
| error_data | Query offer info failed. Please try later. | |
| error_data | Query order info failed. Please try later. | |
| error_data | Query proof info failed. Please try later. | |
| error_data | Query return info failed. Please try later. | |
| error_data | Get user info failed. Please try later. | |
| error_perm | invalid email : {email}. | |
| error_param | Return SN or ID is invalid. | |
| error_param | The information you queried is not found. | |
| error_param | Wrong parameters, detail: {msg}. | |
| error_server | Something wrong. Please try later. | |
| error_shop | shopid is invalid | |
| error_data | The return case is missing initial evidence from the buyer and will be auto-cancelled if the buyer does not provide evidence by the due date. | |
| error_param | request not from gateway | |
| error_return_status | Cannot raise dispute because return SN is not in REQUESTED, RETURN_PROCESSING, or RETURN_ACCEPTED | |
| dispute.request.param.error | Key: 'XXX' Error:Field validation for 'XX' failed on the 'required' tag | |
| error_data | Invalid return status: {status} | |
| error_data | Shopee is reviewing the case and will get back to you. | |
| error_data | The return you queried doesn't exist. | |
| returnsn.illegal | return sn is illegal | |
| dispute.request.param.error | The return_sn you requested was not queried, please check it | |
| dispute.request.param.error | return_sn is a required parameter | |
| return.status.illegal | dms return status error | |
| error_data | Shopee is reviewing the case and will get back to you. | |
| error_data | Shopee is reviewing the case and will get back to you. | |
| error_permission | Please link shop and partner on seller center. |
§17 Common errors
Common errors
| Error | Description | Solution |
|---|---|---|
| error_auth | partner_id is invalid | |
| error_auth | The App is deleted, and you'll be unable to make any API call. | |
| error_auth | App developer’s permissions for authorizations have been restricted. If you’re a seller, contact the developer for more information. If you’re the developer, refer to the Open Platform Console for details. | |
| error_param | There is no partner_id in query. | |
| error_param | Invalid partner_id. | |
| error_param | no timestamp | |
| error_param | Invalid timestamp | |
| error_param | There is no sign in query. | |
| error_sign | Wrong sign. | |
| invalid_partner_id | Invalid partner_id, please have a check. | |
| error_auth | No permission to current api. | |
| error_api_call_restricted | The App permission for api call have been restricted. If you’re a seller, contact the developer for more information. If you’re the developer, refer to the Open Platform Console for details. | |
| api_suspended | The API is offline. Please call v2 API instead. | |
| error_limit | The total API call number made by your APP has reached the daily API call limit, please try again after 00: 00 (UTC+08:00) | |
| error_rate_limit | Too many requests. You have reached the rate limit. Please try again later. | |
| source_ip_undeclared | Request Source IP ({ip}) is undeclared. Please declare all your IP addresses in the Shopee Open Platform Console > App list > IP Address Whitelist | |
| error_param | Permission denied. This API is currently offline or the request path is incorrect. | |
| error_param | Partner_id is invalid, should be an integer between 0 and 4294967295. | |
| error_param | no timestamp. | |
| error_param | Timestamp is invalid, should be an integer between 0 and 4294967295. | |
| error_param | Timestamp is expired. | |
| error_partner_key_expired | Your API partner key has expired, please reset the Live API Partner Key in Console to get a new valid partner key to call open api. | |
| error_api_permission | This app type has no permission to this API. | |
| error_param | There is no access_token in query. | |
| error_auth | Invalid access_token. | |
| error_auth | Invalid partner_id or shopid. | |
| shop_no_linked | Partner and shop has no linked. | |
| shop_banned | The shop account has been banned. Permissions for shop authorization and API calls have been suspended until the shop account is restored. | |
| invalid_acceess_token | Invalid access_token, please have a check. | |
| partner_shop_no_link | Invalid partner_id or shop_id, please have a check. | |
| error_ashop_api_permission | The shop is Affiliate shop has no permission to call this API. | |
| error_kyc_auth | No permission. Please inform the seller to complete the Seller Registration on Shopee Seller Center first, then this shop can call for this API. | |
| error_auth | System error, please try again later. | |
| error_param | There is no shop_id in query. | |
| error_param | shop_id is invalid, should be an integer between 0 and 4294967295. |
§18 Update log
Update log
| Date | Change |
|---|---|
| 2025-12-05 | Updated description of image_list field |
| 2024-12-31 | Add new image_list request parameter |
| 2024-05-07 | sunset the request filed "dispute_reason", please follow the new flow to raise dispute, may refer https://open.shopee.cn/announcements/883 |
| 2023-12-29 | add new request field "dispute_reason_id" |
| 2022-11-09 | add dispute_reason enum values |
