VI | EN
Message us on Messenger
Developer resources

Generate Campaign Product Promotion Links in Batch — TikTok Shop API

tiktok.affiliate_partner.202505.campaigns.campaign_id.products.promotion_links.generate_batch · 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.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

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
campaign_idpathstringYes100000000000000101Mã chiến dịch.
category_asset_cipherquerystringNoCATEGORY_ASSET_DEMOMã 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_idsbody[]stringNo["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)

NameTypeSampleDescription
codeint0Mã kết quả; 0 là thành công.
messagestringSuccessThông báo kết quả.
request_idstringDEMO_AFFILIATE_REQUESTMã truy vết yêu cầu.
dataobjectDữ liệu phản hồi.
product_promotion_links[]objectLink quảng bá sản phẩm.
product_idstring100000000000000101Mã sản phẩm.
linkstringhttps://example.com/minh-hoaLiê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

  1. Sign up for Partner
  2. Enable a data type of the Affiliate group on the platform page
  3. Create an API key (tick the TikTok Shop channel)
  4. Call it as in the examples above