VI | EN
Message us on Messenger
Developer resources

Get posts for a Product GMV Max Campaign — TikTok Business API

Get posts for a Product GMV Max Campaign · 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.

Get posts for a Product GMV Max Campaign

GET/gmv_max/video/get/Via 360: GET https://partner.quantri360.com/v1/tiktok_business/gmv_max/video/get/
Description

Bài đăng (video) dùng được cho chiến dịch GMV Max sản phẩm của một gian hàng: id bài, mô tả, sản phẩm gắn kèm, danh tính, thông số video. Dùng để chọn video khi tạo / cập nhật chiến dịch.

  • Không gửi identity_list và để need_auth_code_video = false → luôn ra danh sách RỖNG. Cách đơn giản nhất: gửi need_auth_code_video = true (cách 360 đang dùng) hoặc gửi identity_list.
  • Ba cách chọn video: (1) quảng bá mọi sản phẩm bằng bài có sẵn — không gửi spu_id_list lẫn custom_posts_eligible; (2) vài sản phẩm cụ thể — gửi spu_id_list (≤ 50); (3) một sản phẩm bằng bài tự gắn link — spu_id_list 1 SPU + custom_posts_eligible = true.
  • Danh sách rỗng dù đã đúng tham số: bài chưa được ủy quyền cho tài khoản quảng cáo hoặc bài chưa gắn sản phẩm của gian hàng. Chủ tài khoản TikTok bật ủy quyền quảng cáo cho bài (/business/post/authorize/setting/ trả mã ủy quyền) rồi ủy quyền bài cho tài khoản quảng cáo; kiểm bài có link sản phẩm của đúng gian hàng.

Request

Endpoint

GET https://partner.quantri360.com/v1/tiktok_business/gmv_max/video/get/

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_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.

Request parameters

NameInTypeRequiredSampleDescription
store_idquerystringYes7495000000000000001Id gian hàng TikTok Shop — lấy store_id ở /gmv_max/store/list/ (chọn gian hàng có is_gmv_max_available = true).
store_authorized_bc_idquerystringYes7300000000000000001Id Business Center được cấp quyền vào gian hàng — store_authorized_bc_id đi kèm store_id ở /gmv_max/store/list/.
need_auth_code_videoqueryboolNotruetrue = gồm cả bài của danh tính AUTH_CODE (bài được ủy quyền bằng mã). Mặc định false.
identity_listqueryobject[]No[{"identity_id":"7100000000000000001","identity_type":"TTS_TT","store_id":"7495000000000000001"}]Mảng JSON danh tính để lọc (tối đa 20), lấy ở /gmv_max/identity/get/ (chọn product_gmv_max_available = true). Mỗi phần tử: identity_id, identity_type (TT_USER · BC_AUTH_TT · TTS_TT), kèm identity_authorized_bc_id khi BC_AUTH_TT, identity_authorized_shop_id khi danh tính có trường này, store_id khi TTS_TT.
spu_id_listquerystring[]No["1729000000000000001"]Mảng JSON id SPU để lọc. Không gửi = video của mọi sản phẩm. Tối đa 50; khi custom_posts_eligible = true thì đúng 1. Lấy SPU ở /store/product/get/ (ad_creation_eligible = GMV_MAX, chọn status = AVAILABLE và gmv_max_ads_status = UNOCCUPIED).
custom_posts_eligiblequeryboolNotrue = lấy video dùng được để tự gắn link sản phẩm (bài tùy chỉnh) cho ĐÚNG MỘT sản phẩm trong spu_id_list. Mặc định false.
sort_fieldquerystringNoGMVChỉ khi custom_posts_eligible không bật: GMV (mặc định) · POST_TIME · VIDEO_VIEWS · VIDEO_LIKES · CLICK_THROUGH_RATE · PRODUCT_CLICKS.
sort_typequerystringNoDESCDESC (mặc định) · ASC. Khi custom_posts_eligible = true: luôn sắp theo thời gian đăng, mới nhất trước; ASC để cũ nhất trước.
keywordquerystringNoTìm theo mô tả (gần đúng, nhiều ngôn ngữ) hoặc theo id bài (chuỗi số ≥ 19 ký tự, khớp chính xác).
pagequeryintNo1Trang, từ 1. Mặc định 1.
page_sizequeryintNo50Số dòng mỗi trang: 1–50, mặc định 10.

