VI | EN
Nhắn Messenger
Dành cho developer

Mở phiên đăng video thẳng lên tài khoản — API TikTok Business

Direct Post · gọi qua Quantri360 bằng một API key cho chính tài khoản / tài sản bạn đã kết nối và ủy quyền — 360 lo việc ký request và làm mới phiên đăng nhập bạn đã cấp.

Direct Post

POST/v2/post/publish/video/init/Gọi qua 360: POST https://partner.quantri360.com/v1/tiktok_business/v2/post/publish/video/init/
Endpoint ghi — thay đổi dữ liệu trên TikTok Business. Key phải được tạo với tick "Cho phép gọi API ghi", nếu không sẽ nhận 403 write_not_allowed. Mỗi lần gọi được ghi nhật ký.
Mô tả API

Mở phiên đăng video thẳng lên tài khoản TikTok: trả publish_id và upload_url để bạn đẩy file lên TikTok. Bài đăng theo mức hiển thị bạn chọn.

  • Đẩy file lên upload_url (máy chủ TikTok, hạn 1 giờ) bằng PUT từng phần, header Content-Type: video/mp4 (hoặc video/quicktime, video/webm) và Content-Range: bytes <đầu>-<cuối>/<tổng>. Video MP4 / MOV / WebM, tối đa 4 GB, 23–60 khung hình/giây; sai khung hình → FAILED với frame_rate_check_failed.
  • App chưa được TikTok duyệt cho đăng thẳng chỉ đăng được lên tài khoản đang để riêng tư; tài khoản công khai nhận lỗi unaudited_client_can_only_post_to_private_accounts. Khi đó dùng /v2/post/publish/inbox/video/init/ (gửi vào bản nháp).
  • Theo quy định của TikTok, ứng dụng của bạn phải cho người dùng xem tài khoản sẽ đăng, tự chọn mức hiển thị và đồng ý trước khi đăng (Content Sharing Guidelines).

Request

Địa chỉ

POST https://partner.quantri360.com/v1/tiktok_business/v2/post/publish/video/init/

Xác thực & gian hàng

TênVị tríKiểuMẫuMô tả
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_idquerystring7000000000000000001Tài sản TikTok Business đã kết nối — "Mã tài sản" ở trang Nền tảng hoặc GET /v1/platforms (tài khoản quảng cáo cho Marketing API, tài khoản TikTok cho Organic / Messaging). Có thể bỏ khi chỉ kết nối một tài sản.

Tham số request

TênVị tríKiểuBắt buộcMẫuMô tả
post_infobodyobjectCó{"title":"Mẫu mới #thoitrang","privacy_level":"SELF_ONLY","disable_comment":false,"disable_duet":false,"disable_stitch":false}Thông tin bài: title (mô tả, tối đa 2.200 ký tự, có thể có #hashtag), privacy_level (một giá trị trong privacy_level_options của creator_info — bắt buộc, không có mặc định), disable_comment / disable_duet / disable_stitch, brand_organic_toggle (quảng bá thương hiệu của mình), brand_content_toggle (nội dung có tài trợ — không dùng với SELF_ONLY).
source_infobodyobjectCó{"source":"FILE_UPLOAD","video_size":26045680,"chunk_size":26045680,"total_chunk_count":1}Nguồn video. source = FILE_UPLOAD: bạn tự đẩy file lên upload_url trả về. video_size = số byte. Video ≤ 64 MB: một phần, chunk_size = video_size, total_chunk_count = 1. Lớn hơn: mỗi phần 5–64 MB, total_chunk_count = floor(video_size / chunk_size), phần cuối nhận phần dư (tối đa 128 MB).

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/tiktok_business/v2/post/publish/video/init/?platform_shop_id=-000AbCdEfGhIjKlMnOpQrStUvWxYz012345" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"post_info":{"title":"Mẫu mới #thoitrang","privacy_level":"SELF_ONLY"},"source_info":{"source":"FILE_UPLOAD","video_size":26045680,"chunk_size":26045680,"total_chunk_count":1}}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/tiktok_business/v2/post/publish/video/init/",
    params={
        "platform_shop_id": "-000AbCdEfGhIjKlMnOpQrStUvWxYz012345"
    },
    json={
        "post_info": {
            "title": "Mẫu mới #thoitrang",
            "privacy_level": "SELF_ONLY"
        },
        "source_info": {
            "source": "FILE_UPLOAD",
            "video_size": 26045680,
            "chunk_size": 26045680,
            "total_chunk_count": 1
        }
    },
    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_business/v2/post/publish/video/init/');
for (const [k, v] of Object.entries({"platform_shop_id":"-000AbCdEfGhIjKlMnOpQrStUvWxYz012345"})) 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({"post_info":{"title":"Mẫu mới #thoitrang","privacy_level":"SELF_ONLY"},"source_info":{"source":"FILE_UPLOAD","video_size":26045680,"chunk_size":26045680,"total_chunk_count":1}}),
});
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_business/v2/post/publish/video/init/' . '?' . http_build_query(['platform_shop_id' => '-000AbCdEfGhIjKlMnOpQrStUvWxYz012345']);
$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, '{"post_info":{"title":"Mẫu mới #thoitrang","privacy_level":"SELF_ONLY"},"source_info":{"source":"FILE_UPLOAD","video_size":26045680,"chunk_size":26045680,"total_chunk_count":1}}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Tham số phản hồi (nguyên của TikTok Business)

TênKiểuMẫuMô tả
dataobjectDữ liệu.
publish_idstringv_pub_file~v2.123456789Mã đăng — dùng cho /v2/post/publish/status/fetch/.
upload_urlstringhttps://open-upload-sg.tiktokapis.com/upload/?…Nơi đẩy file.
errorobjectKết quả: `code = "ok"` là thành công, khác "ok" là lỗi (xem `message`).
codestringokMã kết quả.
messagestringMô tả lỗi.
log_idstring202610261729…Mã nhật ký của TikTok, gửi kèm khi cần hỗ trợ.

Bắt đầu dùng

  1. Đăng ký tài khoản Partner
  2. Mở loại dữ liệu thuộc nhóm Tài khoản TikTok (Organic API) ở trang nền tảng
  3. Tạo API key (tick kênh TikTok Business)
  4. Gọi theo ví dụ ở trên