stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.global_product.init_tier_variation
Only for China mainland sellers and Korean sellers. If you only define color, it is one tier, if you define color and size, it is two tier. Support two tier structures at most. This API can change no tier to one tier, no tier to two tier, one tier to two tier, two tier to one tier, one tier to no tier, two tier to no tier. Please create variants after an interval of 5 seconds after creating an item, as there may be a delay.
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | GlobalProduct |
| API type | Merchant |
| HTTP method | POST |
| Path | /api/v2/global_product/init_tier_variation |
| Production URL | https://partner.shopeemobile.com/api/v2/global_product/init_tier_variation |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/global_product/init_tier_variation |
| Rate limit | [0, 0, 0] |
| Permission | ERP System; Seller In House System; Product Management |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| global_model | object[] | Yes | Model info list, model number at most 50 | |
| global_model.original_price | float | Yes | 12.34 | Original price of global model. |
| global_model.seller_stock | object[] | No | seller_stock of global item | |
| global_model.seller_stock.location_id | string | No | CNZ | location_id of stock, if the merchant has 3PF shop, the location_id cannot be empty, can use the get_merchant_warehouse_location_list API to obtain the location_id list of the merchant, if the merchant does not have 3PF shop (only has normal CBSC shop), the location_id can be empty |
| global_model.seller_stock.stock | int64 | Yes | 100 | stock |
| global_model.global_model_sku | string | No | sku | Sku of global model. model_sku length information needs to be no more than 100 characters. |
| global_model.tier_index | int32[] | Yes | [0,1] | Tier index of global model. Index starts from 0.; If you want to update one tier/two tier to no tier, can just pass the tier_variation and standardise_tier_variation as [], and pass the global_model >> tier_index as [], meanwhile pass the original_price, seller_stock, etc., to set the price and stock for the modified product with no tier structure. |
| global_model.weight | float | No | 1.1 | The weight of this global model, the unit is KG.; If don't set the weight of this global model, will use the weight of global item by default.; If set the dimension of this global model, them must set the weight of this global model. |
| global_model.dimension | object | No | The dimension of this global model.; If don't set the dimension of this global model, will use the dimension of global item by default. | |
| global_model.dimension.package_height | int32 | Yes | 11 | The height of package for this global model, the unit is CM. |
| global_model.dimension.package_length | int32 | Yes | 11 | The length of package for this global model, the unit is CM. |
| global_model.dimension.package_width | int32 | Yes | 11 | The width of package for this global model, the unit is CM. |
| global_model.pre_order | object | No | Pre-order information of this global model.; Notes: If don't set the DTS of this global model, will use the DTS of the global item by default. | |
| global_model.pre_order.days_to_ship | int32 | Yes | 2 | Days to ship. Please get the days_to_ship range from the get_dts_limit API. |
| global_item_id | int32 | Yes | 22001469 | ID of global item. |
| standardise_tier_variation | object[] | No | There is at least one standardise_tier_variation and tier_variation.; If you want to update one tier/two tier to no tier, can just pass the tier_variation and standardise_tier_variation as [], and pass the global_model >> tier_index as [], meanwhile pass the original_price, seller_stock, etc., to set the price and stock for the modified product with no tier structure. | |
| standardise_tier_variation.variation_id | int32 | Yes | standardise tier variation ID | |
| standardise_tier_variation.variation_name | string | No | standardise tier variation name | |
| standardise_tier_variation.variation_group_id | int32 | No | standardise tier variation group ID | |
| standardise_tier_variation.variation_option_list | object[] | Yes | standardise tier variation option list | |
| standardise_tier_variation.variation_option_list.variation_option_id | int32 | Yes | standardise tier variation option ID | |
| standardise_tier_variation.variation_option_list.variation_option_name | string | No | standardise tier variation option value | |
| standardise_tier_variation.variation_option_list.image_id | string | No | standardise tier variation option image ID |
§4 Response parameters
Response parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| 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. | ||
| warning | string | Warning message. | ||
| request_id | string | 98eae35efff24dd0974c21a847127184 | The identifier for an 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. | |
| merchant_id | int | 1 | Shopee’s unique identifier for a merchant. Required for all merchant level requests(CB CNSC user calling global product related APIs). | |
| sign | string | e318d3e932719916a9f9ebb57e2011961bd47abfa54a36e040d050d8931596e2 | Signature generated by partner_id, api path, timestamp, access_token, merchant_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
{
"global_model": [
{
"original_price": 12.34,
"seller_stock": [
{
"location_id": "CNZ",
"stock": 100
}
],
"global_model_sku": "sku",
"tier_index": [
0,
1
],
"weight": 1.1,
"dimension": {
"package_height": 11,
"package_length": 11,
"package_width": 11
},
"pre_order": {
"days_to_ship": 2
}
}
],
"global_item_id": 22001469,
"standardise_tier_variation": [
{
"variation_id": 0,
"variation_name": "-",
"variation_group_id": 0,
"variation_option_list": [
{
"variation_option_id": 0,
"variation_option_name": "-",
"image_id": "-"
}
]
}
]
}
§8 Java
Java
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.shopeemobile.com/api/v2/global_product/init_tier_variation?access_token=access_token&merchant_id=merchant_id&partner_id=partner_id&sign=sign×tamp=timestamp")
.header("Content-Type","application/json")
.body("{
\"global_item_id\": 22001469,
\"global_model\": [
{
\"dimension\": {
\"package_height\": 11,
\"package_length\": 11,
\"package_width\": 11
},
\"global_model_sku\": \"sku\",
\"original_price\": 12.34,
\"pre_order\": {
\"days_to_ship\": 2
},
\"seller_stock\": [
{
\"location_id\": \"CNZ\",
\"stock\": 100
}
],
\"tier_index\": [
0,
1
],
\"weight\": 1.1
}
],
\"standardise_tier_variation\": [
{
\"variation_group_id\": 0,
\"variation_id\": 0,
\"variation_name\": \"-\",
\"variation_option_list\": [
{
\"image_id\": \"-\",
\"variation_option_id\": 0,
\"variation_option_name\": \"-\"
}
]
}
],
\"tier_variation\": [
{
\"name\": \"tier 1\",
\"option_list\": [
{
\"image\": {
\"image_id\": \"c54265d475b85e00ffb2404585e32b6f\"
},
\"option\": \"opt\"
}
]
}
]
}")
.asString();
§9 PHP
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/global_product/init_tier_variation?access_token=access_token&merchant_id=merchant_id&partner_id=partner_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 => '{
"global_item_id": 22001469,
"global_model": [
{
"dimension": {
"package_height": 11,
"package_length": 11,
"package_width": 11
},
"global_model_sku": "sku",
"original_price": 12.34,
"pre_order": {
"days_to_ship": 2
},
"seller_stock": [
{
"location_id": "CNZ",
"stock": 100
}
],
"tier_index": [
0,
1
],
"weight": 1.1
}
],
"standardise_tier_variation": [
{
"variation_group_id": 0,
"variation_id": 0,
"variation_name": "-",
"variation_option_list": [
{
"image_id": "-",
"variation_option_id": 0,
"variation_option_name": "-"
}
]
}
],
"tier_variation": [
{
"name": "tier 1",
"option_list": [
{
"image": {
"image_id": "c54265d475b85e00ffb2404585e32b6f"
},
"option": "opt"
}
]
}
]
}',
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/global_product/init_tier_variation?access_token=access_token&merchant_id=merchant_id&partner_id=partner_id&sign=sign×tamp=timestamp' \
--header 'Content-Type: application/json' \
--data-raw '{
"global_item_id": 22001469,
"global_model": [
{
"dimension": {
"package_height": 11,
"package_length": 11,
"package_width": 11
},
"global_model_sku": "sku",
"original_price": 12.34,
"pre_order": {
"days_to_ship": 2
},
"seller_stock": [
{
"location_id": "CNZ",
"stock": 100
}
],
"tier_index": [
0,
1
],
"weight": 1.1
}
],
"standardise_tier_variation": [
{
"variation_group_id": 0,
"variation_id": 0,
"variation_name": "-",
"variation_option_list": [
{
"image_id": "-",
"variation_option_id": 0,
"variation_option_name": "-"
}
]
}
],
"tier_variation": [
{
"name": "tier 1",
"option_list": [
{
"image": {
"image_id": "c54265d475b85e00ffb2404585e32b6f"
},
"option": "opt"
}
]
}
]
}'
§11 Python
Python
import requests
import json
url = "https://partner.shopeemobile.com/api/v2/global_product/init_tier_variation?access_token=access_token&merchant_id=merchant_id&partner_id=partner_id&sign=sign×tamp=timestamp"
payload=json.dumps({
"global_item_id": 22001469,
"global_model": [
{
"dimension": {
"package_height": 11,
"package_length": 11,
"package_width": 11
},
"global_model_sku": "sku",
"original_price": 12.34,
"pre_order": {
"days_to_ship": 2
},
"seller_stock": [
{
"location_id": "CNZ",
"stock": 100
}
],
"tier_index": [
0,
1
],
"weight": 1.1
}
],
"standardise_tier_variation": [
{
"variation_group_id": 0,
"variation_id": 0,
"variation_name": "-",
"variation_option_list": [
{
"image_id": "-",
"variation_option_id": 0,
"variation_option_name": "-"
}
]
}
],
"tier_variation": [
{
"name": "tier 1",
"option_list": [
{
"image": {
"image_id": "c54265d475b85e00ffb2404585e32b6f"
},
"option": "opt"
}
]
}
]
})
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
{
"error": "",
"message": "",
"warning": "",
"request_id": "98eae35efff24dd0974c21a847127184"
}
§14 Error example
Error example
§15 JSON
JSON
{
"error": "product.error_param",
"message": "The level of tier-variation not change.",
"request_id": "6f4dd65712b4239949d4fa01f79ab352"
}
§16 Errors
Errors
| Error | Description | Solution |
|---|---|---|
| add_on.add_on_deal_expired | The expired add on deal can't be edited | |
| 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_param | request not from gateway | |
| error_auth | not all shop is upgraded and confirmed, can not edit item | |
| error_param | The level of tier-variation not change. | |
| error_param | Model tier_index error. | |
| error_param | Image not exist. | |
| error_busi_global_item_not_found | Global item not found. | |
| error_busi_global_item_sku_over_limit | Global item sku is over limit. | |
| error_busi_global_item_price_should_bigger_than_zero | Original_price must bigger than 0. | |
| error_duplicated_variation_option | Tier variation option duplicated. | |
| error_busi_global_tier_option_image_not_equal_to_tier_one_option | Image num of tier_variation option is not equal to option num of tier_variation. | |
| error_inner | Our system is taking some time to respond, please try later. | |
| error_inner | System error, please try again later or contact the OpenAPI support team. | |
| error_inner | Update item failed {{.error_info}} | |
| error_inner | Update item failed {{.error_info}} | |
| error_inner | System error, please try again later or contact the OpenAPI support team. | |
| error_inner | System error, please try again later or contact the OpenAPI support team. | |
| error_permission | Global product related shop is not upgraded. | |
| error_param_validate | Your current merchant is a special merchant.Please ensure all your shop are under same region | |
| error_auth | Your shop can not use model level dts | |
| error_param | You have 3PF shops, please upload stock with location id | |
| error_inner | Invalid stock location ID | |
| error_update_item_price | Update item price fail, operation not allowed | |
| error_update_item_price | Update item price fail, reach item price edit limit for each day | |
| error_update_item_price | Update item price fail, item price should less than the price | |
| error_update_item_price | Update item price fail, mtsku not init | |
| error_update_item_price | Update item price fail, operation not allowed | |
| error_update_item_price | Update item price fail, reach item price edit limit for each day | |
| error_update_item_price | Update item price fail, item price should less than the price | |
| error_update_item_price | Update item price fail, mtsku not init | |
| error_busi | The merchant/shop has multi warehouse, please input location id | |
| error_system_busy | Our system is taking some time to respond, please try later. | |
| error_stock_less_then_min_limit | Normal_stock/ seller_stock is less than min limit. | |
| error_stock_bigger_then_limit | Normal_stock/ seller_stock is bigger than max limit. |
§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. | |
| merchant_no_linked | Partner and merchant has no linked. | |
| invalid_acceess_token | Invalid access_token, please have a check. | |
| partner_frozen | The Partner has been frozen. Permissions for merchant authorization and API calls have been suspended until permissions are restored. | |
| error_param | There is no merchant_id in query. | |
| error_param | merchant_id is invalid, should be an integer between 0 and 4294967295. |
§18 Update log
Update log
| Date | Change |
|---|---|
| 2025-09-15 | The tier_variation structure in the documentation has been deprecated. Please use the standardise_tier_variation structure when uploading variations. |
| 2024-10-23 | sunset the normal_stock |
| 2024-06-27 | support update one tier or two tier to no tier |
| 2024-06-21 | add model level DTS |
| 2024-05-29 | add model level weight and dimension |
