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

v2.product.update_item

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.update_item

Update item.

#

§2 Overview

Overview

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

§3 Request parameters

Request parameters

NameTypeRequiredSampleDescription
descriptionstringNoHello product product WlQPdMV4SlVoG7QD1v0fEecNoCVEBNx6Description of item.
weightfloatNoThe weight of this item, the unit is KG.; Updating the weight of this item will overwrite the weight of all models under this item.
pre_orderobjectNoPre Order setting.
pre_order.days_to_shipint32YesDays to ship.
pre_order.is_pre_orderbooleanYesfalseWhether the item is pre order.
item_namestringNoHello Pgkk50jdNgEnlWvXItem name.
attribute_listobject[]NoItem attributes.
attribute_list.attribute_idint32Yes5357ID of attribute.
attribute_list.attribute_value_listobject[]No
attribute_list.attribute_value_list.value_idint32Yes38173ID of attribute value. In the following cases, the value id needs to be uploaded as 0, and original_value_name is mandatory, needs to be filled in customized value. (1) AttributeInputType is TEXT_FILED; (2) AttributeInputType is COMBO_BOX or MULTIPLE_SELECT_COMBO_BOX, and the seller want to fill in a customized value.
attribute_list.attribute_value_list.original_value_namestringNoRedValue name. original_value_name from produc.get_attributes api. If value id=0, this field is required. If AttributeType is DATE_TYPE or TIMESTAMP_TYPE, you can upload timestamp(string type) as the original_value_name.
attribute_list.attribute_value_list.value_unitstringNokgUnit of attribute value (quantitative attribute only).
imageobjectNoImages of item.
image.image_id_listobject[]YesImage ID.
image.image_ratiostringNo3:4Ratio of image, OptionalAllowed ratios : "1:1" (default) "3:4"
item_skustringNoabcSKU tag for item.
item_statusstringNoUNLISTItem status, could be UNLIST or NORMAL.
wholesaleobject[]NoWholesale setting.; If you want to delete it, please pass it with blank.
wholesale.min_countint32YesMinimum count of this tier.
wholesale.unit_pricefloatYesPrice of this tier.
wholesale.max_countint32YesMaximum count of this tier.
item_idint64Yes28001430ID of item.
category_idint32NoID of category.
dimensionobjectNoThe dimension of this item.; Updating the dimension of this item will overwrite the dimension of all models under this item.
dimension.package_heightint32YesThe height of package for this item, the unit is CM.
dimension.package_lengthint32YesThe length of package for this item, the unit is CM.
dimension.package_widthint32YesThe width of package for this item, the unit is CM.
conditionstringNoUSEDCondition of item, could be NEW or USED.
video_upload_idstring[]No["sg_f4bde9bc-ff3c-485e-a6dd-3161dab4b942_000000"]Video upload ID returned from video uploading API.; If you want to delete it, please pass it with blank.
brandobjectNo
brand.brand_idint32No0Id of brand.
brand.original_brand_namestringNonikeOriginal name of brand.
item_dangerousint32No0This field is only applicable for local sellers in Indonesia and Malaysia. Use this field to identify whether a product is a dangerous product. 0 for non-dangerous product and 1 for dangerous product. For more information, please visit the market's respective Seller Education Hub.
tax_infoobjectNoTax information
tax_info.ncmstringNoMercosur Common Nomenclature, it is a convention between Mercosur member countries to easily recognize goods, services and productive factors negotiated among themselves. (BR region); NCM must have 8 digits, OR, if your item doesn't have a NCM enter the value "00"
tax_info.same_state_cfopstringNoTax Code of Operations and Installments for orders that seller and buyer are in the same state. It identifies a specific operation by category at the time of issuing the invoice.
tax_info.diff_state_cfopstringNoTax Code of Operations and Installments for orders that seller and buyer are in different states. It identifies a specific operation by category at the time of issuing the invoice.
tax_info.csosnstringNoCode of Operation Status – Simples Nacional, code for company operations to identify the origin of the goods and the taxation regime of the operations.
tax_info.originstringNoProduct source, domestic or foreig
tax_info.ceststringNoTax Replacement Specifying Code (CEST), to separate within the same NCM products that do or do not have ICMS tax substitution. (BR region) CEST must have 7 digits, OR, if your item doesn't have a CEST enter the value "00".
tax_info.measure_unitstringNo(BR region); The value must be provided in uppercase and must match one of the supported units below: AMPOLA, BALDE, BANDEJ, BARRA, BISNAG, BLOCO, BOBINA, BOMB, CAPS, CART, CENTO, CJ, CM, CM2, CX, CX2, CX3, CX5, CX10, CX15, CX20, CX25, CX50, CX100, DISP, DUZIA, EMBAL, FARDO, FOLHA, FRASCO, GALAO, GF, GRAMAS, JOGO, KG, KIT, LATA, LITRO, M, M2, M3, MILHEI, ML, MWH, PACOTE, PALETE, PARES, PC, POTE, K, RESMA, ROLO, SACO, SACOLA, TAMBOR, TANQUE, TON, TUBO, UN, VASIL, VIDRO.
tax_info.invoice_optionstringNoValue shuold be one of NO_INVOICES VAT_MARGIN_SCHEME_INVOICES VAT_INVOICES NON_VAT_INVOICES and if value is NON_VAT_INVOICE vat_rate should be null (PL region)
tax_info.vat_ratestringNoValue should be one of 0% 5% 8% 23% NO_VAT_RATE (PL region)
tax_info.hs_codestringNoHS Code. (Only for IN region)
tax_info.tax_codestringNoTax Code. (Only for IN region)
tax_info.tax_typeint32Notax_type only for TW whitelist shop. Shopee will referred Tax type when substitute sellers for issuing e-receipts to buyers. All variations share the same tax type. The meaning of value: 0: no tax type; 1: tax-able; 2: tax-free
tax_info.pisstringNoOnly for BR shop.; PIS - Programa de Integração Social (Social Integration Program). It is a government tax to collect resources for the payment of unemployment insurance and other employee related rights.; PIS % - the tax applied to this product
tax_info.cofinsstringNoOnly for BR shop.; COFINS – Contribuição para Financiamento da Seguridade Social (Contribution for Social Security Funding). It is a government tax to collect resources for public health system and social security.; COFINS % - the tax applied to this product
tax_info.icms_cststringNoOnly for BR shop.; ICMS - Imposto sobre Circulação de Mercadorias e Serviços (Circulation of Goods and Services Tax).; CST - Código da Situação Tributária (Tax Situation Code) is represented by a combination of 3 numbers with the purpose of demonstrating the origin of a product and determining the form of taxation that will apply to it. Therefore, each digit in the CST Table has a specific meaning: the first digit indicates the origin of the operation, the second digit represents the ICMS taxation on the operation and the third digit provides additional information about the form of taxation.
tax_info.pis_cofins_cststringNoOnly for BR shop.; The CST PIS/Cofins is a code on the Electronic Invoice (NF-e) that identifies the tax situation of PIS (Programa de Integração Social) and Cofins (Contribuição para o Financiamento da Seguridade Social) in sales of goods.
tax_info.federal_state_taxesstringNoOnly for BR shop.; Enter the total percentage of the combination of federal, state, and municipal taxes, using up to two decimals.
tax_info.operation_typestringNoOnly for BR shop.; 1: Retailer; 2: Manufacturer
tax_info.ex_tipistringNoOnly for BR shop.; The EXTIPI field in the NF-e (Nota Fiscal Eletrônica) is used to indicate if there's an exception to the IPI (Imposto sobre Produtos Industrializados) tax rate for a specific product.
tax_info.fci_numstringNoOnly for BR shop.; The FCI Control Number is a unique identifier assigned to each import FCI (Import Content Form). It's mandatory on the corresponding NF-e (electronic invoice) to ensure compliance with Brazilian import tax regulations.
tax_info.recopi_numstringNoOnly for BR shop.; RECOPI NACIONAL is a Brazilian government system that facilitates the registration and management of tax-exempt operations involving paper destined for printing books, newspapers, and periodicals (known as "papel imune" in Portuguese).
tax_info.additional_infostringNoOnly for BR shop.; Include relevant information to display on Invoice.
tax_info.group_item_infoobjectNoOnly for BR shop.; Required if the item is a group item.
tax_info.group_item_info.group_qtdstringNoExample: The package contains 6 soda cans. Whether you are selling a pack of 6 cans (fardo) or a single can (unit), enter 6.
tax_info.group_item_info.group_unitstringNoExample: The package contains 6 soda cans. Whether you are selling a pack of 6 cans (fardo) or a single can (unit), enter UNI for the individual can.
tax_info.group_item_info.group_unit_valuestringNoExample: The package contains 6 soda cans. Whether you are selling a pack of 6 cans (fardo) or a single can (unity), enter the value of the individual can.
tax_info.group_item_info.original_group_pricestringNoExample: The item is a package that contains 6 soda cans. Enter the price of the whole package.
tax_info.group_item_info.group_gtin_ssccstringNoExample: The item is a package that contains 6 soda cans. Please inform the GTIN SSCC code for the package.
tax_info.group_item_info.group_grai_gtin_ssccstringNoExample: The item is box, that contain 6 packages. Each package contains 6 soda cans. Please inform the GRAI GTIN SSCC code for the Box.
tax_info.export_cfopstringNo7101 - for sales of self-produced goods; 7102 - resale of third-party goods
complaint_policyobjectNoComplaint Policy for item. Only required for local PL sellers, ignored otherwise.
complaint_policy.warranty_timestringNoValue should be in one of ONE_YEAR TWO_YEARS OVER_TWO_YEARS.
complaint_policy.exclude_entrepreneur_warrantybooleanNoIf True means "I exclude warranty complaints for entrepreneur"
complaint_policy.complaint_address_idint32NoAddress for complaint. Fetch available addresses using v2.logistics.get_address_list, and use address_id returned from it.
complaint_policy.additional_informationstringNoAdditional information for warranty claim. Should be less than 1000 characters.
description_infoobjectNoNew description field. Only whitelist sellers can use it. If you use the field, please upload the description_type=extended otherwise api will return error. If you don't use this field, you don't need to upload the description_type or upload description_type=normal
description_info.extended_descriptionobjectNoIf description_type is extended , description information should be set by this field.
description_info.extended_description.field_listobject[]NoField of extended description.
description_info.extended_description.field_list.field_typestringNoType of extended description field :values: See Data Definition- description_field_type (text , image).
description_info.extended_description.field_list.textstringNoIf field_type is text, text information will be set by this field.
description_info.extended_description.field_list.image_infoobjectNoIf field_type is image,image url will be set by this field.
description_info.extended_description.field_list.image_info.image_idstringNoImage id.
description_typestringNoValues: See Data Definition- description_type (normal , extended). If you want to use extended_description or change description type ,this field must be inputed
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.
ds_cat_rcmd_idstringNocategory recommendation service id
promotion_imagesobjectNoPromotion Image Currently only allow one promoton image You could set promotion image only if the product images' ratio is 3:4
promotion_images.image_id_liststring[]NoPromotion Image
compatibility_infoobjectNo
compatibility_info.vehicle_info_listobject[]Yes
compatibility_info.vehicle_info_list.brand_idint64Yes1234ID of the brand.
compatibility_info.vehicle_info_list.model_idint64Yes2345ID of the model.
compatibility_info.vehicle_info_list.year_idint64No3456ID of the year.
compatibility_info.vehicle_info_list.version_idint64No4567ID of the version.
scheduled_publish_timetimestampNo1733590920Scheduled publish time of this item: 1) Can only set scheduled_publish_time for item with UNLIST status; 2) Can only set the time from current time +1hour to current time +90days, and the time is only allowed to be accurate to the minute
authorised_brand_idint64NoID of authorised reseller brand.
size_chart_infoobjectNo
size_chart_info.size_chartstringNoID of size chart image. If you want to remove the image size chart of the item, please pass the "size_chart" empty.; You only need to fill out either the image or template. If both are filled, only the template will be kept.; Notes: Both CB shops and local shops are supported to set "size_chart".
size_chart_info.size_chart_idint64NoID of template size chart. If you want to remove the template size chart of the item, please pass the "size_chart_id" as 0.; You only need to fill out either the image or template. If both are filled, only the template will be kept.; Notes: Only local shops are supported to set "size_chart_id", for CB shops please use "size_chart".
certification_infoobjectNoFor PH product certification input Required for some category and attribute option
certification_info.certification_listobject[]NoArray of certification records for the product, each containing type, certificate number, permit ID, and proof documents.
certification_info.certification_list.certification_nostringYesCertification number issued by the regulatory or certifying authority; uniquely identifies the certification.; refer to https://seller.shopee.ph/edu/article/24236
certification_info.certification_list.permit_idint64YesPlatform-defined permit ID used to link to a specific certification template or rule.; get from v2.product.get_product_certification_rule
certification_info.certification_list.expiry_dateint32No1610000000Expiry timestamp. Required for PH, but not needed for TW.
certification_info.certification_list.certification_proofsobjectNoAn array of proof documents for the certification; each element represents one proof file.<path></path>
certification_info.certification_list.certification_proofs.image_idstringYesThe unique image ID of the certification proof, returned by the image upload API.
certification_info.certification_list.certification_proofs.file_namestringYesThe name of the uploaded certification proof file.
certification_info.certification_list.certification_proofs.ratiofloatYesimage weight/ image height Will be optional in the future; can input 0.75 by default
purchase_limit_infoobjectNopurchase limit info
purchase_limit_info.min_purchase_limitint32Nominimum purchase count for each order
purchase_limit_info.max_purchase_limitobjectNo
purchase_limit_info.max_purchase_limit.purchase_limitint32Nomaximum purchase limit for each order.
medicine_idint64No[Only for ID local sellers] as a unique identifier for each standardized medicine, the medicine id can only be obtained offline
#

