stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.product.get_model_list
Get model list of an item.
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | Product |
| API type | Shop |
| HTTP method | GET |
| Path | /api/v2/product/get_model_list |
| Production URL | https://partner.shopeemobile.com/api/v2/product/get_model_list |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/product/get_model_list |
| Rate limit | [0, 0, 0] |
| Permission | ERP System; Seller In House System; Product Management; Accounting And Finance; Customer Service; Customized APP; Ads Service; Swam ERP; Livestream Management; Ads Facil; Affiliate Marketing Solution Management; Shopee Video Management |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| item_id | int64 | Yes | 178312 | The ID of the item |
§4 Response parameters
Response parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| message | string | Yes | Indicate error details if hit error. Empty if no error happened. | |
| warning | string | Yes | Warning message. | |
| request_id | string | Yes | 75c2b01e50764cec8cfdc61e75c1f26d | The identifier for an API request for error tracking. |
| response | object | Yes | ||
| response.tier_variation | object[] | Yes | Variation config of item. | |
| response.tier_variation.option_list | object[] | Yes | Option list. | |
| response.tier_variation.option_list.option | string | Yes | testsku1 | Option name. |
| response.tier_variation.option_list.image | object | |||
| response.tier_variation.option_list.image.image_id | string | Id of image | ||
| response.tier_variation.option_list.image.image_url | string | Url of image. | ||
| response.tier_variation.name | string | Yes | Variation name. | |
| response.model | object[] | Yes | Model list. | |
| response.model.price_info | object[] | Yes | Price info.; For SG/MY/BR/MX/PL/ES/AR seller: Sellers can set the price with two decimal place, other regions can only set the price as an integer. | |
| response.model.price_info.currency | string | TWD | Currency for the item price. | |
| response.model.price_info.current_price | float | Yes | 100.0 | Current price of item. |
| response.model.price_info.original_price | float | Yes | 100.0 | Original price of item. |
| response.model.price_info.inflated_price_of_original_price | float | Yes | 100.0 | Original price of item after tax. |
| response.model.price_info.inflated_price_of_current_price | float | Yes | 100.0 | Current price of item after tax. |
| response.model.price_info.sip_item_price | float | 100.0 | SIP item price. If item is from SIP primary shop, this field will be returned. | |
| response.model.price_info.sip_item_price_source | string | manual | SIP item price source, could be manual or auto.If item is from SIP primary shop, this field will be returned. | |
| response.model.price_info.sip_item_price_currency | string | CNY | The currency of sip_item_price.If item is from SIP primary shop, this field will be returned. | |
| response.model.price_info.local_price | float | 122.02 | The original price multiplied by the local adjustment rate equals the local price. The local price is denominated in the local currency and is rounded to two decimal places.; <path></path> | |
| response.model.price_info.local_promotion_price | float | 122.02 | During the promotion period, the CB price is multiplied by the local adjustment rate. Once the promotion starts, the price remains unchanged. During the promotion, the local_promotion_price= current_price, which is denominated in the local currency and retained to two decimal places.; <path></path> | |
| response.model.model_id | int64 | Yes | Model ID. | |
| response.model.tier_index | int32[] | Yes | [0, 1] | Tier index of this model. |
| response.model.promotion_id | uint64 | Yes | Current promotion ID of this model. | |
| response.model.has_promotion | boolean | true | Indicates whether the model is currently under any ongoing promotion. | |
| response.model.model_sku | string | blue bag | SKU of this model. the length should be under 100. | |
| response.model.model_status | string | MODEL_NORMAL | The model status. Should be MODEL_NORMAL or MODEL_UNAVAILABLE. MODEL_NORMAL models can be sold on the buyer's side, and MODEL_UNAVAILABLE models cannot be sold on the buyer's side. | |
| response.model.pre_order | object | (Only whitelisted users can use) | ||
| response.model.pre_order.is_pre_order | boolean | false | Pre-order. | |
| response.model.pre_order.days_to_ship | int32 | 3 | The days to ship. | |
| response.model.stock_info_v2 | object | new stock info.; Please check this FAQ for more detail: https://open.shopee.com/faq?top=162&sub=166&page=1&faq=230 | ||
| response.model.stock_info_v2.summary_info | object | stock summary Info | ||
| response.model.stock_info_v2.summary_info.total_reserved_stock | int32 | Stock reserved for promotion.; Note: For SIP P Item, will return the total reserved stock for P Item and all A Items under the P Item. | ||
| response.model.stock_info_v2.summary_info.total_available_stock | int32 | Stock can be sold currently | ||
| response.model.stock_info_v2.seller_stock | object[] | Seller-managed stock | ||
| response.model.stock_info_v2.seller_stock.location_id | string | location id | ||
| response.model.stock_info_v2.seller_stock.stock | int32 | stock in the current warehouse | ||
| response.model.stock_info_v2.seller_stock.if_saleable | boolean | true | To return if the stock of the location id is saleable | |
| response.model.stock_info_v2.shopee_stock | object[] | Shopee warehouse stock | ||
| response.model.stock_info_v2.shopee_stock.location_id | string | location id | ||
| response.model.stock_info_v2.shopee_stock.stock | string | stock | ||
| response.model.stock_info_v2.advance_stock | object | Only for PH/VN/ID/MY local selected shops. | ||
| response.model.stock_info_v2.advance_stock.sellable_advance_stock | int32 | Refers to Advance Fulfillment stock that Seller has shipped out and is available to be used to fulfill an order. | ||
| response.model.stock_info_v2.advance_stock.in_transit_advance_stock | int32 | Refers to Advance Fulfillment stock that seller has shipped out and is still in transit and unavailable to be used to fulfill an order. | ||
| response.model.gtin_code | string | (Only TW seller and BR local seller available) gtin code. | ||
| response.model.weight | string | "1.1" | The weight of this model, the unit is KG.; If don't set the weight of this model, will use the weight of item by default. | |
| response.model.dimension | object | The dimension of this model.; If don't set the dimension of this model, will use the dimension of item by default. | ||
| response.model.dimension.package_height | int32 | 11 | The height of package for this model, the unit is CM. | |
| response.model.dimension.package_length | int32 | 11 | The length of package for this model, the unit is CM. | |
| response.model.dimension.package_width | int32 | 11 | The width of package for this model, the unit is CM. | |
| response.model.is_fulfillment_by_shopee | boolean | whether model is fulfillment by shopee | ||
| response.standardise_tier_variation | object[] | Standardise Variation config of item. | ||
| response.standardise_tier_variation.variation_id | int64 | Standardise Variation ID | ||
| response.standardise_tier_variation.variation_name | string | Standardise Variation Name | ||
| response.standardise_tier_variation.variation_group_id | int64 | Standardise Variation Group ID | ||
| response.standardise_tier_variation.variation_option_list | object[] | Standardise Variation Option List | ||
| response.standardise_tier_variation.variation_option_list.variation_option_id | int64 | Standardise Option ID | ||
| response.standardise_tier_variation.variation_option_list.variation_option_name | string | Standardise Option Name | ||
| response.standardise_tier_variation.variation_option_list.image_id | string | ID of image | ||
| response.standardise_tier_variation.variation_option_list.image_url | string | URL of image | ||
| error | string | Yes | Indicate error type if hit error. Empty if no error happened. |
§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 Java
Java
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://partner.shopeemobile.com/api/v2/product/get_model_list?access_token=access_token&item_id=178312&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp")
.asString();
§8 PHP
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/product/get_model_list?access_token=access_token&item_id=178312&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 => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
§9 cURL
cURL
curl --location --request GET 'https://partner.shopeemobile.com/api/v2/product/get_model_list?access_token=access_token&item_id=178312&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp'
§10 Python
Python
import requests
url = "https://partner.shopeemobile.com/api/v2/product/get_model_list?access_token=access_token&item_id=178312&partner_id=partner_id&shop_id=shop_id&sign=sign×tamp=timestamp"
payload={}
headers = {
}
response = requests.request("GET",url,headers=headers, data=payload, allow_redirects=False)
print(response.text)
§11 Response sample
Response sample
§12 JSON
JSON
{
"message": "-",
"warning": "-",
"request_id": "75c2b01e50764cec8cfdc61e75c1f26d",
"response": {
"tier_variation": [
{
"option_list": [
{
"option": "testsku1",
"image": {
"image_id": "-",
"image_url": "-"
}
}
],
"name": "-"
}
],
"model": [
{
"price_info": [
{
"currency": "TWD",
"current_price": 100,
"original_price": 100,
"inflated_price_of_original_price": 100,
"inflated_price_of_current_price": 100,
"sip_item_price": 100,
"sip_item_price_source": "manual",
"sip_item_price_currency": "CNY"
}
],
"model_sku": "blue bag",
"model_status": "MODEL_NORMAL",
"pre_order": {
"is_pre_order": false,
"days_to_ship": 3
},
"stock_info_v2": {
"summary_info": {
"total_reserved_stock": 0,
"total_available_stock": 0
},
"seller_stock": [
{
"location_id": "-",
"stock": 0,
"if_saleable": true
}
],
"shopee_stock": [
{
"location_id": "-",
"stock": "-"
}
]
},
"gtin_code": "-",
"weight": "1.1",
"dimension": {
"package_height": 11,
"package_length": 11,
"package_width": 11
},
}
],
"standardise_tier_variation": [
{
"variation_name": "-",
"variation_option_list": [
{
"variation_option_name": "-",
"image_id": "-",
"image_url": "-"
}
]
}
]
},
"error": "-"
}
§13 Error example
Error example
§14 JSON
JSON
{
"error": "product.error_param",
"message": "invalid field ItemId: value must Not Null",
"request_id": "a48d523f688e20f593446846638360d9"
}
§15 Errors
Errors
| Error | Description | Solution |
|---|---|---|
| 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 | |
| error_shop_not_found | Shop is not found. | |
| error_item_not_found | Item_id is not found. | |
| error_param_shop_id_not_found | Shop_id is not found. | |
| error_data | error data | |
| 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_item_not_found | Product not found | |
| 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_auth | The location_id input is not matched the shop's location_id(more/wrong). Please double check. | |
| error_auth | Lack of location_id, please double check. | |
| error_auth | Please wait for the holiday mode set then to edit item. Please try later. | |
| error_auth | Total stock must be more than reserved stock. | |
| error_param | {{.error_info}} | |
| error_auth | Your shop can not use model level dts | |
| error_auth | You do not have right to use seller location_id, please only fill seller_stock filed. | |
| error.param | Can not update item with stock less than reserved stock | |
| error_param | Can not update item with different stock structure. Can only update seller stock with location id when existing seller stock have location id. Can only update seller stock without location id when existing seller stock without location id. | |
| error_param | Can not update item with stock less than reserve stock | |
| error_auth | Stock should be larger than reserved stock. | |
| error_system_busy | Our system is taking some time to respond, please try later. | |
| error_param | Can not update item with different stock structure. Can only update seller stock with location id when existing seller stock have location id. Can only update seller stock without location id when existing seller stock without location id. |
§16 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. |
§17 Update log
Update log
| Date | Change |
|---|---|
| 2026-07-31 | promotion_id type change to uint64 |
| 2025-11-07 | add new response field "has_promotion" |
| 2025-09-05 | add to new response field "local_promotion_price"and "local_price" |
| 2025-02-17 | Add is_fulfillment_by_shopee |
| 2024-11-01 | Update the description of total_reserved_stock to return the total reserved stock for P Item and all A Items under the P Item |
