tiktok.product.202309.categories.recommend
POST/product/202309/categories/recommendVia 360: POST https://partner.quantri360.com/v1/tiktok/product/202309/categories/recommend
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
Gợi ý ngành hàng từ tiêu đề, mô tả và ảnh sản phẩm. Nội dung phải dùng ngôn ngữ của thị trường đích.
- Gọi qua /v1/tiktok/product/202309/categories/recommend 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. Gửi nội dung sản phẩm để tạo gợi ý ngành hàng.
- HTTP 200 vẫn có thể có lỗi nghiệp vụ; kiểm code trước khi dùng kết quả.
Request
Endpoint
POST https://partner.quantri360.com/v1/tiktok/product/202309/categories/recommend
Authentication & shop
| Name | In | Type | Sample | Description |
|---|---|---|---|---|
| Authorization | header | header | Bearer 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_id | query | string | 100001 | Gian 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
| Name | In | Type | Required | Sample | Description |
|---|---|---|---|---|---|
| category_version | body | string | No | v2 | Phiê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, EU, SEA. |
| description | body | string | No | <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. |
| images | body | object[] | No | [{"uri": "anh-minh-hoa"}] | Danh sách ảnh. |
| images[].uri | body | string | No | anh-minh-hoa | URI ảnh đã tải lên. |
| include_prohibited_categories | body | bool | No | false | Bao gồm ngành hàng cấm đăng. |
| listing_platform | body | string | No | TIKTOK_SHOP | Nền tảng đăng sản phẩm; giá trị liên quan: TIKTOK_SHOP, TOKOPEDIA. |
| locale | body | string | No | vi-VN | Mã ngôn ngữ hiển thị; mặc định theo gian hàng; giá trị liên quan: BCP, CZ, AT, BE, DE, GR, GB, IE, US, ES, MX, FR, HU, IT, JP, MY, NL, PL, BR, PT, TH, VN, CN. |
| origin_platform_product_type | body | string | No | Minh họa | Loại sản phẩm trên nền tảng nguồn. |
| origin_platform_vendor | body | string | No | Thương hiệu minh họa | Nhà cung cấp hoặc thương hiệu trên nền tảng nguồn. |
| origin_platform_tags | body | string[] | No | ["Minh họa"] | Các nhãn trên nền tảng nguồn. |
| origin_platform_category | body | object | No | {"id": "900000000000000001", "name": "Minh họa", "full_name": "Minh họa", "is_leaf": false, "is_root": false} | Ngành hàng trên nền tảng nguồn. |
| origin_platform_category.id | body | string | No | 900000000000000001 | Mã định danh. |
| origin_platform_category.name | body | string | No | Minh họa | Tên. |
| origin_platform_category.full_name | body | string | No | Minh họa | Tên đầy đủ hoặc đường dẫn ngành hàng. |
| origin_platform_category.is_leaf | body | bool | No | false | Có phải ngành hàng lá hay không. |
| origin_platform_category.is_root | body | bool | No | false | Có phải ngành hàng gốc hay không. |
| origin_platform_product_meta_data | body | object | No | {"attribute_value_list": [{"name": "Minh họa", "values": ["Minh họa"]}]} | Thông tin bổ sung từ nền tảng nguồn. |
| origin_platform_product_meta_data.attribute_value_list | body | object[] | No | [{"name": "Minh họa", "values": ["Minh họa"]}] | Danh sách thuộc tính và giá trị. |
| origin_platform_product_meta_data.attribute_value_list[].name | body | string | No | Minh họa | Tên. |
| origin_platform_product_meta_data.attribute_value_list[].values | body | string[] | No | ["Minh họa"] | Các giá trị. |
| product_title | body | string | Yes | Áo thun cotton cổ tròn minh họa | Tiêu đề sản phẩm; DE, ES, FR, IE, IT, JP, UK, US dài 1–255 ký tự; BR, MX dài 1–300; khu vực khác 25–255 ký tự. |
| is_live_quick | body | bool | No | false | Sản phẩm LIVE_QUICK; chỉ người bán có quyền tương ứng mới được tạo; giá trị liên quan: LIVE_QUICK. |
Request examples
curl -s -X POST "https://partner.quantri360.com/v1/tiktok/product/202309/categories/recommend" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"category_version":"v2","description":"<p>Sản phẩm minh họa.</p>","images":[{"uri":"anh-minh-hoa"}],"include_prohibited_categories":false,"listing_platform":"TIKTOK_SHOP","locale":"vi-VN","origin_platform_product_type":"Minh họa","origin_platform_vendor":"Thương hiệu minh họa","origin_platform_tags":["Minh họa"],"origin_platform_category":{"id":"900000000000000001","name":"Minh họa","full_name":"Minh họa","is_leaf":false,"is_root":false},"origin_platform_product_meta_data":{"attribute_value_list":[{"name":"Minh họa","values":["Minh họa"]}]},"product_title":"Áo thun cotton cổ tròn minh họa","is_live_quick":false}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/tiktok/product/202309/categories/recommend",
params={},
json={
"category_version": "v2",
"description": "<p>Sản phẩm minh họa.</p>",
"images": [
{
"uri": "anh-minh-hoa"
}
],
"include_prohibited_categories": False,
"listing_platform": "TIKTOK_SHOP",
"locale": "vi-VN",
"origin_platform_product_type": "Minh họa",
"origin_platform_vendor": "Thương hiệu minh họa",
"origin_platform_tags": [
"Minh họa"
],
"origin_platform_category": {
"id": "900000000000000001",
"name": "Minh họa",
"full_name": "Minh họa",
"is_leaf": False,
"is_root": False
},
"origin_platform_product_meta_data": {
"attribute_value_list": [
{
"name": "Minh họa",
"values": [
"Minh họa"
]
}
]
},
"product_title": "Áo thun cotton cổ tròn minh họa",
"is_live_quick": False
},
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/202309/categories/recommend');
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({"category_version":"v2","description":"<p>Sản phẩm minh họa.</p>","images":[{"uri":"anh-minh-hoa"}],"include_prohibited_categories":false,"listing_platform":"TIKTOK_SHOP","locale":"vi-VN","origin_platform_product_type":"Minh họa","origin_platform_vendor":"Thương hiệu minh họa","origin_platform_tags":["Minh họa"],"origin_platform_category":{"id":"900000000000000001","name":"Minh họa","full_name":"Minh họa","is_leaf":false,"is_root":false},"origin_platform_product_meta_data":{"attribute_value_list":[{"name":"Minh họa","values":["Minh họa"]}]},"product_title":"Áo thun cotton cổ tròn minh họa","is_live_quick":false}),
});
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/202309/categories/recommend' . '?' . 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, '{"category_version":"v2","description":"<p>Sản phẩm minh họa.</p>","images":[{"uri":"anh-minh-hoa"}],"include_prohibited_categories":false,"listing_platform":"TIKTOK_SHOP","locale":"vi-VN","origin_platform_product_type":"Minh họa","origin_platform_vendor":"Thương hiệu minh họa","origin_platform_tags":["Minh họa"],"origin_platform_category":{"id":"900000000000000001","name":"Minh họa","full_name":"Minh họa","is_leaf":false,"is_root":false},"origin_platform_product_meta_data":{"attribute_value_list":[{"name":"Minh họa","values":["Minh họa"]}]},"product_title":"Áo thun cotton cổ tròn minh họa","is_live_quick":false}');
$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)
| Name | Type | Sample | Description |
|---|---|---|---|
| code | int | 0 | Mã kết quả; 0 là thành công. |
| message | string | Success | Thông báo kết quả. |
| request_id | string | YEU_CAU_MINH_HOA | Mã yêu cầu để tra cứu lỗi. |
| data | object | Dữ liệu. | |
| categories | object[] | Danh sách ngành hàng. | |
| id | string | 900000000000000001 | Mã định danh. |
| is_leaf | bool | false | Có phải ngành hàng lá hay không. |
| level | int | 1 | Cấp trong cây ngành hàng. |
| name | string | Minh họa | Tên. |
| permission_statuses | string[] | Các trạng thái quyền đăng; giá trị liên quan: INVITE_ONLY, NON_MAIN_CATEGORY, AVAILABLE, PROHIBITED, BR, MX. | |
| leaf_category_id | string | 900000000000000001 | Mã ngành hàng lá. |
Response sample
{
"code": 0,
"message": "Success",
"request_id": "YEU_CAU_MINH_HOA",
"data": {
"categories": [
{
"id": "900000000000000001",
"is_leaf": false,
"level": 1,
"name": "Minh họa",
"permission_statuses": [
"INVITE_ONLY"
]
}
],
"leaf_category_id": "900000000000000001"
}
}
Get started
- Sign up for Partner
- Enable a data type of the Sản phẩm group on the platform page
- Create an API key (tick the TikTok Shop channel)
- Call it as in the examples above