§4 Response parameters

Response parameters

NameTypeRequiredSampleDescription
messagestringYesIndicate error details if hit error. Empty if no error happened.
warningstringYesIndicate waring details if hit waring. Empty if no waring happened.
request_idstringYes326527603d034fd1b2dd6a74d70ade54The identifier for an API request for error tracking.
responseobjectYes
response.descriptionstringYesHello product product 6xnhI3ug5D2rFpH3QoJSNNOrfUSP8rw5Item description.
response.weightfloatYesThe weight of this item, the unit is KG.
response.pre_orderobjectYes
response.pre_order.days_to_shipint32YesThe time it takes to ship the item.
response.pre_order.is_pre_orderbooleanYesfalseWhether item is pre order.
response.item_namestringYesHello QdlHimD4nto0OGIQItem name.
response.item_statusstringYesUNLISTItem status.
response.imagesobjectYesItem images.
response.images.image_id_liststring[]YesID list of item image.
response.images.image_url_liststring[]YesURL list of item image
response.logistic_infoobject[]Yes
response.logistic_info.estimated_shipping_feefloatYesEstimated shipping fee.
response.logistic_info.logistic_namestringYesNinja VanName of logistics channel.
response.logistic_info.enabledbooleanYestrueWhether this channel is enabled.
response.logistic_info.logistic_idint32YesID of this channel.
response.logistic_info.is_freebooleanYesfalseWhether cover shipping fee for buyer.
response.item_idint64Yes28001430ID of item.
response.category_idint32YesID of item category.
response.dimensionobjectYesThe dimension of this item.
response.dimension.package_widthint32YesThe width of package for this item, the unit is CM.
response.dimension.package_lengthint32YesThe length of package for this item, the unit is CM.
response.dimension.package_heightint32YesThe height of package for this item, the unit is CM.
response.conditionstringYesUSEDItem condition, could be USED or NEW.
response.brandobject
response.brand.brand_idint320Id of brand.
response.brand.original_brand_namestringnikeOriginal name of brand.
response.item_dangerousint320This field is only applicable for local sellers in Indonesia and Malaysia. Use this field to identify whether a product is a dangerous product. 0 for non-dangerous product and 1 for dangerous product. For more information, please visit the market's respective Seller Education Hub.
response.complaint_policyobjectComplaint policy
response.complaint_policy.warranty_timestringValue should be in one of ONE_YEAR TWO_YEARS OVER_TWO_YEARS.
response.complaint_policy.exclude_entrepreneur_warrantybooleanIf True means "I exclude warranty complaints for entrepreneur"
response.complaint_policy.additional_informationstringAdditional information for complaint policy
response.description_infoobjectNew description field. Only whitelist sellers can use it. If you use the field, please upload the description_type=extended otherwise api will return error. If you don't use this field, you don't need to upload the description_type or upload description_type=normal
response.description_info.extended_descriptionobjectIf description_type is extended , description information should be set by this field.
response.description_info.extended_description.field_listobject[]Field of extended description.
response.description_info.extended_description.field_list.field_typestringType of extended description field :values: See Data Definition- description_field_type (text , image).
response.description_info.extended_description.field_list.textstringIf field_type is text, text information will be set by this field.
response.description_info.extended_description.field_list.image_infoobjectIf field_type is image,image url will be set by this field.
response.description_info.extended_description.field_list.image_info.image_idstringImage id.
response.description_typestringValues: See Data Definition- description_type (normal , extended).
errorstringYesIndicate error type if hit error. Empty if no error happened.
#

