VI | EN
Message us on Messenger
Developer resources

Update item. — Shopee API

v2.product.update_item · call it through Quantri360 with one API key for your own accounts / assets that you connected and authorized — 360 handles request signing and refreshing the authorization you granted.

v2.product.update_item

POST/api/v2/product/update_itemVia 360: POST https://partner.quantri360.com/v1/shopee/api/v2/product/update_item
Write endpoint — changes data on Shopee. The key must be created with "Allow write API calls" ticked, otherwise you get 403 write_not_allowed. Every call is logged.
Description

SỬA thông tin một sản phẩm đã có: tên, mô tả, ảnh, ảnh khuyến mãi, thuộc tính, cân nặng / kích thước, kênh vận chuyển, thương hiệu, SKU cha, trạng thái. Chỉ gửi trường muốn đổi kèm item_id.

  • Là API GHI — thay đổi dữ liệu thật trên Shopee; key cần quyền ghi. Gọi bằng POST, body JSON.
  • Không sửa giá / tồn ở đây: tồn dùng update_stock; phân loại dùng init_tier_variation.
  • image_ratio mặc định 1:1 — sản phẩm đang 3:4 mà gửi image không kèm image_ratio: "3:4" sẽ bị đổi tỷ lệ.
  • Ảnh mới phải tải lên trước bằng media_space/upload_image; ảnh cũ giữ lại bằng image_id ở get_item_base_info.

Request

Endpoint

POST https://partner.quantri360.com/v1/shopee/api/v2/product/update_item

Authentication & shop

NameInTypeSampleDescription
AuthorizationheaderheaderBearer q360_live_ab12cd34_…Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand.
platform_shop_idquerystring100001Gian hàng (lấy ở GET /v1/platforms → shops[].platform_shop_id). BẮT BUỘC khi brand có > 1 gian hàng trên nền tảng; 360 bỏ tham số này trước khi chuyển tiếp.

Request parameters

NameInTypeRequiredSampleDescription
item_idbodyintYes10000000081Mã sản phẩm cần sửa.
item_namebodystringNoTên mới.
descriptionbodystringNoMô tả chữ mới (description_type = normal).
imagebodyobjectNo{"image_id_list":["vn-10000000092-…"],"image_ratio":"1:1"}Thay TOÀN BỘ danh sách ảnh (gửi đủ các ảnh muốn giữ, ảnh đầu = ảnh bìa). Gửi kèm image_ratio đúng tỷ lệ hiện tại của sản phẩm.
promotion_imagesbodyobjectNo{"image_id_list":["vn-10000000092-…"]}Ảnh khuyến mãi (một ảnh) — chỉ đặt được khi ảnh sản phẩm tỷ lệ 3:4.
attribute_listbodyobject[]NoThuộc tính (cấu trúc như add_item).
item_skubodystringNoSKU cha.
item_statusbodystringNoNORMALNORMAL · UNLIST.
weightbodyfloatNo0.5Cân nặng (kg) — ghi đè cân nặng MỌI phân loại.
dimensionbodyobjectNoKích thước gói (cm) — ghi đè MỌI phân loại.
logistic_infobodyobject[]NoKênh vận chuyển.
brandbodyobjectNobrand_id + original_brand_name.
pre_orderbodyobjectNo
conditionbodystringNo
size_chart_infobodyobjectNoBảng size; gỡ: size_chart rỗng hoặc size_chart_id = 0.
description_typebodystringNoBắt buộc khi đổi kiểu mô tả.

Request examples

curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/product/update_item" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"item_id":10000000081,"image":{"image_id_list":["sg-10000000095-8258g-mtrn1z8ec64mdd","vn-10000000092-7r98o-lxm45esiq5zt3b"],"image_ratio":"1:1"}}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/shopee/api/v2/product/update_item",
    params={},
    json={
        "item_id": 10000000081,
        "image": {
            "image_id_list": [
                "sg-10000000095-8258g-mtrn1z8ec64mdd",
                "vn-10000000092-7r98o-lxm45esiq5zt3b"
            ],
            "image_ratio": "1:1"
        }
    },
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=60,
)
print(r.status_code)
print(r.json())
Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/shopee/api/v2/product/update_item');
for (const [k, v] of Object.entries({})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'POST',
  headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"item_id":10000000081,"image":{"image_id_list":["sg-10000000095-8258g-mtrn1z8ec64mdd","vn-10000000092-7r98o-lxm45esiq5zt3b"],"image_ratio":"1:1"}}),
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/shopee/api/v2/product/update_item' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key, 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"item_id":10000000081,"image":{"image_id_list":["sg-10000000095-8258g-mtrn1z8ec64mdd","vn-10000000092-7r98o-lxm45esiq5zt3b"],"image_ratio":"1:1"}}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Response fields (as returned by Shopee)

