VI | EN
Message us on Messenger
Developer resources

Partial Edit Global Product — TikTok Shop API

tiktok.product.202509.global_products.global_product_id.partial_edit · 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.

tiktok.product.202509.global_products.global_product_id.partial_edit

PUT/product/202509/global_products/{global_product_id}/partial_editVia 360: PUT https://partner.quantri360.com/v1/tiktok/product/202509/global_products/{global_product_id}/partial_edit
Write endpoint — changes data on TikTok Shop. The key must be created with "Allow write API calls" ticked, otherwise you get 403 write_not_allowed. Every call is logged.
Description

CHỈ NGƯỜI BÁN TOÀN CẦU: Sửa một phần sản phẩm toàn cầu; chỉ xét các trường được gửi. Thay đổi phù hợp được đồng bộ sang sản phẩm địa phương liên kết; kiểm tra publish_results theo thị trường.

  • Gọi qua /v1/tiktok/product/202509/global_products/{global_product_id}/partial_edit với Authorization: Bearer <key>; dùng platform_shop_id khi có nhiều shop. 360 tự gắn app_key, shop_cipher, sign và access_token.
  • API GHI: thay đổi dữ liệu thật trên TikTok Shop; cần key có quyền ghi (can_write) và gói mở module products. Thay đổi sản phẩm toàn cầu và đồng bộ các thị trường liên kết.
  • HTTP 200 vẫn có thể có lỗi nghiệp vụ; kiểm code trước khi dùng kết quả.
  • API hàng toàn cầu; gian hàng thường bị từ chối với mã 12052910 / 12052032.

Request

Endpoint