§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

{
	"description": "Hello product product WlQPdMV4SlVoG7QD1v0fEecNoCVEBNx6",
	"weight": 0.9,
	"pre_order": {
		"days_to_ship": 7,
		"is_pre_order": true
	},
	"item_name": "Hello Pgkk50jdNgEnlWvX",
	"attribute_list": [
		{
			"attribute_id": 5357,
			"attribute_value_list": [
				{
					"value_id": 38173,
					"original_value_name": "Red",
					"value_unit": "kg"
				}
			]
		}
	],
	"image": {
		"image_id_list": [
			{}
		]
	},
	"item_sku": "abc",
	"item_status": "UNLIST",
	"logistic_info": [
		{
			"size_id": 1,
			"shipping_fee": 9,
			"enabled": true,
			"logistic_id": 10007,
			"is_free": true
		}
	],
	"wholesale": [
		{
			"min_count": 0,
			"unit_price": 9.9,
			"max_count": 10
		}
	],
	"item_id": 2800143058,
	"category_id": 34106,
	"dimension": {
		"package_height": 13,
		"package_length": 12,
		"package_width": 14
	},
	"condition": "USED",
	"video_upload_id": [
		{}
	],
	"brand": {
		"brand_id": 0,
		"original_brand_name": "nike"
	},
	"item_dangerous": 0,
	"tax_info": {
		"ncm": "-",
		"same_state_cfop": "-",
		"diff_state_cfop": "-",
		"csosn": "-",
		"origin": "-",
		"cest": "-",
		"measure_unit": "-",
		"invoice_option": "-",
		"vat_rate": "-",
		"hs_code": "-",
		"tax_code": "-"
	},
	"complaint_policy": {
		"warranty_time": "-",
		"exclude_entrepreneur_warranty": true,
		"complaint_address_id": 0,
		"additional_information": "-"
	},
	"description_info": {
		"extended_description": {
			"field_list": [
				{
					"field_type": "-",
					"text": "-",
					"image_info": {
						"image_id": "-"
					}
				}
			]
		}
	},
	"description_type": "-"
}
#

