tiktok.affiliate_creator.202509.open_collaborations.products
POST/affiliate_creator/202509/open_collaborations/productsVia 360: POST https://partner.quantri360.com/v1/tiktok/affiliate_creator/202509/open_collaborations/products
Description
DÀNH CHO CREATOR: Tra thông tin sản phẩm hợp tác mở theo danh sách mã sản phẩm.
- HIỆN CHƯA GỌI ĐƯỢC QUA 360: API này dùng kết nối của creator / đối tác, kết nối gian hàng trả code 36009005. Cần dùng → liên hệ 360.
- API chỉ đọc; code = 0 mới là thành công.
- Thao tác tra cứu thông tin sản phẩm; chưa xác minh phản hồi thành công bằng kết nối creator.
- Chưa xác định cách gửi danh sách product_ids: kiểu trường là []string nhưng mô tả đầu vào yêu cầu mã cách nhau dấu phẩy.
Request
Endpoint
POST https://partner.quantri360.com/v1/tiktok/affiliate_creator/202509/open_collaborations/products
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 |
|---|---|---|---|---|---|
| product_ids | query | []string | No | ["100000000000000101"] | Danh sách mã sản phẩm dạng số, tối đa 50. Mô tả đầu vào yêu cầu các mã cách nhau dấu phẩy; kiểu trường được liệt kê là []string. |
Request examples
curl -s -X POST "https://partner.quantri360.com/v1/tiktok/affiliate_creator/202509/open_collaborations/products" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"product_ids":["100000000000000101"]}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/tiktok/affiliate_creator/202509/open_collaborations/products",
params={},
json={
"product_ids": [
"100000000000000101"
]
},
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/affiliate_creator/202509/open_collaborations/products');
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({"product_ids":["100000000000000101"]}),
});
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/affiliate_creator/202509/open_collaborations/products' . '?' . 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, '{"product_ids":["100000000000000101"]}');
$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 | DEMO_AFFILIATE_REQUEST | Mã truy vết yêu cầu. |
| data | object | Dữ liệu phản hồi. | |
| products | []object | Danh sách sản phẩm. | |
| shop | object | Gian hàng. | |
| name | string | Chiến dịch minh họa | Tên. |
| id | string | 100000000000000101 | Mã định danh. Giá trị bổ sung: SUCCEEDED, GET. |
| has_inventory | bool | true | Còn hàng. |
| units_sold | int | 1 | Số lượng đã bán. |
| title | string | Sản phẩm minh họa | Tiêu đề. |
| sale_region | string | Minh họa | Bán vùng. |
| main_image_url | string | https://example.com/minh-hoa | Chính ảnh url. |
| detail_link | string | https://example.com/minh-hoa | Chi tiết liên kết. |
| original_price | object | Giá gốc. | |
| currency | string | VND | Mã tiền tệ. Giá trị bổ sung: BRL, EUR, GBP, IDR, JPY, MXN, MYR, PHP, SGD, THB, USD, VND. |
| minimum_amount | string | 10000 | Số tiền thấp nhất. |
| maximum_amount | string | 10000 | Số tiền cao nhất. |
| category_chains | []object | Chuỗi ngành hàng từ cha đến con. | |
| id | string | 100000000000000101 | Mã định danh. Giá trị bổ sung: SUCCEEDED, GET. |
| local_name | string | Minh họa | Tên ngành hàng tại thị trường. |
| is_leaf | bool | true | Là ngành hàng lá. |
| parent_id | string | 100000000000000101 | Mã ngành hàng cha. |
| commission | object | Hoa hồng. | |
| rate | int | 1000 | Tỷ lệ. |
| currency | string | VND | Mã tiền tệ. Giá trị bổ sung: BRL, EUR, GBP, IDR, JPY, MXN, MYR, PHP, SGD, THB, USD, VND. |
| amount | string | 10000 | Số tiền. Giá trị bổ sung: IVA. |
| sales_price | object | Doanh số giá. | |
| currency | string | VND | Mã tiền tệ. Giá trị bổ sung: BRL, EUR, GBP, IDR, JPY, MXN, MYR, PHP, SGD, THB, USD, VND. |
| minimum_amount | string | 10000 | Số tiền thấp nhất. |
| maximum_amount | string | 10000 | Số tiền cao nhất. |
| shop_ads_commission | object | Gian hàng quảng cáo hoa hồng. | |
| rate | int | 1000 | Tỷ lệ. |
Response sample
{
"code": 0,
"message": "Success",
"request_id": "DEMO_AFFILIATE_REQUEST",
"data": {
"products": [
{
"shop": {
"name": "Chiến dịch minh họa"
},
"id": "100000000000000101",
"has_inventory": true,
"units_sold": 1,
"title": "Sản phẩm minh họa",
"sale_region": "Minh họa",
"main_image_url": "https://example.com/minh-hoa",
"detail_link": "https://example.com/minh-hoa",
"original_price": {
"currency": "VND",
"minimum_amount": "10000",
"maximum_amount": "10000"
},
"category_chains": [
{
"id": "100000000000000101",
"local_name": "Minh họa",
"is_leaf": true,
"parent_id": "100000000000000101"
}
],
"commission": {
"rate": 1000,
"currency": "VND",
"amount": "10000"
},
"sales_price": {
"currency": "VND",
"minimum_amount": "10000",
"maximum_amount": "10000"
},
"shop_ads_commission": {
"rate": 1000
}
}
]
}
}
Get started
- Sign up for Partner
- Enable a data type of the Affiliate group on the platform page
- Create an API key (tick the TikTok Shop channel)
- Call it as in the examples above