Pagination

Tăng page tới khi page = data.page_info.total_page.

Request examples

curl -s "https://partner.quantri360.com/v1/tiktok_business/gmv_max/video/get/?platform_shop_id=7000000000000000001&store_id=7495000000000000001&store_authorized_bc_id=7300000000000000001&need_auth_code_video=true&sort_field=GMV&sort_type=DESC&page=1&page_size=20" \
  -H "Authorization: Bearer $KEY"
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.get(
    "https://partner.quantri360.com/v1/tiktok_business/gmv_max/video/get/",
    params={
        "platform_shop_id": "7000000000000000001",
        "store_id": "7495000000000000001",
        "store_authorized_bc_id": "7300000000000000001",
        "need_auth_code_video": True,
        "sort_field": "GMV",
        "sort_type": "DESC",
        "page": 1,
        "page_size": 20
    },
    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/gmv_max/video/get/');
for (const [k, v] of Object.entries({"platform_shop_id":"7000000000000000001","store_id":"7495000000000000001","store_authorized_bc_id":"7300000000000000001","need_auth_code_video":true,"sort_field":"GMV","sort_type":"DESC","page":1,"page_size":20})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'GET',
  headers: { Authorization: `Bearer ${KEY}` },
});
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/gmv_max/video/get/' . '?' . http_build_query(['platform_shop_id' => '7000000000000000001', 'store_id' => '7495000000000000001', 'store_authorized_bc_id' => '7300000000000000001', 'need_auth_code_video' => 'true', 'sort_field' => 'GMV', 'sort_type' => 'DESC', 'page' => 1, 'page_size' => 20]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key]);
$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 Business)

NameTypeSampleDescription
codeint00 = thành công; khác 0 xem `message` (TikTok trả HTTP 200 kèm code lỗi; vd 40002 = tham số sai, message liệt kê giá trị hợp lệ).
messagestringOKThông điệp của TikTok.
request_idstring2021080307532501024502410704A7306FMã request TikTok — ghi lại khi cần tra lỗi.
dataobjectDữ liệu.
item_listobject[]Bài dùng được.
item_idstring7650000000000000001Id bài — dùng làm `item_id` khi đưa video vào chiến dịch.
textstringMô tả bài.
spu_id_liststring[]["1729000000000000001"]SPU gắn với bài. Không có trường này = bài không có link sản phẩm.
can_change_anchorbooltrue`true` = gắn được link sản phẩm khác (tạo bài tùy chỉnh) · `false` = không dùng làm bài tùy chỉnh được.
identity_infoobjectDanh tính của bài.
identity_idstring
identity_typestringAUTH_CODE`AUTH_CODE` = người dùng ủy quyền bằng mã ủy quyền (tài khoản / bài) · `TT_USER` = tài khoản TikTok gắn với tài khoản TikTok for Business · `BC_AUTH_TT` = tài khoản TikTok đã thêm vào Business Center và được chủ tài khoản đồng ý · `TTS_TT` = tài khoản TikTok chính thức của gian hàng TikTok Shop.
identity_authorized_bc_idstringKhi `BC_AUTH_TT`.
identity_authorized_shop_idstringMột số `BC_AUTH_TT`.
store_idstringKhi `TTS_TT`.
display_namestringTên hiển thị.
profile_imagestringẢnh đại diện — link TẠM, khoảng 48 giờ.
video_infoobjectThông số video.
video_idstringId video.
video_cover_urlstringẢnh bìa — link TẠM, khoảng 24 giờ.
preview_urlstringLink xem trước — link TẠM, 6 giờ.
widthint1080px.
heightint1920px.
durationfloat15.5Giây.
fpsint30Khung hình / giây.
bit_rateintbps.
sizeintByte.
formatstringmp4
definitionstring1080p
signaturestringMD5 của file.
page_infoobjectPhân trang.
pageint1Trang hiện tại.
page_sizeintCỡ trang.
total_numberint57Tổng số dòng.
total_pageint3Tổng số trang.

Get started

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