§8 Java

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://partner.uat.shopeemobile.com/api/v2/product/update_item?shop_id=shop_id&partner_id=partner_id&sign=sign&access_token=access_token&timestamp=timestamp")
.header("Content-Type","application/json")
.body("{
   \"attribute_list\": [
      {
         \"attribute_id\": 5357,
         \"attribute_value_list\": [
            {
               \"original_value_name\": \"Red\",
               \"value_id\": 38173,
               \"value_unit\": \"kg\"
            }
         ]
      }
   ],
   \"brand\": {
      \"brand_id\": 0,
      \"original_brand_name\": \"nike\"
   },
   \"category_id\": 34106,
   \"complaint_policy\": {
      \"additional_information\": \"-\",
      \"complaint_address_id\": 0,
      \"exclude_entrepreneur_warranty\": true,
      \"warranty_time\": \"-\"
   },
   \"condition\": \"USED\",
   \"description\": \"Hello product product WlQPdMV4SlVoG7QD1v0fEecNoCVEBNx6\",
   \"description_info\": {
      \"extended_description\": {
         \"field_list\": [
            {
               \"field_type\": \"-\",
               \"image_info\": {
                  \"image_id\": \"-\"
               },
               \"text\": \"-\"
            }
         ]
      }
   },
   \"description_type\": \"-\",
   \"dimension\": {
      \"package_height\": 13,
      \"package_length\": 12,
      \"package_width\": 14
   },
   \"image\": {
      \"image_id_list\": [
         {}
      ]
   },
   \"item_dangerous\": 0,
   \"item_id\": 2800143058,
   \"item_name\": \"Hello Pgkk50jdNgEnlWvX\",
   \"item_sku\": \"abc\",
   \"item_status\": \"UNLIST\",
   \"logistic_info\": [
      {
         \"enabled\": true,
         \"is_free\": true,
         \"logistic_id\": 10007,
         \"shipping_fee\": 9,
         \"size_id\": 1
      }
   ],
   \"pre_order\": {
      \"days_to_ship\": 7,
      \"is_pre_order\": true
   },
   \"tax_info\": {
      \"cest\": \"-\",
      \"csosn\": \"-\",
      \"diff_state_cfop\": \"-\",
      \"hs_code\": \"-\",
      \"invoice_option\": \"-\",
      \"measure_unit\": \"-\",
      \"ncm\": \"-\",
      \"origin\": \"-\",
      \"same_state_cfop\": \"-\",
      \"tax_code\": \"-\",
      \"vat_rate\": \"-\"
   },
   \"video_upload_id\": [
      {}
   ],
   \"weight\": 0.9,
   \"wholesale\": [
      {
         \"max_count\": 10,
         \"min_count\": 0,
         \"unit_price\": 9.9
      }
   ]
}")
.asString();
#

