Get the uploaded catalog videos within a catalog
GET/catalog/video/get/Via 360: GET https://partner.quantri360.com/v1/tiktok_business/catalog/video/get/
Description
Use this endpoint to retrieve the list of uploaded catalog videos within an E-commerce catalog.
Request
Endpoint
GET https://partner.quantri360.com/v1/tiktok_business/catalog/video/get/
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 | 7000000000000000001 | Tà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
| Name | In | Type | Required | Sample | Description |
|---|---|---|---|---|---|
| bc_id | query | string | Yes | Business Center ID. To obtain the list of Business Centers that you have access to, use /bc/get/. | |
| catalog_id | query | string | Yes | Catalog ID.
To obtain the list of E-commerce catalogs within a Business Center, use /catalog/get/ and retrieve catalog_id values with catalog_type as ECOM.
You need to have Catalog Management or Ad Promotion permission for the catalog. To obtain the catalogs for which you have Catalog Management or Ad Promotion permission, use /bc/asset/get/. Set asset_type to CATALOG to retrieve asset_id values with catalog_role as ADMIN or AD_PROMOTE. | |
| catalog_video_ids | query | string[] | No | The ID list of catalog videos that you want to filter.
Max size: 50.
Note: If you specify a value for catalog_video_ids, the pagination parameters page and page_size will be ignored. | |
| page | query | integer | No | Current page number.
Value range: ≥1. Default value: 1.
Note: If you specify a value for catalog_video_ids, the pagination parameters page and page_size will be ignored. | |
| page_size | query | integer | No | Page size.
Value range: 1-50. Default value: 10.
Note: If you specify a value for catalog_video_ids, the pagination parameters page and page_size will be ignored. |
Request examples
curl -s "https://partner.quantri360.com/v1/tiktok_business/catalog/video/get/?bc_id=&catalog_id=" \ -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/catalog/video/get/",
params={
"bc_id": "",
"catalog_id": ""
},
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/catalog/video/get/');
for (const [k, v] of Object.entries({"bc_id":"","catalog_id":""})) 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/catalog/video/get/' . '?' . http_build_query(['bc_id' => '', 'catalog_id' => '']); $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)
| Name | Type | Sample | Description |
|---|---|---|---|
| code | number | Response code. For the complete list of response codes and descriptions, see Appendix-Return Code. | |
| message | string | Response message. For details, see Appendix - Return Codes. | |
| request_id | string | The log ID of a request, which uniquely identifies the request. | |
| data | object | Returned data. | |
| videos | object[] | The list of catalog videos. | |
| catalog_video_id | string | The ID of the catalog video. Example: `1234567891234567891_1234567891234567891_12345678912345_12345678-a12b-34cd-ef56-7gh89i1j2k3l `. | |
| video_name | string | The name of the video. | |
| video_link | string | The URL of the video file. | |
| sku_id_list | string[] | The list of SKU IDs associated with the video. | |
| category | string | The product category for the video. | |
| brand | string | The brand name for the video. | |
| creator | string | The creator of the video. | |
| video_type | string | The type of the video. | |
| description | string | A short description of the video. | |
| landing_page_url | string | URL of the landing page where you can view and purchase the products that are associated with the video. | |
| custom_label_0 | string | Additional information about the video. | |
| custom_label_1 | string | Additional information about the video. | |
| custom_label_2 | string | Additional information about the video. | |
| custom_label_3 | string | Additional information about the video. | |
| custom_label_4 | string | Additional information about the video. | |
| video_id | string | The video ID generated after the video extraction is complete. | |
| video_signature | string | The MD5 hash of the video. Example: `123abcdefg4a56e789012c3cefa4d567`. | |
| status | string | Video extraction status. Enum values: - `PENDING`: Video extraction is in progress. - `SUCCESS`: Video extraction succeeded. - `FAILED`: Video extraction failed. | |
| create_time | string | The time when the video upload was completed, in the format of `YYYY-MM-DD HH:MM:SS` (UTC+0). Example: `2024-01-01 00:00:00`. Note: When `status` is `PENDING` or `FAILED`, the value of this field will be an empty string (`""`). | |
| active_status | string | The user-controlled activation status of the video. Enum values: - `ACTIVATED`: The video is activated and can be used for ad delivery. - `DEACTIVATED`: The video is deactivated and cannot be used for ad delivery. Deactivated videos may affect the delivery of associated ads in active campaigns. | |
| preview_url | string | Returned only when `status` is `SUCCESS`. The video preview link, which is valid for six hours and needs to be re-acquired after expiration. | |
| page_info | object | Pagination information. | |
| page | integer | Current page number. | |
| page_size | integer | Page size. | |
| total_number | integer | Total number of results. | |
| total_page | integer | Total pages of results. |
Response sample
HTTPS/1.1 200 OK
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"videos": [
{
"video_id": "{{video_id}}",
"preview_url": "{{preview_url}}",
"video_type": "{{video_type}}",
"landing_page_url": "",
"create_time": "{{create_time}}",
"active_status": "DEACTIVATED",
"catalog_video_id": "{{catalog_video_id}}",
"video_link": "{{video_link}}",
"creator": "{{creator}}",
"description": "",
"status": "SUCCESS",
"video_name": "{{video_name}}",
"brand": "br10",
"category": "{{category}}",
"video_signature": "{{video_signature}}",
"sku_id_list": [
"{{sku_id_1}}",
"{{sku_id_2}}",
"{{sku_id_3}}"
]
},
{
"video_id": "{{video_id}}",
"preview_url": "{{preview_url}}",
"video_type": "{{video_type}}",
"landing_page_url": "",
"create_time": "{{create_time}}",
"active_status": "ACTIVATED",
"catalog_video_id": "{{catalog_video_id}}",
"video_link": "{{video_link}}",
"creator": "{{creator}}",
"description": "",
"status": "SUCCESS",
"video_name": "{{video_name}}",
"brand": "{{brand}}",
"category": "{{category}}",
"video_signature": "{{video_signature}}",
"sku_id_list": [
"{{sku_id_1}}",
"{{sku_id_2}}",
"{{sku_id_3}}",
"{{sku_id_4}}",
"{{sku_id_5}}"
]
}
],
"page_info": {
"total_number": 2,
"total_page": 1,
"page": 1,
"page_size": 50
}
}
}
Get started
- Sign up for Partner
- Enable a data type of the Ads (Marketing API) group on the platform page
- Create an API key (tick the TikTok Business channel)
- Call it as in the examples above