NameTypeSampleDescription
request_idstringd52ca43b277a4f9292fb8be658bfd33dMã request của Shopee để tra lỗi.
errorstringMã lỗi Shopee; rỗng = thành công.
messagestringMô tả lỗi.
warningstring
responseobjectThông tin sản phẩm sau khi sửa.
item_idint10000000081
item_namestring
item_statusstring
imagesobjectimage_id_list, image_url_list.
category_idint
weightfloat
dimensionobject
logistic_infoobject[]
brandobject
descriptionstring
pre_orderobject
conditionstring

Response sample

{
  "error": "",
  "message": "",
  "warning": "",
  "request_id": "326527603d034fd1…",
  "response": {
    "item_id": 10000000081,
    "item_name": "Sản phẩm mẫu",
    "item_status": "NORMAL",
    "category_id": 100102,
    "images": {
      "image_id_list": [
        "sg-10000000095-8258g-mtrn1z8ec64mdd",
        "vn-10000000092-7r98o-lxm45esiq5zt3b"
      ],
      "image_url_list": [
        "https://example.com/anh-mau.jpg",
        "https://example.com/anh-mau.jpg"
      ]
    },
    "weight": 0.5,
    "dimension": {
      "package_length": 25,
      "package_width": 20,
      "package_height": 10
    }
  }
}

Shopee error codes (90)

Show
CodeMeaning
product.error_busiThe GTIN code is mandatory, please check and upload again.
error_dataDữ liệu không tồn tại hoặc không hợp lệ cho thao tác (vd mã không có, loại yêu cầu không cho phép).
error_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
error_serverLỗi hệ thống Shopee — thử lại sau ít phút.
error_shopGian hàng không hợp lệ — kiểm tra platform_shop_id.
error_auth_shop_not_foundKhông tìm thấy gian hàng — kiểm tra platform_shop_id.
error_authỦy quyền gian hàng cho 360 đã hết hạn hoặc bị thu hồi (360 đã tự làm mới token một lần) — chủ gian hàng kết nối lại Shopee trong Partner.
error_item_not_foundKhông tìm thấy item_id.
error_param_shop_id_not_foundShop_id is not found.
error_invalid_days_to_shipSố ngày chuẩn bị hàng không hợp lệ.
error_value_name_requiredValue_name is required.
error_value_id_must_equal_zeroValue_id must equal 0.
error_invalid_category_attributeNgành hàng không khớp thuộc tính.
error_busiMerchant/gian hàng có nhiều kho; cần gửi location_id.
error_invalid_brandThông tin nhãn hàng thiếu hoặc không hợp lệ; xem `message`.
error_incalid_brandThông tin nhãn hàng thiếu hoặc không hợp lệ; xem `message`.
error_invalid_attributeThiếu thuộc tính bắt buộc.
error_get_shop_failKhông lấy được gian hàng; thử lại sau.
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_categoryMã ngành hàng không hợp lệ; xem `message`.
error_busi_attribute_errorThuộc tính chứng nhận NCC/BSMI thiếu hoặc không hợp lệ; xem `message`.
error_attribute_fda_errorGiá trị thuộc tính FDA không hợp lệ.
error_innerLỗi hệ thống Shopee — thử lại sau.
error_unknown{{.error_info}}
error_check_luc_failKiểm tra LUC thất bại; xem `message`.
error_repeated_mtskuSản phẩm tương tự đã được tải lên.
error_invalid_priceInvalid price, please use the correct format
error_category_is_blockNgành hàng bị hạn chế.
error_less_required_attributeThiếu thuộc tính bắt buộc.
error_less_required_brandThiếu thông tin nhãn hàng bắt buộc.
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_param_validateThiết lập bán sỉ hoặc thị trường của merchant chưa hợp lệ; xem `message`.
error_desc_image_no_passẢnh mô tả chưa được chấp nhận; xem `message`.
error_busi_cannot_edit_vskuCan not use OpenAPI to edit/create VSKU, please connect with your manager
error attributeYour attribute info is invalid. Please fill in the category related attributes with correct attribute value.
error_duplicated_brandNhãn hàng đã tồn tại.
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_system_busyHệ thống đang bận; thử lại sau.
error_item_or_variation_not_foundItem or model doesn't exist.
error_nil_item_in_reqInteral error, please contact openapi team.
error_image_unavailableẢnh không khả dụng; xem `message`.
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_minSố ảnh chưa đạt mức tối thiểu; xem `message`.
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_incalid_categoryMã ngành hàng cấp 1 và cấp 2 không khớp.
error_category_dtsThe current day_to_ship is bigger than category's max days_to_ship.
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.
error_limitChạm hạn mức gọi Shopee trong ngày của kết nối — 360 trả kèm thời điểm thử lại; giảm tần suất gọi.
error_rate_limitGọi quá nhanh — chờ vài giây rồi gọi lại (360 cũng giới hạn theo key: 429 + Retry-After).
shop_bannedGian hàng đang bị Shopee khóa — mọi API tạm ngưng tới khi gỡ khóa.
error_kyc_authGian hàng chưa hoàn tất đăng ký người bán trên Kênh Người Bán.

Get started

  1. Sign up for Partner
  2. Enable a data type of the Sản phẩm group on the platform page
  3. Create an API key (tick the Shopee channel)
  4. Call it as in the examples above