§9 PHP

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://partner.uat.shopeemobile.com/api/v2/product/update_item?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 => '{
    "attribute_list": [
        {
            "attribute_id": 5357,
            "attribute_value_list": [
                {
                    "original_value_name": "Red",
                    "value_id": 38173,
                    "value_unit": "kg"
                }
            ]
        }
    ],
    "brand": {
        "brand_id": 0,
        "original_brand_name": "nike"
    },
    "category_id": 34106,
    "complaint_policy": {
        "additional_information": "-",
        "complaint_address_id": 0,
        "exclude_entrepreneur_warranty": true,
        "warranty_time": "-"
    },
    "condition": "USED",
    "description": "Hello product product WlQPdMV4SlVoG7QD1v0fEecNoCVEBNx6",
    "description_info": {
        "extended_description": {
            "field_list": [
                {
                    "field_type": "-",
                    "image_info": {
                        "image_id": "-"
                    },
                    "text": "-"
                }
            ]
        }
    },
    "description_type": "-",
    "dimension": {
        "package_height": 13,
        "package_length": 12,
        "package_width": 14
    },
    "image": {
        "image_id_list": [
            {}
        ]
    },
    "item_dangerous": 0,
    "item_id": 2800143058,
    "item_name": "Hello Pgkk50jdNgEnlWvX",
    "item_sku": "abc",
    "item_status": "UNLIST",
    "logistic_info": [
        {
            "enabled": true,
            "is_free": true,
            "logistic_id": 10007,
            "shipping_fee": 9,
            "size_id": 1
        }
    ],
    "pre_order": {
        "days_to_ship": 7,
        "is_pre_order": true
    },
    "tax_info": {
        "cest": "-",
        "csosn": "-",
        "diff_state_cfop": "-",
        "hs_code": "-",
        "invoice_option": "-",
        "measure_unit": "-",
        "ncm": "-",
        "origin": "-",
        "same_state_cfop": "-",
        "tax_code": "-",
        "vat_rate": "-"
    },
    "video_upload_id": [
        {}
    ],
    "weight": 0.9,
    "wholesale": [
        {
            "max_count": 10,
            "min_count": 0,
            "unit_price": 9.9
        }
    ]
}',
  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.uat.shopeemobile.com/api/v2/product/update_item?timestamp=timestamp&shop_id=shop_id&partner_id=partner_id&sign=sign&access_token=access_token' \
--header 'Content-Type: application/json' \
--data-raw '{
   "attribute_list": [
      {
         "attribute_id": 5357,
         "attribute_value_list": [
            {
               "original_value_name": "Red",
               "value_id": 38173,
               "value_unit": "kg"
            }
         ]
      }
   ],
   "brand": {
      "brand_id": 0,
      "original_brand_name": "nike"
   },
   "category_id": 34106,
   "complaint_policy": {
      "additional_information": "-",
      "complaint_address_id": 0,
      "exclude_entrepreneur_warranty": true,
      "warranty_time": "-"
   },
   "condition": "USED",
   "description": "Hello product product WlQPdMV4SlVoG7QD1v0fEecNoCVEBNx6",
   "description_info": {
      "extended_description": {
         "field_list": [
            {
               "field_type": "-",
               "image_info": {
                  "image_id": "-"
               },
               "text": "-"
            }
         ]
      }
   },
   "description_type": "-",
   "dimension": {
      "package_height": 13,
      "package_length": 12,
      "package_width": 14
   },
   "image": {
      "image_id_list": [
         {}
      ]
   },
   "item_dangerous": 0,
   "item_id": 2800143058,
   "item_name": "Hello Pgkk50jdNgEnlWvX",
   "item_sku": "abc",
   "item_status": "UNLIST",
   "logistic_info": [
      {
         "enabled": true,
         "is_free": true,
         "logistic_id": 10007,
         "shipping_fee": 9,
         "size_id": 1
      }
   ],
   "pre_order": {
      "days_to_ship": 7,
      "is_pre_order": true
   },
   "tax_info": {
      "cest": "-",
      "csosn": "-",
      "diff_state_cfop": "-",
      "hs_code": "-",
      "invoice_option": "-",
      "measure_unit": "-",
      "ncm": "-",
      "origin": "-",
      "same_state_cfop": "-",
      "tax_code": "-",
      "vat_rate": "-"
   },
   "video_upload_id": [
      {}
   ],
   "weight": 0.9,
   "wholesale": [
      {
         "max_count": 10,
         "min_count": 0,
         "unit_price": 9.9
      }
   ]
}'
#

