VI | EN
Message us on Messenger
Developer resources

Get the uploaded catalog videos within a catalog — TikTok Business API

Get the uploaded catalog videos within a catalog · 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 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

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_idquerystringYesBusiness Center ID. To obtain the list of Business Centers that you have access to, use /bc/get/.
catalog_idquerystringYesCatalog 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_idsquerystring[]NoThe 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.
pagequeryintegerNoCurrent 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_sizequeryintegerNoPage 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)

NameTypeSampleDescription
codenumberResponse code. For the complete list of response codes and descriptions, see Appendix-Return Code.
messagestringResponse message. For details, see Appendix - Return Codes.
request_idstringThe log ID of a request, which uniquely identifies the request.
dataobjectReturned data.
videosobject[]The list of catalog videos.
catalog_video_idstringThe ID of the catalog video. Example:  `1234567891234567891_1234567891234567891_12345678912345_12345678-a12b-34cd-ef56-7gh89i1j2k3l `.
video_namestringThe name of the video.
video_linkstringThe URL of the video file.
sku_id_liststring[]The list of SKU IDs associated with the video.
categorystringThe product category for the video.
brandstringThe brand name for the video.
creatorstringThe creator of the video.
video_typestringThe type of the video.
descriptionstringA short description of the video.
landing_page_urlstringURL of the landing page where you can view and purchase the products that are associated with the video.
custom_label_0stringAdditional information about the video.
custom_label_1stringAdditional information about the video.
custom_label_2stringAdditional information about the video.
custom_label_3stringAdditional information about the video.
custom_label_4stringAdditional information about the video.
video_idstringThe video ID generated after the video extraction is complete.
video_signaturestringThe MD5 hash of the video. Example: `123abcdefg4a56e789012c3cefa4d567`.
statusstringVideo extraction status. Enum values: - `PENDING`: Video extraction is in progress. - `SUCCESS`: Video extraction succeeded. - `FAILED`: Video extraction failed.
create_timestringThe 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_statusstringThe 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_urlstringReturned only when `status` is `SUCCESS`. The video preview link, which is valid for six hours and needs to be re-acquired after expiration.
page_infoobjectPagination information.
pageintegerCurrent page number.
page_sizeintegerPage size.
total_numberintegerTotal number of results.
total_pageintegerTotal 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

  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