VI | EN
Message us on Messenger
Developer resources

Preview Upgraded Smart+ Ads — TikTok Business API

Preview Upgraded Smart+ Ads · 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.

Preview Upgraded Smart+ Ads

POST/smart_plus/ad/preview/Via 360: POST https://partner.quantri360.com/v1/tiktok_business/smart_plus/ad/preview/
Description

Use this endpoint to preview an Upgraded Smart+ Ad that you want to create or an existing Upgraded Smart+ Ad.

Request

Endpoint

POST https://partner.quantri360.com/v1/tiktok_business/smart_plus/ad/preview/

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
preview_typebodystringYesPreview type. Enum value: - ADS_CREATION: Preview an ad by ad creation parameters.
catalog_enabledbodybooleanNoWhether to use catalog in the campaign. Supported values: true, false.
catalog_idbodystringNoRequired when catalog_enabled is true. The ID of the catalog to use in the ad group. To retrieve the catalogs within your Business Center, use /catalog/get/.
catalog_authorized_bc_idbodystringNoRequired when catalog_enabled is true. The ID of the Business Center that the catalog (catalog_id) belongs to.
creative_listbodyobject[]YesA list of creatives. Size range: 1- 31.
ad_text_listbodyobject[]NoRequired when tiktok_item_id is not specified. List of ad texts. Ad texts are shown to your audience as part of your ad creatives, to deliver the message you intend to communicate to them. Max size: 5.
call_to_action_listbodyobject[]NoCall-to-action list. Max size: 3. Note: - This field is not supported for Upgraded Smart+ Lead Generation Campaigns. - The preview link will only display the first call-to-action in this list. - call_to_action_list and call_to_action_id cannot be set at the same time.
ad_configurationbodyobjectNoAdditional configurations.

Request examples

curl -s -X POST "https://partner.quantri360.com/v1/tiktok_business/smart_plus/ad/preview/" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"preview_type":"","creative_list":[{"creative_info":{}}],"ad_text_list":[{}],"call_to_action_list":[{}],"ad_configuration":{}}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/tiktok_business/smart_plus/ad/preview/",
    params={},
    json={
        "preview_type": "",
        "creative_list": [
            {
                "creative_info": {}
            }
        ],
        "ad_text_list": [
            {}
        ],
        "call_to_action_list": [
            {}
        ],
        "ad_configuration": {}
    },
    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/smart_plus/ad/preview/');
for (const [k, v] of Object.entries({})) 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({"preview_type":"","creative_list":[{"creative_info":{}}],"ad_text_list":[{}],"call_to_action_list":[{}],"ad_configuration":{}}),
});
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/smart_plus/ad/preview/' . '?' . http_build_query([]);
$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, '{"preview_type":"","creative_list":[{"creative_info":{}}],"ad_text_list":[{}],"call_to_action_list":[{}],"ad_configuration":{}}');
$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 Codes.
messagestringResponse message. For details, see Appendix - Return Codes.
request_idstringThe log ID of the request, which uniquely identifies a request.
dataobjectReturned data.
preview_linkstringPreview link. Validity period: 30 days.
iframestringThe iframe code snippet with the preview link. You can embed the iframe code into your HTML file.

Response sample

{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "iframe": "<iframe src=\"https://ads.tiktok.com/ad_preview_tool?ad_preview_id={{ad_preview_id}}\"></iframe>",
        "preview_link": "{{preview_link}}"
    }
}

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