§11 Python

Python

import requests
import json

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

payload=json.dumps({
  "attribute_list": [
    {
      "attribute_id": 5357,
      "attribute_value_list": [
        {
          "original_value_name": "Red",
          "value_id": 38173,
          "value_unit": "kg"
        }
      ]
    }
  ],
  "brand": {
    "brand_id": 0,
    "original_brand_name": "nike"
  },
  "category_id": 34106,
  "complaint_policy": {
    "additional_information": "-",
    "complaint_address_id": 0,
    "exclude_entrepreneur_warranty": True,
    "warranty_time": "-"
  },
  "condition": "USED",
  "description": "Hello product product WlQPdMV4SlVoG7QD1v0fEecNoCVEBNx6",
  "description_info": {
    "extended_description": {
      "field_list": [
        {
          "field_type": "-",
          "image_info": {
            "image_id": "-"
          },
          "text": "-"
        }
      ]
    }
  },
  "description_type": "-",
  "dimension": {
    "package_height": 13,
    "package_length": 12,
    "package_width": 14
  },
  "image": {
    "image_id_list": [
      {}
    ]
  },
  "item_dangerous": 0,
  "item_id": 2800143058,
  "item_name": "Hello Pgkk50jdNgEnlWvX",
  "item_sku": "abc",
  "item_status": "UNLIST",
  "logistic_info": [
    {
      "enabled": True,
      "is_free": True,
      "logistic_id": 10007,
      "shipping_fee": 9,
      "size_id": 1
    }
  ],
  "pre_order": {
    "days_to_ship": 7,
    "is_pre_order": True
  },
  "tax_info": {
    "cest": "-",
    "csosn": "-",
    "diff_state_cfop": "-",
    "hs_code": "-",
    "invoice_option": "-",
    "measure_unit": "-",
    "ncm": "-",
    "origin": "-",
    "same_state_cfop": "-",
    "tax_code": "-",
    "vat_rate": "-"
  },
  "video_upload_id": [
    {}
  ],
  "weight": 0.9,
  "wholesale": [
    {
      "max_count": 10,
      "min_count": 0,
      "unit_price": 9.9
    }
  ]
})
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

