VI | EN
Message us on Messenger
Developer resources

Get products within a TikTok Shop — TikTok Business API

Get products within a TikTok Shop · 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 products within a TikTok Shop

GET/store/product/get/Via 360: GET https://partner.quantri360.com/v1/tiktok_business/store/product/get/
Description

Sản phẩm (theo SPU) trong gian hàng TikTok Shop: tên, ảnh, giá thấp / cao nhất, đã bán, tồn, trạng thái dùng được cho quảng cáo, và (khi lọc GMV Max) sản phẩm đã nằm trong chiến dịch GMV Max nào chưa.

  • Thiếu advertiser_id khi có ad_creation_eligible → TikTok báo lỗi tham số.

Request

Endpoint

GET https://partner.quantri360.com/v1/tiktok_business/store/product/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
bc_idquerystringYes7300000000000000001Id Business Center = store_authorized_bc_id của gian hàng ở /gmv_max/store/list/ hoặc /store/list/.
store_idquerystringYes7495000000000000001Id gian hàng TikTok Shop = store_id ở /gmv_max/store/list/ hoặc /store/list/.
filteringqueryobjectNo{"ad_creation_eligible":"GMV_MAX","product_status":"AVAILABLE"}Bộ lọc (JSON): - item_group_ids: mảng id SPU, tối đa 10. - ad_creation_eligible: GMV_MAX = kèm khả năng dùng cho GMV Max sản phẩm · CUSTOM_SHOP_ADS = cho Shopping Ads (video / sản phẩm). Không gửi = không có thông tin GMV Max. Có trường này thì PHẢI gửi thêm `advertiser_id` = đúng id tài khoản quảng cáo đang dùng (bằng `platform_shop_id`) — 360 không tự gắn trong trường hợp này. - product_name: lọc theo tên. - product_status (chỉ khi GMV_MAX): AVAILABLE · NOT_AVAILABLE · ALL (mặc định). - exclude_gmv_max_occupied_products: true = bỏ sản phẩm đã nằm trong một chiến dịch GMV Max.
sort_fieldquerystringNohistorical_salesmin_price · historical_sales · update_time.
sort_typequerystringNoDESCASC · DESC.
pagequeryintNo1Trang, từ 1. Mặc định 1.
page_sizequeryintNo100Số dòng mỗi trang: 1–100, 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/store/product/get/?platform_shop_id=7000000000000000001&advertiser_id=7000000000000000001&bc_id=7300000000000000001&store_id=7495000000000000001&filtering=%7B%22ad_creation_eligible%22%3A%22GMV_MAX%22%2C%22product_status%22%3A%22AVAILABLE%22%7D&sort_field=historical_sales&sort_type=DESC&page=1&page_size=50" \
  -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/store/product/get/",
    params={
        "platform_shop_id": "7000000000000000001",
        "advertiser_id": "7000000000000000001",
        "bc_id": "7300000000000000001",
        "store_id": "7495000000000000001",
        "filtering": {
            "ad_creation_eligible": "GMV_MAX",
            "product_status": "AVAILABLE"
        },
        "sort_field": "historical_sales",
        "sort_type": "DESC",
        "page": 1,
        "page_size": 50
    },
    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/store/product/get/');
for (const [k, v] of Object.entries({"platform_shop_id":"7000000000000000001","advertiser_id":"7000000000000000001","bc_id":"7300000000000000001","store_id":"7495000000000000001","filtering":{"ad_creation_eligible":"GMV_MAX","product_status":"AVAILABLE"},"sort_field":"historical_sales","sort_type":"DESC","page":1,"page_size":50})) 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/store/product/get/' . '?' . http_build_query(['platform_shop_id' => '7000000000000000001', 'advertiser_id' => '7000000000000000001', 'bc_id' => '7300000000000000001', 'store_id' => '7495000000000000001', 'filtering' => '{"ad_creation_eligible":"GMV_MAX","product_status":"AVAILABLE"}', 'sort_field' => 'historical_sales', 'sort_type' => 'DESC', 'page' => 1, 'page_size' => 50]);
$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.
store_productsobject[]Sản phẩm của trang hiện tại.
item_group_idstring1729000000000000001Id SPU — dùng làm `spu_id_list` ở /gmv_max/video/get/, `asset_ids` (loại `SPU`) ở /gmv_max/occupied_custom_shop_ads/list/.
store_idstring7495000000000000001
titlestringÁo sơ mi nam dài tayTên sản phẩm.
product_image_urlstringẢnh sản phẩm.
min_pricestring299000Giá thấp nhất (chuỗi số). Một giá duy nhất → `min_price` = `max_price`.
max_pricestring349000Giá cao nhất.
currencystringVNDTiền tệ.
historical_salesint1520Số lần đã bán (lũy kế).
quantityint5Số lượng trong gian hàng.
categorystringNgành hàng.
statusstringAVAILABLE`AVAILABLE` = dùng được cho quảng cáo · `NOT_AVAILABLE` = không.
update_timestring2026-10-20 00:00:00Lần cập nhật cuối, `YYYY-MM-DD HH:MM:SS` giờ UTC.
gmv_max_ads_statusstringUNOCCUPIEDChỉ khi có `ad_creation_eligible`: `OCCUPIED` = đang chạy trong một chiến dịch GMV Max sản phẩm đang bật · `UNOCCUPIED` = chưa. Dùng được cho GMV Max khi `status = AVAILABLE` VÀ `UNOCCUPIED`.
is_running_custom_shop_adsboolfalseChỉ khi `ad_creation_eligible = GMV_MAX`: `true` = sản phẩm đang chạy Shopping Ads (video / sản phẩm) đang bật — xem quảng cáo nào ở /gmv_max/occupied_custom_shop_ads/list/ (loại `SPU`), tắt bằng /ad/status/update/ (`DISABLE`).
catalog_idstringĐã ngừng, luôn null.
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