stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.order.get_estimate_cancel_value
Returns the estimated refund value for a partial order cancellation given the specified items to cancel.
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | Order |
| API type | Shop |
| HTTP method | POST |
| Path | /api/v2/order/get_estimate_cancel_value |
| Production URL | https://partner.shopeemobile.com/api/v2/order/get_estimate_cancel_value |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/order/get_estimate_cancel_value |
| Permission | ERP System; Seller In House System; Order Management |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| order_sn | string | Yes | 2012300NQJVTYN | Shopee's unique identifier for an order. |
| partial_cancel_item_list | object[] | Yes | The list of item models and quantities for which the seller wants to estimate the cancellation value before submitting the actual partial cancellation request. | |
| partial_cancel_item_list.item_id | int64 | Yes | 1680783 | The unique identifier of the item to be included in the estimated cancellation value calculation. |
| partial_cancel_item_list.model_id | int64 | Yes | 327890123 | The unique identifier of the model to be included in the estimated cancellation value calculation. |
| partial_cancel_item_list.order_item_id | int64 | No | The identify of order item. For items in one same bundle deal promotion, the order_item_id should share the same id, such as 1,2. For items not in bundle deal promotion, the order_item_id should be the same as item_id. | |
| partial_cancel_item_list.promotion_group_id | int64 | No | The identify of product promotion.It's required for add on deal and bundle deal items. For items in one same add on deal or bundle deal promotion, the promotion_group_id should share the same id. For items not in add on deal or bundle deal promotion, the promotion_group_id should be 0. And the data is from promotion_group_id of v2,order.get_order_detail. | |
| partial_cancel_item_list.model_quantity | int64 | Yes | 2 | The quantity of the specified item model to be included in the estimated cancellation value calculation. |
§4 Response parameters
Response parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| cancel_value_price | string | 1000 | The estimated cancellation value for the selected item quantities. This value is calculated before the actual cancellation is submitted and can be used by sellers to preview the expected cancellation amount and support partial cancellation confirmation. |
§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
{
"order_sn": "2012300NQJVTYN",
"partial_cancel_item_list": [
{
"item_id": 1680783,
"model_id": 327890123,
"order_item_id": 0,
"promotion_group_id": 0,
"model_quantity": 2
}
]
}
§8 Java
Java
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.shopeemobile.com/api/v2/order/get_estimate_cancel_value?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp")
.header("Content-Type","application/json")
.body("{
\"order_sn\": \"2012300NQJVTYN\",
\"partial_cancel_item_list\": [
{
\"item_id\": 1680783,
\"model_id\": 327890123,
\"model_quantity\": 2,
\"order_item_id\": 0,
\"promotion_group_id\": 0
}
]
}")
.asString();
§9 PHP
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/order/get_estimate_cancel_value?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 => '{
"order_sn": "2012300NQJVTYN",
"partial_cancel_item_list": [
{
"item_id": 1680783,
"model_id": 327890123,
"model_quantity": 2,
"order_item_id": 0,
"promotion_group_id": 0
}
]
}',
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/order/get_estimate_cancel_value?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp' \
--header 'Content-Type: application/json' \
--data-raw '{
"order_sn": "2012300NQJVTYN",
"partial_cancel_item_list": [
{
"item_id": 1680783,
"model_id": 327890123,
"model_quantity": 2,
"order_item_id": 0,
"promotion_group_id": 0
}
]
}'
§11 Python
Python
import requests
import json
url = "https://partner.shopeemobile.com/api/v2/order/get_estimate_cancel_value?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp"
payload=json.dumps({
"order_sn": "2012300NQJVTYN",
"partial_cancel_item_list": [
{
"item_id": 1680783,
"model_id": 327890123,
"model_quantity": 2,
"order_item_id": 0,
"promotion_group_id": 0
}
]
})
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
{
"cancel_value_price": "1000"
}
§14 Errors
Errors
| Error | Description | Solution |
|---|---|---|
| error_not_found | Wrong parameters, detail: {msg}. | |
| error_param | Wrong parameters, detail: {msg}. | |
| error_server | System error. Please try again later. | |
| common.invalid_shop | Shop id is invalid. Please check your shop. |
§15 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. |
§16 Update log
Update log
| Date | Change |
|---|---|
| 2026-06-25 | update the request field from “update cancel_value” to “cancel_value_price“ |
| 2026-05-22 | New API |
