stable本次发布有变化全部展示
来自 Shopee 官方资料快照 ·
- 当前资料结构化阅读页
- 固定快照已留存,可追溯
- 官方原文可核对
资料正文
§1 v2.product.update_item
Update item.
§2 Overview
Overview
| Field | Value |
|---|---|
| Module | Product |
| API type | Shop |
| HTTP method | POST |
| Path | /api/v2/product/update_item |
| Production URL | https://partner.shopeemobile.com/api/v2/product/update_item |
| Sandbox URL | https://partner.test-stable.shopeemobile.com/api/v2/product/update_item |
| Rate limit | [0, 0, 0] |
| Permission | ERP System; Seller In House System; Product Management |
§3 Request parameters
Request parameters
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| description | string | No | Hello product product WlQPdMV4SlVoG7QD1v0fEecNoCVEBNx6 | Description of item. |
| weight | float | No | The 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_order | object | No | Pre Order setting. | |
| pre_order.days_to_ship | int32 | Yes | Days to ship. | |
| pre_order.is_pre_order | boolean | Yes | false | Whether the item is pre order. |
| item_name | string | No | Hello Pgkk50jdNgEnlWvX | Item name. |
| attribute_list | object[] | No | Item attributes. | |
| attribute_list.attribute_id | int32 | Yes | 5357 | ID of attribute. |
| attribute_list.attribute_value_list | object[] | No | ||
| attribute_list.attribute_value_list.value_id | int32 | Yes | 38173 | ID 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_name | string | No | Red | Value 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_unit | string | No | kg | Unit of attribute value (quantitative attribute only). |
| image | object | No | Images of item. | |
| image.image_id_list | object[] | Yes | Image ID. | |
| image.image_ratio | string | No | 3:4 | Ratio of image, OptionalAllowed ratios : "1:1" (default) "3:4" |
| item_sku | string | No | abc | SKU tag for item. |
| item_status | string | No | UNLIST | Item status, could be UNLIST or NORMAL. |
| wholesale | object[] | No | Wholesale setting.; If you want to delete it, please pass it with blank. | |
| wholesale.min_count | int32 | Yes | Minimum count of this tier. | |
| wholesale.unit_price | float | Yes | Price of this tier. | |
| wholesale.max_count | int32 | Yes | Maximum count of this tier. | |
| item_id | int64 | Yes | 28001430 | ID of item. |
| category_id | int32 | No | ID of category. | |
| dimension | object | No | The dimension of this item.; Updating the dimension of this item will overwrite the dimension of all models under this item. | |
| dimension.package_height | int32 | Yes | The height of package for this item, the unit is CM. | |
| dimension.package_length | int32 | Yes | The length of package for this item, the unit is CM. | |
| dimension.package_width | int32 | Yes | The width of package for this item, the unit is CM. | |
| condition | string | No | USED | Condition of item, could be NEW or USED. |
| video_upload_id | string[] | 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. |
| brand | object | No | ||
| brand.brand_id | int32 | No | 0 | Id of brand. |
| brand.original_brand_name | string | No | nike | Original name of brand. |
| item_dangerous | int32 | No | 0 | This 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_info | object | No | Tax information | |
| tax_info.ncm | string | No | Mercosur 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_cfop | string | No | Tax 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_cfop | string | No | Tax 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.csosn | string | No | Code 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.origin | string | No | Product source, domestic or foreig | |
| tax_info.cest | string | No | Tax 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_unit | string | No | (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_option | string | No | Value 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_rate | string | No | Value should be one of 0% 5% 8% 23% NO_VAT_RATE (PL region) | |
| tax_info.hs_code | string | No | HS Code. (Only for IN region) | |
| tax_info.tax_code | string | No | Tax Code. (Only for IN region) | |
| tax_info.tax_type | int32 | No | tax_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.pis | string | No | Only 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.cofins | string | No | Only 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_cst | string | No | Only 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_cst | string | No | Only 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_taxes | string | No | Only for BR shop.; Enter the total percentage of the combination of federal, state, and municipal taxes, using up to two decimals. | |
| tax_info.operation_type | string | No | Only for BR shop.; 1: Retailer; 2: Manufacturer | |
| tax_info.ex_tipi | string | No | Only 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_num | string | No | Only 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_num | string | No | Only 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_info | string | No | Only for BR shop.; Include relevant information to display on Invoice. | |
| tax_info.group_item_info | object | No | Only for BR shop.; Required if the item is a group item. | |
| tax_info.group_item_info.group_qtd | string | No | Example: 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_unit | string | No | Example: 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_value | string | No | Example: 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_price | string | No | Example: The item is a package that contains 6 soda cans. Enter the price of the whole package. | |
| tax_info.group_item_info.group_gtin_sscc | string | No | Example: 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_sscc | string | No | Example: 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_cfop | string | No | 7101 - for sales of self-produced goods; 7102 - resale of third-party goods | |
| complaint_policy | object | No | Complaint Policy for item. Only required for local PL sellers, ignored otherwise. | |
| complaint_policy.warranty_time | string | No | Value should be in one of ONE_YEAR TWO_YEARS OVER_TWO_YEARS. | |
| complaint_policy.exclude_entrepreneur_warranty | boolean | No | If True means "I exclude warranty complaints for entrepreneur" | |
| complaint_policy.complaint_address_id | int32 | No | Address for complaint. Fetch available addresses using v2.logistics.get_address_list, and use address_id returned from it. | |
| complaint_policy.additional_information | string | No | Additional information for warranty claim. Should be less than 1000 characters. | |
| description_info | object | No | New 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_description | object | No | If description_type is extended , description information should be set by this field. | |
| description_info.extended_description.field_list | object[] | No | Field of extended description. | |
| description_info.extended_description.field_list.field_type | string | No | Type of extended description field :values: See Data Definition- description_field_type (text , image). | |
| description_info.extended_description.field_list.text | string | No | If field_type is text, text information will be set by this field. | |
| description_info.extended_description.field_list.image_info | object | No | If field_type is image,image url will be set by this field. | |
| description_info.extended_description.field_list.image_info.image_id | string | No | Image id. | |
| description_type | string | No | Values: See Data Definition- description_type (normal , extended). If you want to use extended_description or change description type ,this field must be inputed | |
| gtin_code | string | No | - 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_id | string | No | category recommendation service id | |
| promotion_images | object | No | Promotion 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_list | string[] | No | Promotion Image | |
| compatibility_info | object | No | ||
| compatibility_info.vehicle_info_list | object[] | Yes | ||
| compatibility_info.vehicle_info_list.brand_id | int64 | Yes | 1234 | ID of the brand. |
| compatibility_info.vehicle_info_list.model_id | int64 | Yes | 2345 | ID of the model. |
| compatibility_info.vehicle_info_list.year_id | int64 | No | 3456 | ID of the year. |
| compatibility_info.vehicle_info_list.version_id | int64 | No | 4567 | ID of the version. |
| scheduled_publish_time | timestamp | No | 1733590920 | Scheduled 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_id | int64 | No | ID of authorised reseller brand. | |
| size_chart_info | object | No | ||
| size_chart_info.size_chart | string | No | ID 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_id | int64 | No | ID 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_info | object | No | For PH product certification input Required for some category and attribute option | |
| certification_info.certification_list | object[] | No | Array of certification records for the product, each containing type, certificate number, permit ID, and proof documents. | |
| certification_info.certification_list.certification_no | string | Yes | Certification 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_id | int64 | Yes | Platform-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_date | int32 | No | 1610000000 | Expiry timestamp. Required for PH, but not needed for TW. |
| certification_info.certification_list.certification_proofs | object | No | An array of proof documents for the certification; each element represents one proof file.<path></path> | |
| certification_info.certification_list.certification_proofs.image_id | string | Yes | The unique image ID of the certification proof, returned by the image upload API. | |
| certification_info.certification_list.certification_proofs.file_name | string | Yes | The name of the uploaded certification proof file. | |
| certification_info.certification_list.certification_proofs.ratio | float | Yes | image weight/ image height Will be optional in the future; can input 0.75 by default | |
| purchase_limit_info | object | No | purchase limit info | |
| purchase_limit_info.min_purchase_limit | int32 | No | minimum purchase count for each order | |
| purchase_limit_info.max_purchase_limit | object | No | ||
| purchase_limit_info.max_purchase_limit.purchase_limit | int32 | No | maximum purchase limit for each order. | |
| medicine_id | int64 | No | [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
| Name | Type | Required | Sample | Description |
|---|---|---|---|---|
| message | string | Yes | Indicate error details if hit error. Empty if no error happened. | |
| warning | string | Yes | Indicate waring details if hit waring. Empty if no waring happened. | |
| request_id | string | Yes | 326527603d034fd1b2dd6a74d70ade54 | The identifier for an API request for error tracking. |
| response | object | Yes | ||
| response.description | string | Yes | Hello product product 6xnhI3ug5D2rFpH3QoJSNNOrfUSP8rw5 | Item description. |
| response.weight | float | Yes | The weight of this item, the unit is KG. | |
| response.pre_order | object | Yes | ||
| response.pre_order.days_to_ship | int32 | Yes | The time it takes to ship the item. | |
| response.pre_order.is_pre_order | boolean | Yes | false | Whether item is pre order. |
| response.item_name | string | Yes | Hello QdlHimD4nto0OGIQ | Item name. |
| response.item_status | string | Yes | UNLIST | Item status. |
| response.images | object | Yes | Item images. | |
| response.images.image_id_list | string[] | Yes | ID list of item image. | |
| response.images.image_url_list | string[] | Yes | URL list of item image | |
| response.logistic_info | object[] | Yes | ||
| response.logistic_info.estimated_shipping_fee | float | Yes | Estimated shipping fee. | |
| response.logistic_info.logistic_name | string | Yes | Ninja Van | Name of logistics channel. |
| response.logistic_info.enabled | boolean | Yes | true | Whether this channel is enabled. |
| response.logistic_info.logistic_id | int32 | Yes | ID of this channel. | |
| response.logistic_info.is_free | boolean | Yes | false | Whether cover shipping fee for buyer. |
| response.item_id | int64 | Yes | 28001430 | ID of item. |
| response.category_id | int32 | Yes | ID of item category. | |
| response.dimension | object | Yes | The dimension of this item. | |
| response.dimension.package_width | int32 | Yes | The width of package for this item, the unit is CM. | |
| response.dimension.package_length | int32 | Yes | The length of package for this item, the unit is CM. | |
| response.dimension.package_height | int32 | Yes | The height of package for this item, the unit is CM. | |
| response.condition | string | Yes | USED | Item condition, could be USED or NEW. |
| response.brand | object | |||
| response.brand.brand_id | int32 | 0 | Id of brand. | |
| response.brand.original_brand_name | string | nike | Original name of brand. | |
| response.item_dangerous | int32 | 0 | This 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_policy | object | Complaint policy | ||
| response.complaint_policy.warranty_time | string | Value should be in one of ONE_YEAR TWO_YEARS OVER_TWO_YEARS. | ||
| response.complaint_policy.exclude_entrepreneur_warranty | boolean | If True means "I exclude warranty complaints for entrepreneur" | ||
| response.complaint_policy.additional_information | string | Additional information for complaint policy | ||
| response.description_info | object | New 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_description | object | If description_type is extended , description information should be set by this field. | ||
| response.description_info.extended_description.field_list | object[] | Field of extended description. | ||
| response.description_info.extended_description.field_list.field_type | string | Type of extended description field :values: See Data Definition- description_field_type (text , image). | ||
| response.description_info.extended_description.field_list.text | string | If field_type is text, text information will be set by this field. | ||
| response.description_info.extended_description.field_list.image_info | object | If field_type is image,image url will be set by this field. | ||
| response.description_info.extended_description.field_list.image_info.image_id | string | Image id. | ||
| response.description_type | string | Values: See Data Definition- description_type (normal , extended). | ||
| 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 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×tamp=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×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 => '{
"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×tamp=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
| Error | Description | Solution |
|---|---|---|
| product.error_busi | The GTIN code is mandatory, please check and upload again. | |
| product.error_busi | Please 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_busi | Medicine ID is mandatory for products in Prescription/OTC category. | |
| product.error_busi | Please input the correct medicine ID. | |
| product.error_busi | For OTC medicine, maximum purchase limit per order is mandatory and cannot exceed 3 days of use. | |
| product.error_busi | Upload failed, please upload a more standard size chart image. | |
| 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_auth_shop_not_found | Shop is not found. | |
| error_auth | cnsc shop not upgraded, can not edit item. | |
| error_item_not_found | Item_id is not found. | |
| error_param_shop_id_not_found | Shop_id is not found. | |
| error_param | Invalid logistic info, {{.error_info}} | |
| error_param | Invalid category. | |
| error_param | Invalid attribute. {{.error_info}} | |
| error_param | Invalid wholesale setting. | |
| error_param | Parameter is not match the constraints, {{.error_info}}. | |
| error_param | Invalid Weight. | |
| error_param | Image not exist. | |
| error_invalid_days_to_ship | Invalid days_to_ship. | |
| error_value_name_required | Value_name is required. | |
| error_value_id_must_equal_zero | Value_id must equal 0. | |
| error_invalid_category_attribute | Category and attribute not match. | |
| error_busi | logistic must be free | |
| error_param | invalid wholesale setting | |
| error_invalid_brand | Invalid brand | |
| error_invalid_brand | Brand ID value should be "0". | |
| error_invalid_brand | Brand name required | |
| error_invalid_brand | Brand ID required | |
| error_incalid_brand | Brand ID or brand name required | |
| error_invalid_attribute | Mandatory attribute information required | |
| error_invalid_brand | Brand information required | |
| error_get_shop_fail | Get shop failed. please try later. | |
| error_busi_invalid_shop_status | Shop status invalid. | |
| error_busi_cannot_update_field | Update item failed , {{.error_info}}. | |
| error_busi_item_status_invalid | Invalid item status. | |
| error_busi_update_item_failed | Update item failed, please try later. | |
| error_invalid_category | Invalid category ID {{.error_info}} | |
| error_busi_attribute_error | Attribute NCC value is invalid | |
| error_busi_attribute_error | Attribute NCC is mandatory | |
| error_busi_attribute_error | Attribute BSMI value is invalid | |
| error_busi_attribute_error | Attribute BSMI is mandatory | |
| error_attribute_fda_error | Attribute FDA value is invalid | |
| 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_unknown | {{.error_info}} | |
| error_item_not_found | Product 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_mtsku | A similar product has already been uploaded | |
| error_invalid_price | Invalid price, please use the correct format | |
| error_category_is_block | Category is restricted | |
| error_less_required_attribute | Mandatory attribute information required | |
| error_less_required_brand | Brand information required | |
| error_inner | Update item failed {{.error_info}} | |
| error_inner | Update item failed {{.error_info}} | |
| error_param | Attribute format is invalid. NCC field only allows Eng Alphanumeric input | |
| error_param | NCC filed only allows character length less than 50. | |
| error_unlist_item_fail | Please upload your products to UNLIST status. Products will be published automatically by Shopee at the official launch date. | |
| error_invalid_logistic_info | invalid logistic info , {{.error_info}} | |
| error_invalid_price_for_logistic | Shipping channel cannot be enabled as product price exceeds limit. | |
| 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 current item belong to the full FBS or B2C shop, so normal stock must be equal to 0 | |
| error_param_validate | This is not a valid GTIN. Please, inform a valid number. | |
| error_param_validate | This 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_vsku | Can not use OpenAPI to edit/create VSKU, please connect with your manager | |
| error_param_validate | Wholesale cannot be used in this category and attributes. | |
| error_auth | Your 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_inner | Invalid stock location ID | |
| error attribute | Your attribute info is invalid. Please fill in the category related attributes with correct attribute value. | |
| error_busi | The merchant/shop has multi warehouse, please input location id | |
| error_incalid_brand | {{.error_info}} | |
| error_duplicated_brand | Brand already exists | |
| error category | Your category is invalid or prohibited. | |
| error brand | Your brand is invalid. Please use the valid brand under your category. | |
| error_marshal | Interal error, please contact openapi team | |
| error_param | Invalid parameter for product. | |
| error_system_busy | Our system is taking some time to respond, please try later. | |
| error_item_or_variation_not_found | Item or model doesn't exist. | |
| error_nil_item_in_req | Interal error, please contact openapi team. | |
| error_image_unavailable | Image is invalid: single image url length is less than 32. | |
| error_name_length_limit | Exceeded item_name length limitation. | |
| error_seller_under_penalty | The shop is under penalty. | |
| error_nil_shopid_or_itemid | Query information failed. | |
| error_estimated_days_limit | Days_to_ship limitation exceeded. | |
| error_item_uneditable | Can't edit this item. item status can not support editing. | |
| error_perm_non_admin | Don't have permission. | |
| error_desc_hash_tag_over_limit | Count of hash tags is more than 18 | |
| error_item_name_empty | Item name could not be empty. | |
| error_item_name_is_too_short | Item_name length is less than min limit. | |
| error_title_exceeds_max_length | The length of item_name is bigger than max limit. | |
| error_title_character_forbidden | Item_name contains forbidden characters. | |
| error_desc_length_min_limit | Description length is less than the min limit. | |
| error_image_num_min | {{.error_info}} | |
| error_forbidden_category | The category is forbidden. | |
| error_brand_forbidden | The brand is forbidden. | |
| error_param_dts_exceeds_max_limit | Days_to_ship exceeds max limit | |
| error_param_category_not_support_pre_order | Category does not support pre-order. | |
| error_cannt_edit_name_in_promotion | Item_name cannot be edited when item is under promotion.. | |
| error_cannt_edit_description_in_promotion | Description of item cannot be edited when item is under promotion.. | |
| error_cannt_edit_image_in_promotion | Image of item cannot be edited when item is under promotion.. | |
| error_cannt_edit_pre_order_in_promotion | Item cannot be changed to pre-order when item is under promotion.. | |
| error_cannt_edit_estimated_days_in_promotion | Days_to_ship cannot be edited when item is under promotion. | |
| error_item_in_promotion | item is in promotion can not set category | |
| error_invalid_attribute_value | Invalid attribute value. | |
| error_wrong_attrsnapshot | Invalid attribute. | |
| error_category_level | Interal error, please contact openapi team. | |
| error_category_path_count_limit | Interal error, please contact openapi team. | |
| error_server | Interal error, please contact openapi team. | |
| error_invalid_category | Invalid category. | |
| error_incalid_category | Category IDs for L1 and L2 do not match. | |
| error_category_dts | The current day_to_ship is bigger than category's max days_to_ship. | |
| error_invalid_category | Category is blocked for CB seller. | |
| error_in_item_promotion_image_item_lock | Can't update images when item is under promotion. | |
| error_in_item_promotion_name_item_lock | Can't update item_name when item is under promotion. | |
| error_in_item_promotion_unlsit_lock | Can't unlist item when item is under promotion. | |
| error_in_item_promotion_description_lock | Can't update description when item is under promotion. | |
| error_flash_sale_days_to_ship_lock | Days_to ship cannot be changed when item is under ongoing/upcoming flash sale. | |
| error_slash_price_not_lowest | In slash sale, price should not be lower or same as slash price. | |
| error_whole_sale_min_count_incorrect | Interal error, please contact openapi team. | |
| error_whole_sale_price_setting_incorrect | Wholesale price can't more than original price. | |
| error_video_info_not_found | Video_info not found. |
§15 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. |
§16 Update log
Update log
| Date | Change |
|---|---|
| 2026-06-24 | deprecate logistics-related fields in the response |
| 2026-06-24 | 2026-06-17 |
| 2026-03-13 | Introduce "medicine_id" as the request parameter |
| 2025-11-17 | add new request field "has_promotion" |
| 2025-09-19 | The request field "certification_type" has been removed. If this field is still passed in the request, it will be ignored by the system. |
