tiktok.affiliate_seller.202410.open_collaborations.sample_rules
POST/affiliate_seller/202410/open_collaborations/sample_rulesVia 360: POST https://partner.quantri360.com/v1/tiktok/affiliate_seller/202410/open_collaborations/sample_rules
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
Tạo, cập nhật hoặc ngừng quy tắc nhận mẫu của sản phẩm hợp tác mở, gồm thời gian và ngưỡng creator đủ điều kiện.
- Gọi qua /v1/tiktok/affiliate_seller/202410/open_collaborations/sample_rules 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 affiliate. Tạo, cập nhật hoặc ngừng quy tắc nhận mẫu của sản phẩm hợp tác mở, gồm thời gian và ngưỡng creator đủ điều kiện.
- 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_seller/202410/open_collaborations/sample_rules
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_id | body | string | Yes | 100000000000000101 | Mã sản phẩm. |
| sample_rule | body | object | No | Quy tắc nhận mẫu. | |
| sample_rule.sample_quota | body | int | No | 1 | Tổng số mẫu người bán cấp cho creator yêu cầu. |
| sample_rule.is_sample_time_unlimited | body | bool | No | false | true cho yêu cầu mẫu mọi lúc; false phải gửi cả start_time và end_time. |
| sample_rule.start_time | body | int | No | 1790812800 | Thời điểm mở nhận yêu cầu mẫu, Unix giây; gửi cùng end_time. |
| sample_rule.end_time | body | int | No | 1790899200 | Thời điểm đóng nhận yêu cầu mẫu, Unix giây; gửi cùng start_time. |
| sample_rule.thresholds | body | object | No | Ngưỡng. | |
| sample_rule.thresholds.minimum_follower_count | body | int | No | 1 | Số người theo dõi creator phải lớn hơn hoặc bằng ngưỡng này. |
| sample_rule.thresholds.minimum_gmv | body | int | No | 10000 | GMV 30 ngày của creator phải lớn hơn ngưỡng này. |
| sample_rule.thresholds.avg_ec_video_views | body | int | No | 1 | Lượt xem video thương mại trung bình 30 ngày của creator phải lớn hơn hoặc bằng ngưỡng này. |
| sample_rule.thresholds.category_ids | body | []string | No | ["100000000000000101"] | Các mã ngành hàng cấp một. Creator đủ điều kiện nếu ít nhất một mã thuộc ba ngành có GMV cao nhất của creator trong 30 ngày. Mặc định không giới hạn. |
| sample_rule.thresholds.predicted_fulfillment_rank | body | string | No | LIVE | Ngưỡng khả năng đăng nội dung sau nhận mẫu: ALL mọi creator; LOW từ thấp; MEDIUM từ trung bình; HIGH cao. |
| sample_rule.activate_status | body | string | Yes | ACTIVATE | ACTIVATE để tạo / sửa quy tắc và phải gửi chi tiết; DEACTIVATE để tắt, chỉ cần xác định product_id. |
Request examples
curl -s -X POST "https://partner.quantri360.com/v1/tiktok/affiliate_seller/202410/open_collaborations/sample_rules" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"product_id":"100000000000000101","sample_rule":{"activate_status":"ACTIVATE","sample_quota":10,"is_sample_time_unlimited":true}}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/tiktok/affiliate_seller/202410/open_collaborations/sample_rules",
params={},
json={
"product_id": "100000000000000101",
"sample_rule": {
"activate_status": "ACTIVATE",
"sample_quota": 10,
"is_sample_time_unlimited": True
}
},
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_seller/202410/open_collaborations/sample_rules');
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_id":"100000000000000101","sample_rule":{"activate_status":"ACTIVATE","sample_quota":10,"is_sample_time_unlimited":true}}),
});
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_seller/202410/open_collaborations/sample_rules' . '?' . 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_id":"100000000000000101","sample_rule":{"activate_status":"ACTIVATE","sample_quota":10,"is_sample_time_unlimited":true}}');
$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. |
Response sample
{
"code": 0,
"message": "Success",
"request_id": "DEMO_AFFILIATE_REQUEST",
"data": {}
}
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