{
	"message": "-",
	"warning": "-",
	"request_id": "326527603d034fd1b2dd6a74d70ade54",
	"response": {
		"description": "Hello product product 6xnhI3ug5D2rFpH3QoJSNNOrfUSP8rw5",
		"weight": 0.9,
		"pre_order": {
			"days_to_ship": 2,
			"is_pre_order": true
		},
		"item_name": "Hello QdlHimD4nto0OGIQ",
		"item_status": "UNLIST",
		"images": {
			"image_id_list": [
				"-"
			],
			"image_url_list": [
				"-"
			]
		},
		"logistic_info": [
			{
				"estimated_shipping_fee": 1.49,
				"logistic_name": "Ninja Van",
				"enabled": true,
				"logistic_id": 10007,
				"is_free": true
			}
		],
		"item_id": 2800143058,
		"category_id": 34106,
		"dimension": {
			"package_width": 14,
			"package_length": 12,
			"package_height": 13
		},
		"condition": "USED",
		"brand": {
			"brand_id": 0,
			"original_brand_name": "nike"
		},
		"item_dangerous": 0,
		"complaint_policy": {
			"warranty_time": "-",
			"exclude_entrepreneur_warranty": true,
			"additional_information": "-"
		},
		"description_info": {
			"extended_description": {
				"field_list": [
					{
						"field_type": "-",
						"text": "-",
						"image_info": {
							"image_id": "-"
						}
					}
				]
			}
		},
		"description_type": "-"
	},
	"error": "-"
}
#

§14 Errors

Errors

