tiktok.affiliate_partner.202505.campaigns.campaign_id.products.promotion_links.generate_batch
POST/affiliate_partner/202505/campaigns/{campaign_id}/products/promotion_links/generate_batchVia 360: POST https://partner.quantri360.com/v1/tiktok/affiliate_partner/202505/campaigns/{campaign_id}/products/promotion_links/generate_batch
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
DÀNH CHO ĐỐI TÁC AFFILIATE: Tạo hàng loạt link quảng bá sản phẩm trong chiến dịch đang hoạt động. Với chiến dịch OPS hoặc do người bán tạo, dùng mã chiến dịch sau khi đối tác tham gia, không dùng mã gốc.
- 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 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 affiliate. Tạo hàng loạt link quảng bá sản phẩm trong chiến dịch đang hoạt động. Với chiến dịch OPS hoặc do người bán tạo, dùng mã chiến dịch sau khi đối tác tham gia, không dùng mã gốc.
- 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/affiliate_partner/202505/campaigns/{campaign_id}/products/promotion_links/generate_batch
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 |
|---|---|---|---|---|---|
| campaign_id | path | string | Yes | 100000000000000101 | Mã chiến dịch. |
| category_asset_cipher | query | string | No | CATEGORY_ASSET_DEMO | Mã tài sản danh mục đã ủy quyền cho đối tác; dùng đúng mã của kết nối đối tác. |
| product_ids | body | []string | No | ["100000000000000101"] | Danh sách mã sản phẩm, tối đa 50. |
Request examples
curl -s -X POST "https://partner.quantri360.com/v1/tiktok/affiliate_partner/202505/campaigns/100000000000000101/products/promotion_links/generate_batch" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/tiktok/affiliate_partner/202505/campaigns/100000000000000101/products/promotion_links/generate_batch",
params={},
json={},
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_partner/202505/campaigns/100000000000000101/products/promotion_links/generate_batch');
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({}),
});
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_partner/202505/campaigns/100000000000000101/products/promotion_links/generate_batch' . '?' . 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, '{}');
$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. | |
| product_promotion_links | []object | Link quảng bá sản phẩm. | |
| product_id | string | 100000000000000101 | Mã sản phẩm. |
| link | string | https://example.com/minh-hoa | Liên kết. |
| failed_product_ids | []string | ["100000000000000101"] | Thất bại sản phẩm các mã. |
Response sample
{
"code": 0,
"message": "Success",
"request_id": "DEMO_AFFILIATE_REQUEST",
"data": {
"product_promotion_links": [
{
"product_id": "100000000000000101",
"link": "https://example.com/minh-hoa"
}
],
"failed_product_ids": []
}
}
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