PUT https://partner.quantri360.com/v1/tiktok/product/202509/global_products/{global_product_id}/partial_edit

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
global_product_idpathstringYes900000000000000001Mã sản phẩm toàn cầu.
titlebodystringNoÁo thun cotton cổ tròn minh họaTiêu đề sản phẩm; DE, ES, FR, IE, IT, JP, UK, US dài 1–255 ký tự; MX dài 1–300; khu vực khác 25–255 ký tự.
descriptionbodystringNo<p>Sản phẩm minh họa.</p>Mô tả HTML tối đa 10.000 ký tự. Tối đa 30 thẻ img, mỗi ảnh dưới 4000 px, có src, width, height; ảnh phải được tải lên trước. Một số thẻ được chuyển đổi để hiển thị, như table thành ảnh. Nên mô tả trên 300 ký tự và 3–5 điểm nổi bật, mỗi điểm dưới 250 ký tự; ảnh khuyến nghị 1600×1600 px; độ dài tối đa: 10,000.
category_idbodystringNo900000000000000001Ngành hàng hiện tại; nếu gửi phải khớp ngành hàng đang có, API này không đổi ngành hàng. Phải là ngành lá, khớp category_version và có quyền AVAILABLE.
brand_idbodystringNo900000000000000001Mã thương hiệu.
main_imagesbodyobject[]No[{"uri": "anh-minh-hoa"}]Ảnh chính sản phẩm; dùng URI ảnh được tải lên trước; số phần tử tối đa: 9.
main_images[].uribodystringYesanh-minh-hoaURI ảnh đã tải lên; giá trị liên quan: MAIN_IMAGE.
skusbodyobject[]No[{"id": "900000000000000001", "global_quantity": 1, "seller_sku": "SKU-MAU-01", "price": {"amount": "150000", "currency": "VND"}, "sales_attributes": [{"id": "900000000000000001", "name": "Minh họa", "value_id": "900000000000000001", "value_name": "Minh họa", "sku_img": {"uri": "anh-minh-hoa"}}], "inventory": [{"global_warehouse_id": "900000000000000001", "quantity": 1}], "identifier_code": {"code": 0, "type": "GTIN"}, "sku_unit_count": "Minh họa", "extra_identifier_codes": ["Minh họa"], "external_global_sku_id": "900000000000000001", "sale_prices": [{"region": "VN", "amount": "150000"}]}]Các SKU biến thể; tối đa 300 tại EU, JP, UK, US, khu vực khác tối đa 100; nên đặt biến thể quan trọng nhất ở đầu.
skus[].idbodystringNo900000000000000001Mã định danh.
skus[].global_quantitybodyintNo1Tồn kho toàn cầu.
skus[].seller_skubodystringNoSKU-MAU-01Mã SKU do người bán quản lý.
skus[].pricebodyobjectNo{"amount": "150000", "currency": "VND"}Giá.
skus[].price.amountbodystringYes150000Số tiền.
skus[].price.currencybodystringYesVNDMã tiền tệ; giá trị liên quan: USD, EUR, EU.
skus[].sales_attributesbodyobject[]No[{"id": "900000000000000001", "name": "Minh họa", "value_id": "900000000000000001", "value_name": "Minh họa", "sku_img": {"uri": "anh-minh-hoa"}}]Thuộc tính bán hàng tạo biến thể.
skus[].sales_attributes[].idbodystringNo900000000000000001Mã định danh.
skus[].sales_attributes[].namebodystringNoMinh họaTên; độ dài tối đa: 20.
skus[].sales_attributes[].value_idbodystringNo900000000000000001Mã giá trị.
skus[].sales_attributes[].value_namebodystringNoMinh họaTên giá trị; độ dài tối đa: 50.
skus[].sales_attributes[].sku_imgbodyobjectNo{"uri": "anh-minh-hoa"}Ảnh biến thể.
skus[].sales_attributes[].sku_img.uribodystringYesanh-minh-hoaURI ảnh đã tải lên; giá trị liên quan: ATTRIBUTE_IMAGE.
skus[].inventorybodyobject[]No[{"global_warehouse_id": "900000000000000001", "quantity": 1}]Tồn kho theo từng kho; số phần tử tối đa: 50.
skus[].inventory[].global_warehouse_idbodystringYes900000000000000001Mã kho toàn cầu.
skus[].inventory[].quantitybodyintYes1Số lượng; giới hạn: [1, 99,999].
skus[].identifier_codebodyobjectNo{"code": 0, "type": "GTIN"}Mã định danh bổ sung.
skus[].identifier_code.codebodystringNo0Mã kết quả; 0 là thành công; giá trị liên quan: X.
skus[].identifier_code.typebodystringNoGTINLoại; giá trị liên quan: GTIN, EAN, UPC, ISBN, JAN.
skus[].sku_unit_countbodystringNoMinh họaSố đơn vị trong SKU; giới hạn: [0.01, 99,999.9999].
skus[].extra_identifier_codesbodystring[]No["Minh họa"]Các mã định danh bổ sung; giá trị liên quan: X.
skus[].external_global_sku_idbodystringNo900000000000000001Mã SKU toàn cầu trong hệ thống bên ngoài; độ dài tối đa: 999.
skus[].sale_pricesbodyobject[]No[{"region": "VN", "amount": "150000"}]Các giá bán.
skus[].sale_prices[].regionbodystringYesVNThị trường; giá trị liên quan: DE, ES, FR, GB, IE, IT, JP, MY, PH, SG, TH, US, VN.
skus[].sale_prices[].amountbodystringYes150000Số tiền.
package_weightbodyobjectNo{"value": "0.5", "unit": "KILOGRAM"}Khối lượng sau đóng gói; khai chính xác để tính phí giao hàng. Khối lượng được ưu tiên khi tính phí nếu bỏ kích thước kiện hàng.
package_weight.valuebodystringYes0.5Giá trị.
package_weight.unitbodystringYesKILOGRAMĐơn vị; giá trị liên quan: KILOGRAM.
certificationsbodyobject[]No[{"id": "900000000000000001", "images": [{"uri": "anh-minh-hoa"}], "files": [{"id": "900000000000000001", "name": "chungnhan.pdf", "format": "PDF"}]}]Chứng nhận sản phẩm; số phần tử tối đa: 10.
certifications[].idbodystringYes900000000000000001Mã định danh.
certifications[].imagesbodyobject[]No[{"uri": "anh-minh-hoa"}]Danh sách ảnh.
certifications[].images[].uribodystringYesanh-minh-hoaURI ảnh đã tải lên; giá trị liên quan: CERTIFICATION_IMAGE.
certifications[].filesbodyobject[]No[{"id": "900000000000000001", "name": "chungnhan.pdf", "format": "PDF"}]Danh sách tệp.
certifications[].files[].idbodystringYes900000000000000001Mã định danh.
certifications[].files[].namebodystringYeschungnhan.pdfTên.
certifications[].files[].formatbodystringYesPDFĐịnh dạng tệp.
package_dimensionsbodyobjectNo{"length": "Minh họa", "width": "Minh họa", "height": "Minh họa", "unit": "CENTIMETER"}Kích thước kiện hàng.
package_dimensions.lengthbodystringYesMinh họaChiều dài.
package_dimensions.widthbodystringYesMinh họaChiều rộng.
package_dimensions.heightbodystringYesMinh họaChiều cao.
package_dimensions.unitbodystringYesCENTIMETERĐơn vị; giá trị liên quan: CENTIMETER.
product_attributesbodyobject[]No[{"id": "900000000000000001", "values": [{"id": "900000000000000001", "name": "Minh họa"}]}]Thuộc tính sản phẩm; điền đủ thuộc tính bắt buộc của ngành hàng.
product_attributes[].idbodystringYes900000000000000001Mã định danh.
product_attributes[].valuesbodyobject[]Yes[{"id": "900000000000000001", "name": "Minh họa"}]Các giá trị; số phần tử tối đa: 300.
product_attributes[].values[].idbodystringNo900000000000000001Mã định danh.
product_attributes[].values[].namebodystringNoMinh họaTên; độ dài tối đa: 2000.
size_chartbodyobjectNo{"image": {"uri": "anh-minh-hoa"}, "template": {"id": "900000000000000001"}}Bỏ trường để giữ bảng hiện tại; gửi object rỗng để xóa bảng; gửi object có nội dung để thay bảng. Kiểm tra ngành hàng có yêu cầu hoặc hỗ trợ bảng kích cỡ trước khi gửi.
size_chart.imagebodyobjectNo{"uri": "anh-minh-hoa"}Ảnh.
size_chart.image.uribodystringYesanh-minh-hoaURI ảnh đã tải lên; giá trị liên quan: SIZE_CHART_IMAGE.
size_chart.templatebodyobjectNo{"id": "900000000000000001"}Mẫu.
size_chart.template.idbodystringYes900000000000000001Mã định danh.
videobodyobjectNo{"id": "900000000000000001"}Video giới thiệu sản phẩm; khuyến nghị tỷ lệ 1:1, độ phân giải HD 720p trở lên, dài 20–60 giây.
video.idbodystringYes900000000000000001Mã định danh.
manufacturerbodyobjectNo{"name": "Minh họa", "address": "Minh họa", "phone_number": "0000000000", "email": "minhhoa@example.com"}Thông tin nhà sản xuất; trường cũ, dùng manufacturer_ids thay thế.
manufacturer.namebodystringNoMinh họaTên.
manufacturer.addressbodystringNoMinh họaĐịa chỉ.
manufacturer.phone_numberbodystringNo0000000000Số điện thoại.
manufacturer.emailbodystringNominhhoa@example.comĐịa chỉ thư điện tử.
manufacturer_idsbodystring[]No["900000000000000001"]Danh sách mã nhà sản xuất.
responsible_person_idsbodystring[]No["900000000000000001"]Danh sách mã người chịu trách nhiệm.
category_versionbodystringNov2Phiên bản cây ngành hàng; v2 là cây 7 cấp tại Mỹ, EU, Đông Nam Á; v1 là cây 3 cấp mặc định cho khu vực khác; giá trị liên quan: US.
external_global_product_idbodystringNo900000000000000001Mã sản phẩm toàn cầu trong hệ thống bên ngoài; độ dài tối đa: 999.

