快工助手跨境电商知识与商机助手

v2.product.add_model

Shopee 官方资料 · Shopee Open Platform 接口参考 · 适合开发者

stable本次发布有变化全部展示

来自 Shopee 官方资料快照 ·

打开官方原文 ↗
  1. 当前资料结构化阅读页
  2. 固定快照已留存,可追溯
  3. 官方原文可核对
查看技术与溯源信息
平台 / profile
Shopee / profile.shopee.api_reference
语言
en-US
发布版本
cn-20260909-2
标签
zhuge/sourceplatform/shopeeaudience/developercategory/api_doctopic/apitopic/developer

资料正文

§1 v2.product.add_model

Add model. More detail please check: https://open.shopee.com/developer-guide/219

#

§2 Overview

Overview

FieldValue
ModuleProduct
API typeShop
HTTP methodPOST
Path/api/v2/product/add_model
Production URLhttps://partner.shopeemobile.com/api/v2/product/add_model
Sandbox URLhttps://partner.test-stable.shopeemobile.com/api/v2/product/add_model
Rate limit[0, 0, 0]
PermissionERP System; Seller In House System; Product Management
#

§3 Request parameters

Request parameters

NameTypeRequiredSampleDescription
item_idint64Yes1000ID of item
model_listobject[]YesModel list
model_list.tier_indexint32[]Yes[0]Tier index of model
model_list.original_pricefloatYes38.3Normal stock for price
model_list.model_skustringNoSKUSeller sku, model_sku length information needs to be no more than 100 characters.
model_list.seller_stockobject[]Yesnew stock info for model(Please notice that stock(including Seller Stock and Shopee Stock) should be larger than or equal to real-time reserved stock)
model_list.seller_stock.location_idstringNolocation id, you can get the location id from v2.shop.get_warehouse_detail api, if seller don't have any warehouse, you don't need to upload this field.
model_list.seller_stock.stockint32Yesstock
model_list.gtin_codestringNo- GTIN is an identifier for trade items, developed by the international organization GS1. - They have 8 to 14 digits. The most common are UPC, EAN, JAN and ISBN. - GTIN will help boost positioning in online marketing channels like Google and Facebook. - That incorporation with GTIN will also aid in Search and Recommendation in Shopee itself allowing buyers to have higher likelihood of finding one's listing.; Note: If you want to set “Item without GTIN”, please pass the gtin_code as "00". The validation rule is based on the value return in gtin_validation_rule" field in v2.product.get_item_limit API; - Mandatory: This field is required and must contain a correctly formatted GTiN number.; - Flexible: This field is required and must contain either a correctly formatted GTlN number or "00" to declare that the item/model has no valid GTlN. - Optional: This field is optional and can contain a correctly formatted GTiN number, "00" or be omitted entirely.
model_list.weightfloatNo1.1The 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.; If set the dimension of this model, them must set the weight of this model.
model_list.dimensionobjectNoThe dimension of this model.; If don't set the dimension of this model, will use the dimension of item by default.
model_list.dimension.package_heightint32Yes11The height of package for this model, the unit is CM.
model_list.dimension.package_lengthint32Yes11The length of package for this model, the unit is CM.
model_list.dimension.package_widthint32Yes11The width of package for this model, the unit is CM.
model_list.pre_orderobjectNoPre-order information of this model.; Notes: If don't set the DTS of this model, will use the DTS of the item by default.
model_list.pre_order.is_pre_orderbooleanYesfalseWhether the model is pre order.
model_list.pre_order.days_to_shipint32No2Days to ship. Please get the days_to_ship range from the get_dts_limit API.
#

§4 Response parameters

Response parameters

