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

Mở phiên gửi video vào bản nháp (hộp thư TikTok) — API TikTok Business

Upload · 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.

Upload

POST/v2/post/publish/inbox/video/init/Gọi qua 360: POST https://partner.quantri360.com/v1/tiktok_business/v2/post/publish/inbox/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 gửi video vào bản nháp: video vào hộp thư TikTok của tài khoản, người dùng mở app TikTok để chỉnh và tự bấm đăng. Trả publish_id và upload_url.

  • Đẩ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.
  • Xong khi trạng thái là SEND_TO_USER_INBOX (thường dưới một phút với video vài chục MB).

Request

Địa chỉ

POST https://partner.quantri360.com/v1/tiktok_business/v2/post/publish/inbox/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ả
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/inbox/video/init/?platform_shop_id=-000AbCdEfGhIjKlMnOpQrStUvWxYz012345" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"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/inbox/video/init/",
    params={
        "platform_shop_id": "-000AbCdEfGhIjKlMnOpQrStUvWxYz012345"
    },
    json={
        "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/inbox/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({"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/inbox/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, '{"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_inbox_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