ErrorDescriptionSolution
product.error_busiThe GTIN code is mandatory, please check and upload again.
product.error_busiPlease input the correct TS Mark (TD Mark) to upload your product, and refer to the SEH article - https://seller.shopee.tw/edu/article/19732 if you have any questions.
product.error_busiMedicine ID is mandatory for products in Prescription/OTC category.
product.error_busiPlease input the correct medicine ID.
product.error_busiFor OTC medicine, maximum purchase limit per order is mandatory and cannot exceed 3 days of use.
product.error_busiUpload failed, please upload a more standard size chart image.
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_shop_not_foundShop is not found.
error_authcnsc shop not upgraded, can not edit item.
error_item_not_foundItem_id is not found.
error_param_shop_id_not_foundShop_id is not found.
error_paramInvalid logistic info, {{.error_info}}
error_paramInvalid category.
error_paramInvalid attribute. {{.error_info}}
error_paramInvalid wholesale setting.
error_paramParameter is not match the constraints, {{.error_info}}.
error_paramInvalid Weight.
error_paramImage not exist.
error_invalid_days_to_shipInvalid days_to_ship.
error_value_name_requiredValue_name is required.
error_value_id_must_equal_zeroValue_id must equal 0.
error_invalid_category_attributeCategory and attribute not match.
error_busilogistic must be free
error_paraminvalid wholesale setting
error_invalid_brandInvalid brand
error_invalid_brandBrand ID value should be "0".
error_invalid_brandBrand name required
error_invalid_brandBrand ID required
error_incalid_brandBrand ID or brand name required
error_invalid_attributeMandatory attribute information required
error_invalid_brandBrand information required
error_get_shop_failGet shop failed. please try later.
error_busi_invalid_shop_statusShop status invalid.
error_busi_cannot_update_fieldUpdate item failed , {{.error_info}}.
error_busi_item_status_invalidInvalid item status.
error_busi_update_item_failedUpdate item failed, please try later.
error_invalid_categoryInvalid category ID {{.error_info}}
error_busi_attribute_errorAttribute NCC value is invalid
error_busi_attribute_errorAttribute NCC is mandatory
error_busi_attribute_errorAttribute BSMI value is invalid
error_busi_attribute_errorAttribute BSMI is mandatory
error_attribute_fda_errorAttribute FDA value is invalid
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_unknown{{.error_info}}
error_item_not_foundProduct not found
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_check_luc_fail{{.error_info}}
error_repeated_mtskuA similar product has already been uploaded
error_invalid_priceInvalid price, please use the correct format
error_category_is_blockCategory is restricted
error_less_required_attributeMandatory attribute information required
error_less_required_brandBrand information required
error_innerUpdate item failed {{.error_info}}
error_innerUpdate item failed {{.error_info}}
error_paramAttribute format is invalid. NCC field only allows Eng Alphanumeric input
error_paramNCC filed only allows character length less than 50.
error_unlist_item_failPlease upload your products to UNLIST status. Products will be published automatically by Shopee at the official launch date.
error_invalid_logistic_infoinvalid logistic info , {{.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_desc_image_no_pass{{.error_info}}
error_desc_image_no_pass{{.error_info}}
error_desc_image_no_pass{{.error_info}}
error_desc_image_no_pass{{.error_info}}
error_busi_cannot_edit_vskuCan not use OpenAPI to edit/create VSKU, please connect with your manager
error_param_validateWholesale cannot be used in this category and attributes.
error_authYour shop can not use model level dts
error_param{{.error_info}}
error_desc_image_no_pass{{.error_info}}
error_desc_image_no_pass{{.error_info}}
error_desc_image_no_pass{{.error_info}}
error_desc_image_no_pass{{.error_info}}
error_param{{.error_info}}
error_innerInvalid stock location ID
error attributeYour attribute info is invalid. Please fill in the category related attributes with correct attribute value.
error_busiThe merchant/shop has multi warehouse, please input location id
error_incalid_brand{{.error_info}}
error_duplicated_brandBrand already exists
error categoryYour category is invalid or prohibited.
error brandYour brand is invalid. Please use the valid brand under your category.
error_marshalInteral error, please contact openapi team
error_paramInvalid parameter for product.
error_system_busyOur system is taking some time to respond, please try later.
error_item_or_variation_not_foundItem or model doesn't exist.
error_nil_item_in_reqInteral error, please contact openapi team.
error_image_unavailableImage is invalid: single image url length is less than 32.
error_name_length_limitExceeded item_name length limitation.
error_seller_under_penaltyThe shop is under penalty.
error_nil_shopid_or_itemidQuery information failed.
error_estimated_days_limitDays_to_ship limitation exceeded.
error_item_uneditableCan't edit this item. item status can not support editing.
error_perm_non_adminDon't have permission.
error_desc_hash_tag_over_limitCount of hash tags is more than 18
error_item_name_emptyItem name could not be empty.
error_item_name_is_too_shortItem_name length is less than min limit.
error_title_exceeds_max_lengthThe length of item_name is bigger than max limit.
error_title_character_forbiddenItem_name contains forbidden characters.
error_desc_length_min_limitDescription length is less than the min limit.
error_image_num_min{{.error_info}}
error_forbidden_categoryThe category is forbidden.
error_brand_forbiddenThe brand is forbidden.
error_param_dts_exceeds_max_limitDays_to_ship exceeds max limit
error_param_category_not_support_pre_orderCategory does not support pre-order.
error_cannt_edit_name_in_promotionItem_name cannot be edited when item is under promotion..
error_cannt_edit_description_in_promotionDescription of item cannot be edited when item is under promotion..
error_cannt_edit_image_in_promotionImage of item cannot be edited when item is under promotion..
error_cannt_edit_pre_order_in_promotionItem cannot be changed to pre-order when item is under promotion..
error_cannt_edit_estimated_days_in_promotionDays_to_ship cannot be edited when item is under promotion.
error_item_in_promotionitem is in promotion can not set category
error_invalid_attribute_valueInvalid attribute value.
error_wrong_attrsnapshotInvalid attribute.
error_category_levelInteral error, please contact openapi team.
error_category_path_count_limitInteral error, please contact openapi team.
error_serverInteral error, please contact openapi team.
error_invalid_categoryInvalid category.
error_incalid_categoryCategory IDs for L1 and L2 do not match.
error_category_dtsThe current day_to_ship is bigger than category's max days_to_ship.
error_invalid_categoryCategory is blocked for CB seller.
error_in_item_promotion_image_item_lockCan't update images when item is under promotion.
error_in_item_promotion_name_item_lockCan't update item_name when item is under promotion.
error_in_item_promotion_unlsit_lockCan't unlist item when item is under promotion.
error_in_item_promotion_description_lockCan't update description when item is under promotion.
error_flash_sale_days_to_ship_lockDays_to ship cannot be changed when item is under ongoing/upcoming flash sale.
error_slash_price_not_lowestIn slash sale, price should not be lower or same as slash price.
error_whole_sale_min_count_incorrectInteral error, please contact openapi team.
error_whole_sale_price_setting_incorrectWholesale price can't more than original price.
error_video_info_not_foundVideo_info not found.
#

§15 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.
#

§16 Update log

Update log

DateChange
2026-06-24deprecate logistics-related fields in the response
2026-06-242026-06-17
2026-03-13Introduce "medicine_id" as the request parameter
2025-11-17add new request field "has_promotion"
2025-09-19The request field "certification_type" has been removed. If this field is still passed in the request, it will be ignored by the system.
#