NameTypeRequiredSampleDescription
errorstringIndicate error type if hit error. Empty if no error happened.
messagestringIndicate error details if hit error. Empty if no error happened.
warningstringWarning message.
request_idstring
responseobject
response.modelobject[]
response.model.tier_indexint32[][0]model tier index
response.model.model_idint6432341ID of model
response.model.model_skustringskuSeller SKU of this model, model_sku length information needs to be no more than 100 characters.
response.model.price_infoobject[]
response.model.price_info.original_pricefloat52.4Original Price.; For CO local VAT responsible seller:Please remember the price you set in here must be VAT inclusive. If you have any doubts on how to calculate VAT for your product please refer to the Seller Education Hub(https://seller.shopee.com.co/edu/article/13565)
response.model.seller_stockobject[]new stock info
response.model.seller_stock.location_idstringlocation id
response.model.seller_stock.stockint32stock
response.model.weightfloat1.1The 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.; If set the dimension of this model, them must set the weight of this model.
response.model.dimensionobjectThe 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_heightint3211The height of package for this model, the unit is CM.
response.model.dimension.package_lengthint3211The length of package for this model, the unit is CM.
response.model.dimension.package_widthint3211The width of package for this model, the unit is CM.
#

§5 Common parameters

Common parameters

NameTypeRequiredSampleDescription
partner_idint1Partner ID is assigned upon registration is successful. Required for all requests.
timestamptimestamp1610000000This is to indicate the timestamp of the request. Required for all requests. Expires in 5 minutes.
access_tokenstringc09222e3fc40ffb25fc947f738b1abf1The token for API access, using to identify your permission to the api. Valid for multiple use and expires in 4 hours.
shop_idint600000Shopee's unique identifier for a shop. Required param for most APIs.
signstringe318d3e932719916a9f9ebb57e2011961bd47abfa54a36e040d050d8931596e2Signature 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

{
	"model_list": [
		{
			"original_price": 38.3,
			"model_sku": "SKU",
			"seller_stock": [
				{
					"location_id": "-",
					"stock": 0
				}
			],
			"gtin_code": "-",
			"weight": 1.1
		}
	]
}
#

§8 Java

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.shopeemobile.com/api/v2/product/add_model?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp")
.header("Content-Type","application/json")
.body("{
   \"model_list\": [
      {
         \"gtin_code\": \"-\",
         \"model_sku\": \"SKU\",
         \"original_price\": 38.3,
         \"seller_stock\": [
            {
               \"location_id\": \"-\",
               \"stock\": 0
            }
         ],
         \"weight\": 1.1
      }
   ]
}")
.asString();
#

§9 PHP

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://partner.shopeemobile.com/api/v2/product/add_model?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=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 => '{
    "model_list": [
        {
            "gtin_code": "-",
            "model_sku": "SKU",
            "original_price": 38.3,
            "seller_stock": [
                {
                    "location_id": "-",
                    "stock": 0
                }
            ],
            "weight": 1.1
        }
    ]
}',
  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/product/add_model?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp' \
--header 'Content-Type: application/json' \
--data-raw '{
   "model_list": [
      {
         "gtin_code": "-",
         "model_sku": "SKU",
         "original_price": 38.3,
         "seller_stock": [
            {
               "location_id": "-",
               "stock": 0
            }
         ],
         "weight": 1.1
      }
   ]
}'
#

§11 Python

Python

import requests
import json

url = "https://partner.shopeemobile.com/api/v2/product/add_model?access_token=access_token&partner_id=partner_id&shop_id=shop_id&sign=sign&timestamp=timestamp"

payload=json.dumps({
  "model_list": [
    {
      "gtin_code": "-",
      "model_sku": "SKU",
      "original_price": 38.3,
      "seller_stock": [
        {
          "location_id": "-",
          "stock": 0
        }
      ],
      "weight": 1.1
    }
  ]
})
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": "-",
	"response": {
		"model": [
			{
				"model_sku": "sku",
				"price_info": [
					{
						"original_price": 52.4
					}
				],
				"seller_stock": [
					{
						"location_id": "-",
						"stock": 0
					}
				],
				"weight": 1.1
			}
		]
	}
}
#

§14 Error example

Error example

#

§15 JSON

JSON

{
    "error": "product.error_param",
    "message": "EOF",
    "request_id": "004824f196f49b081e1d829b1bf15023"
}
#

§16 Errors

Errors