Request examples

curl -s "https://partner.quantri360.com/v1/tiktok/product/202509/global_products/900000000000000001/partial_edit" \
  -H "Authorization: Bearer $KEY"
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.get(
    "https://partner.quantri360.com/v1/tiktok/product/202509/global_products/900000000000000001/partial_edit",
    params={},
    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/tiktok/product/202509/global_products/900000000000000001/partial_edit');
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: 'PUT',
  headers: { Authorization: `Bearer ${KEY}` },
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/tiktok/product/202509/global_products/900000000000000001/partial_edit' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key]);
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Response fields (as returned by TikTok Shop)

NameTypeSampleDescription
codeint0Mã kết quả; 0 là thành công.
messagestringSuccessThông báo kết quả.
request_idstringYEU_CAU_MINH_HOAMã yêu cầu để tra cứu lỗi.
dataobjectDữ liệu.
global_skusobject[]Danh sách SKU toàn cầu.
idstring900000000000000001Mã định danh.
seller_skustringSKU-MAU-01Mã SKU do người bán quản lý.
sales_attributesobject[]Thuộc tính bán hàng tạo biến thể.
idstring900000000000000001Mã định danh.
value_idstring900000000000000001Mã giá trị.
external_global_sku_idstring900000000000000001Mã SKU toàn cầu trong hệ thống bên ngoài; độ dài tối đa: 999.
publish_resultsobject[]Kết quả đăng tại từng thị trường; kiểm tra riêng từng mục.
regionstringVNThị trường; giá trị liên quan: DE, ES, FR, GB, IE, IT, JP, MX, MY, PH, SG, TH, US, VN.
statusstringSUCCESSTrạng thái; giá trị liên quan: SUCCESS, FAILED.
fail_reasonsobject[]Các lý do không đạt.
messagestringSuccessThông báo kết quả.

Response sample

{
  "code": 0,
  "message": "Success",
  "request_id": "YEU_CAU_MINH_HOA",
  "data": {
    "global_skus": [
      {
        "id": "900000000000000001",
        "seller_sku": "SKU-MAU-01",
        "sales_attributes": [
          {
            "id": "900000000000000001",
            "value_id": "900000000000000001"
          }
        ],
        "external_global_sku_id": "900000000000000001"
      }
    ],
    "publish_results": [
      {
        "region": "VN",
        "status": "SUCCESS",
        "fail_reasons": [
          {
            "message": "Success"
          }
        ]
      }
    ]
  }
}

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 TikTok Shop channel)
  4. Call it as in the examples above