stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.order.split_order
Use this api to split an order into multiple packages. Orders that include installation services cannot be split by quantity.
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | Order |
| API type | Shop |
| HTTP method | POST |
| Path | /api/v2/order/split_order |
| Production URL | https://partner.shopeemobile.com/api/v2/order/split_order |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/order/split_order |
| Rate limit | [0, 0, 0] |
| Permission | ERP System; Seller In House System; Order Management; Swam ERP |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| order_sn | string | Yes | 2012300NQJVTYN | Shopee's unique identifier for an order. |
| package_list | object[] | Yes | The list of packages that you want to split.; Note: - Orders that include installation services cannot be split by quantity.; - When splitting the order, must contain all items in the order in one request.; - You can split the order into 30 parcels at most in TW and 5 parcels at most in other regions. | |
| package_list.item_list | object[] | Yes | The list of items under the same package. | |
| package_list.item_list.item_id | int64 | Yes | 3600140554 | Shopee's unique identifier for an item. |
| package_list.item_list.model_id | int64 | Yes | 10000605797 | Shopee's unique identifier for a model of an item. For single item without variation, you can set model_id as 0. |
| package_list.item_list.order_item_id | int | 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. | |
| package_list.item_list.promotion_group_id | int | 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. | |
| package_list.item_list.model_quantity | int32 | No | 2 | The number of identical items put in the package, the quantity sum of the same item from each parcel must be the full item quantity of the whole order.; This field is only eligible for the shop whitelisted to the unit-level split in SG/TH/TW/MY markets. |
§4 Response parameters
Response parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| error | string | common.error_auth | Indicate error type if hit error. Empty if no error happened. | |
| message | string | Invalid access_token. | Indicate error details if hit error. Empty if no error happened. | |
| response | object | Detail informations you are querying. | ||
| response.order_sn | string | 2012300NQJVTYN | Shopee's unique identifier for an order. | |
| response.package_list | object[] | The list of package under this order you have split. | ||
| response.package_list.package_number | string | 2521728636547073446 | Shopee's unique identifier for the package under an order. | |
| response.package_list.item_list | object[] | The list of items under this package. | ||
| response.package_list.item_list.item_id | int64 | 3600140567 | Shopee's unique identifier for an item. | |
| response.package_list.item_list.model_id | int64 | 2000502199 | Shopee's unique identifier for a model. | |
| response.package_list.item_list.order_item_id | int | 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. | ||
| response.package_list.item_list.promotion_group_id | int | The identify of product promotion. For items in one same add on deal promotion, the promotion_group_id should share the same id. For items not in add on deal promotion, the promotion_group_id should be 0. And the data is from group_id of shopee.orders.GetOrderDetails. | ||
| response.package_list.item_list.model_quantity | int | The number of identical items put in the package. | ||
| request_id | string | 02a3a65749ea47d2b4bba11e1ea30056 | The identifier of the API request for error tracking. |
§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": "230914AV5TVWC2",
"package_list": [
{
"item_list": [
{
"item_id": 101089151,
"model_id": 10004405040,
"order_item_id":1,
"model_quantity": 2
}
]
},
{
"item_list": [
{
"item_id": 843019657,
"model_id": 10004737397,
"order_item_id": 2,
"model_quantity": 1
}
]
},
{
"item_list": [
{
"item_id": 843019657,
"model_id": 10004737397,
"order_item_id":2,
"model_quantity": 1
}
]
}
]
}
§8 Java
Java
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.shopeemobile.com/api/v2/order/split_order?access_token=access_token×tamp=timestamp&shop_id=shop_id&partner_id=partner_id&sign=sign")
.header("Content-Type","application/json")
.body("{
\"order_sn\": \"2012300NQJVTYN\",
\"package_list\": [
{
\"item_list\": [
{
\"item_id\": 3600140554,
\"model_id\": 10000605797,
\"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/split_order?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",
"package_list": [
{
"item_list": [
{
"item_id": 3600140554,
"model_id": 10000605797,
"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/split_order?access_token=access_token×tamp=timestamp&shop_id=shop_id&partner_id=partner_id&sign=sign' \
--header 'Content-Type: application/json' \
--data-raw '{
"order_sn": "2012300NQJVTYN",
"package_list": [
{
"item_list": [
{
"item_id": 3600140554,
"model_id": 10000605797,
"order_item_id": 0,
"promotion_group_id": 0
}
]
}
]
}'
§11 Python
Python
import requests
import json
url = "https://partner.shopeemobile.com/api/v2/order/split_order?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp"
payload=json.dumps({
"order_sn": "2012300NQJVTYN",
"package_list": [
{
"item_list": [
{
"item_id": 3600140554,
"model_id": 10000605797,
"order_item_id": 0,
"promotion_group_id": 0
}
]
}
]
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST",url,headers=headers, data=payload, allow_redirects=False)
print(response.text)
§12 Response sample
Response sample
§13 JSON
JSON
{
"error": "",
"message": "",
"request_id": "e54894ee0160e1e4a52b108b5a845f41:000000c23066d66c:0000000000000000",
"response": {
"order_sn": "230914AV5TVWC2",
"package_list": [
{
"item_list": [
{
"item_id": 101089151,
"model_id": 10004405040,
"model_quantity": 2,
"order_item_id": 1,
"promotion_group_id": 0
}
],
"package_number": "OFG148375269133791"
},
{
"item_list": [
{
"item_id": 843019657,
"model_id": 0,
"model_quantity": 1,
"order_item_id": 2,
"promotion_group_id": 0
}
],
"package_number": "OFG148375269133792"
},
{
"item_list": [
{
"item_id": 843019657,
"model_id": 0,
"model_quantity": 1,
"order_item_id": 2,
"promotion_group_id": 0
}
],
"package_number": "OFG148375269133793"
}
]
}
}
§14 Error example
Error example
§15 JSON
JSON
{
"request_id":"9798c9d7e89d61beac9063734558ae0d",
"error":"error_param",
"msg":"Split order failed, please try again."
}
§16 Errors
Errors
| Error | Description | Solution |
|---|---|---|
| error_not_found | Wrong parameters, detail: {msg}. | |
| error_param | Wrong parameters, detail: {msg}. | |
| error_permission | Sorry you don't have the permission, detail: {msg}. | |
| error_server | System error. Please try again later. | |
| order.order_cannot_split | You don’t have the permission to split order. | |
| order.order_cannot_split_pff | Cannot split this warehouse order. | |
| order.order_has_been_split | This order has already been split. | |
| order.order_split_duplicate_item | Cannot split order with duplicate items. | |
| order.order_split_failed | Split order failed, please try again. | |
| order.order_split_failed | Cannot split order paid by Credit Card Installment payment method or SPayLater payment method with instalment plan greater then 1x. | |
| order.order_split_get_package_info_failed | Split order succeed, but failed to get the new package info. | |
| error_param | The size of package list is over limit. | |
| order.order_split_item_not_exist | Cannot split order with invalid items. | |
| order.order_split_package_missing_item | Cannot split order with missing items. | |
| order.order_split_wrong_item_position | Cannot split order with items in one bundle-deal or add-on deal into different packages. | |
| order.order_split_wrong_item_quantity | Cannot split order with wrong model quantity | |
| error_network | Inner http call failed | |
| error_data | parse data failed | |
| error_data | data not exist | |
| error_param | parameter 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_param | request not from gateway |
§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 |
|---|---|
| 2023-12-28 | add new request field "model_quantity" for the eligible sellers to the unit-level split. |
| 2022-11-09 | update desc of promotion_group_id |
| 2021-04-19 | add order_item_id and promotion_group_id |