ErrorDescriptionSolution
product.error_busiThe GTIN code is mandatory, please check and upload again.
error_networkInner http call failed
error_dataparse data failed
error_datadata not exist
error_paramparameter invalid
error_paramThe information you queried is not found.
error_paramWrong parameters, detail: {msg}.
error_serverSomething wrong. Please try later.
error_shopshopid is invalid
error_paramrequest not from gateway
error_auth_product_is_pffItem/Model Fulfillment by Shopee can not be update.
error_item_not_belong_shopItem not belong to shop.
error_param_shop_id_not_foundShop_id is not found.
error_paramThe level of tier-variation over 2.
error_paramModel tier_index error.
error_paramItem without tier_variation. Please use init_tier_variation api to upgrade the structure.
error_innerOur system is taking some time to respond, please try later.
error_innerSystem error, please try again later or contact the OpenAPI support team.
error_item_not_foundProduct not found
error_invalid_priceInvalid price, please use the correct format
error_innerUpdate item failed {{.error_info}}
error_innerUpdate item failed {{.error_info}}
error_invalid_price_for_logisticShipping channel cannot be enabled as product price exceeds limit.
error_innerSystem error, please try again later or contact the OpenAPI support team.
error_innerSystem error, please try again later or contact the OpenAPI support team.
error_authThe current item belong to the full FBS or B2C shop, so normal stock must be equal to 0
error_param_validateThis is not a valid GTIN. Please, inform a valid number.
error_param_validateThis is not a valid GTIN. Please, inform a valid number.
error_busi_cannot_edit_vskuCan not use OpenAPI to edit/create VSKU, please connect with your manager
error_authThe location_id input is not matched the shop's location_id(more/wrong). Please double check.
error_authLack of location_id, please double check.
error_authPlease wait for the holiday mode set then to edit item. Please try later.
error_authTotal stock must be more than reserved stock.
error_param{{.error_info}}
error_authYour shop can not use model level dts
error_authYou do not have right to use seller location_id, please only fill seller_stock filed.
error.paramCan not update item with stock less than reserved stock
error_innerInvalid stock location ID
error_paramCan 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_paramCan not update item with stock less than reserve stock
error_busiThe merchant/shop has multi warehouse, please input location id
error_authStock should be larger than reserved stock.
error_paramInvalid parameter for product.
error_system_busyOur system is taking some time to respond, please try later.
error_nil_shopid_or_itemidQuery information failed.
error_holiday_on_add_itemShop is under vocation mode.
error_nil_name_new_item_modelItem tier_variation name cannot be empty.
error_price_exceed_min_limittOriginal_price is less than min price limit.
error_price_exceed_max_limittOriginal_price is bigger than max price limit.
error_wholesale_price_less_than_ratio_limitWholesale price is less than ratio limit.
error_paramCan 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_serverInteral error, please contact openapi team.
error_slash_price_nomodel_to_models_lockIn slash sale, can't add model.
error_price_should_be_same_for_wholesalesAll model price should be the same when the item has been set wholesales.
#

§17 Common errors

Common errors

ErrorDescriptionSolution
error_authpartner_id is invalid
error_authThe App is deleted, and you'll be unable to make any API call.
error_authApp 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_paramThere is no partner_id in query.
error_paramInvalid partner_id.
error_paramno timestamp
error_paramInvalid timestamp
error_paramThere is no sign in query.
error_signWrong sign.
invalid_partner_idInvalid partner_id, please have a check.
error_authNo permission to current api.
error_api_call_restrictedThe 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_suspendedThe API is offline. Please call v2 API instead.
error_limitThe 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_limitToo many requests. You have reached the rate limit. Please try again later.
source_ip_undeclaredRequest Source IP ({ip}) is undeclared. Please declare all your IP addresses in the Shopee Open Platform Console > App list > IP Address Whitelist
error_paramPermission denied. This API is currently offline or the request path is incorrect.
error_paramPartner_id is invalid, should be an integer between 0 and 4294967295.
error_paramno timestamp.
error_paramTimestamp is invalid, should be an integer between 0 and 4294967295.
error_paramTimestamp is expired.
error_partner_key_expiredYour 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_permissionThis app type has no permission to this API.
error_paramThere is no access_token in query.
error_authInvalid access_token.
error_authInvalid partner_id or shopid.
shop_no_linkedPartner and shop has no linked.
shop_bannedThe shop account has been banned. Permissions for shop authorization and API calls have been suspended until the shop account is restored.
invalid_acceess_tokenInvalid access_token, please have a check.
partner_shop_no_linkInvalid partner_id or shop_id, please have a check.
error_ashop_api_permissionThe shop is Affiliate shop has no permission to call this API.
error_kyc_authNo permission. Please inform the seller to complete the Seller Registration on Shopee Seller Center first, then this shop can call for this API.
error_authSystem error, please try again later.
error_paramThere is no shop_id in query.
error_paramshop_id is invalid, should be an integer between 0 and 4294967295.
#

§18 Update log

Update log

DateChange
2025-01-08Update GTIN validation rule
2024-06-21add model level DTS
2024-05-29add model level weight and dimension
2023-05-05update the description of gtin_code
2022-10-31offline the normal_stock and stock_info fields
#