VI | EN
Message us on Messenger
Developer resources

(To be deprecated) Get Legacy Smart+ Campaigns — TikTok Business API

(To be deprecated) Get Legacy Smart+ Campaigns · 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.

(To be deprecated) Get Legacy Smart+ Campaigns

GET/campaign/spc/get/Via 360: GET https://partner.quantri360.com/v1/tiktok_business/campaign/spc/get/
Description

Use this endpoint to obtain detailed information of Smart+ Campaigns and Smart Performance Web Campaigns.

> Important

>

> - Upgraded Smart+ API:

> - We are actively upgrading the Smart+ API to deliver enhanced capabilities and performance. The new Upgraded Smart+ API is already launched. Learn more about Upgraded Smart+ Campaign and available Upgraded Smart+ API endpoints.

> - Get started:

> - Reporting: No additional allowlist required.

> - Campaign Management: To access the upgraded Smart+ experience, contact your TikTok sales representative to have your ad account allowlisted. If your ad account is already in the allowlist, you can directly use the Upgraded Smart+ API creation and modification endpoints.

> - Legacy API Deprecation:

> - After March 31, 2026, you will no longer be able to create legacy Smart+ Campaigns using the /campaign/spc/create/ endpoint.

> - Note that legacy Smart+ Campaigns that have not been migrated will not be transitioned to the new API automatically. Attempts to use the legacy Smart+ API endpoint afterward will result in errors, rendering new campaign creation via this endpoint unavailable.

> - Legacy API deprecation extension request process for existing legacy Smart+ creation developers:

> - 1. Submit a request: If you require an extension, please submit an application via the External Extension Request Form for Legacy Smart+ Creation API.

> - 2. Allowlist processing: After receiving your request, we will process an allowlist entry for the associated developer app ID. After the process, developers will be able to continue calling the /campaign/spc/create/ endpoint until June 30, 2026.

> - 3. Extended timeline for strong business needs: If you have a strong business case requiring an extension beyond June 30, 2026, please specify your use case in the application form, or contact your sales representative directly.

> Note

> Smart Performance Web Campaigns will be deprecated in the next API version. To ensure a smooth API integration, we recommend that you upgrade to Smart+ Web Campaigns as soon as possible. Smart+ Web Campaigns are a new AI-powered automation solution that leverages machine learning to drive business outcomes for advertisers.

Request

Endpoint

GET https://partner.quantri360.com/v1/tiktok_business/campaign/spc/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
campaign_idsquerystring[]YesA list of campaign IDs. Max size: 100.

Request examples

curl -s "https://partner.quantri360.com/v1/tiktok_business/campaign/spc/get/?campaign_ids=%5B%5D" \
  -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/campaign/spc/get/",
    params={
        "campaign_ids": []
    },
    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/campaign/spc/get/');
for (const [k, v] of Object.entries({"campaign_ids":[]})) 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/campaign/spc/get/' . '?' . http_build_query(['campaign_ids' => '[]']);
$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 Codes.
messagestringThe response message. For details, see Appendix - Return Codes.
request_idstringThe log id of a request, which uniquely identifies the request.
dataobjectReturned data.
listobject[]A list of Smart+ Campaigns or Smart Performance Web Campaigns.
advertiser_idstringAdvertiser ID.
campaign_idstringCampaign ID.
operation_statusstringThe status of the campaign. Enum values: - `ENABLE` : The campaign is enabled. - `DISABLE` : The campaign is disabled.
campaign_secondary_statusstringCampaign status (Secondary status). For the supported campaign secondary statuses for a certain primary status, see Supported secondary statuses for a primary status. It is equal to `secondary_status` in /campaign/get/.
is_smart_performance_campaignbooleanWhether the campaign is an automated campaign type. Supported values: - `true`: The campaign is either a Smart+ Campaign or a Smart Performance Web Campaign. - `false`: The campaign is a standard campaign type. Note: If `is_smart_performance_campaign` is `true` and `objective_type` is `WEB_CONVERSIONS`, you can confirm whether the web campaign is a Smart+ Web Campaign or Smart Performance Web Campaign by checking the returned `spc_type`.
objective_typestringAdvertising objective. Currently, we support `APP_PROMOTION`, `WEB_CONVERSIONS`, and `LEAD_GENERATION`.
spc_typestringThe web campaign type. Enum values: - `WEB_ALL_IN_ONE`: Smart+ Web Campaign, where the supported optimization goals include Conversion, Value, Click and Landing page view. - `UNSET`: Smart Performance Web Campaign, where the supported optimization goals are limited to Conversion, Value, and Click.
web_all_in_one_catalog_statusstringThe status of catalog in the Smart+ Web Campaign. Enum values: - `OPEN`: enabled. - `UNSET`: disabled.
app_promotion_typestringApp promotion type. Currently, we only support `APP_INSTALL`.
virtual_objective_typestringThe new objective type. Enum value: `SALES`. Use this field to create a campaign with the Sales objective, the combined objective for Website Conversions and Product Sales objectives. Learn more about the Sales objective.
sales_destinationstringSales destination, the destination where you want to drive your sales. Enum values: - `WEBSITE`: Website. Drive sales on your website. - `WEB_AND_APP`: Website and app. Drive sales on both your website and your app.
campaign_typestringCampaign Type. Currently, we support `REGULAR_CAMPAIGN` and `IOS14_CAMPAIGN`.
campaign_app_profile_page_statestringIndicates the status of the App Profile Page. Enum values: `INVALID`, `UNSET`, `ON`, `OFF`.
is_advanced_dedicated_campaignbooleanWhether the campaign is an Advanced Dedicated Campaign. Advanced Dedicated Campaigns leverage advanced delivery models that benefit from real-time signals. Enum values: `true`, `false`.
disable_skan_campaignbooleanWhether to disable SKAN (SKAdNetwork) attribution, Apple's conversion attribution solution for iOS campaigns. Enum values: - `true`: To disable SKAN attribution. The campaign will not be bound by Dedicated Campaign quota limits and you will be able to retrieve Self Attribution Network (SAN) metrics for the campaign. However, you cannot retrieve SKAN reporting metrics for the campaign. Learn more about SAN integration. - `false`: To enable SKAN attribution. The campaign will be bound by Dedicated Campaign quota limits and you will be able to retrieve SKAN metrics for the campaign.
bid_align_typestringThe attribution type for the Dedicated Campaign. The type determines which attribution network the target CPA (`conversion_bid_price`) or ROAS (`roas_bid`) is based on. Enum values: - `SAN`: SAN. - `SKAN`: SKAN.
campaign_namestringCampaign name.
special_industriesstring[]Ad categories. Enum values: - `HOUSING`: Ads for real estate listings, homeowners insurance, mortgage loans or other related opportunities. - `EMPLOYMENT`: Ads for job offers, internships, professional certification programs or other related opportunities. - `CREDIT`: Ads for credit card offers, auto loans, long-term financing or other related opportunities.
adgroup_secondary_statusstringAd group status (Secondary status). For the supported adgroup secondary statuses for a certain primary status, see Supported secondary statuses for a primary status. It is equal to `secondary_status` in /adgroup/get/.
product_sourcestringProduct source where you want to get products for promotion. Enum value: `CATALOG` (catalog).
catalog_idstringThe ID of the catalog to use in the Smart+ Catalog Ads.
catalog_authorized_bc_idstringThe ID of the Business Center that the catalog (`catalog_id`) belongs to.
product_specific_typestringDifferent dimensions to choose products. Enum values: - `ALL`: Allow TikTok to dynamically choose from all products. - `PRODUCT_SET`: Specify a product set. TikTok will dynamically choose products from this set. - `CUSTOMIZED_PRODUCTS`: Specify a customized number of products.
product_set_idstringThe ID of a product set.
product_idsstring[]The product IDs of the catalog products.
promotion_typestringPromotion type (Optimization location) and you can decide where you'd like to promote your products using this field. For value definitions, see Enumerations - Promotion Type.
app_idstringThe App ID of the app to promote. You can get `app_id` by using the /app/list/ endpoint.
app_typestringThe type of the promoted app. Currently, we support `APP_ANDROID` and `APP_IOS`.
promotion_website_typestringTikTok Instant Page type. Currently, we only support `TIKTOK_NATIVE_PAGE`(To use TikTok Instant Page).
promotion_target_typestringThe optimization location for Lead Generation objective. Enum values: - `INSTANT_PAGE`: Instant Form. To create a fast-loading in-app TikTok Instant Form to collect more leads. - `EXTERNAL_WEBSITE`: Website Form. To use a landing page that has the Website Form or the TikTok Instant Page that redirects to the website with the Website Form to collect more leads.
optimization_goalstringThe measurable results that you'd like to drive your ads with. For enum values, see Enumeration - Optimization Goal.
pixel_idstringPixel ID.
optimization_eventstringConversion event for the ad group. See Conversion events for more.
app_configobject[]Returned when `sales_destination` is `WEB_AND_APP`. Details of the app or apps to promote.
app_idstringThe App ID of the app to promote.
deep_funnel_optimization_statusstringThe status of deep funnel optimization. With deep funnel optimization, you can select a secondary event alongside the primary optimization event, which can help improve campaign effectiveness. Enum values: - `ON`: enabled. - `OFF`: disabled.
deep_funnel_event_sourcestringReturned when `deep_funnel_optimization_status` is `ON`. The event source type. Enum values: - `PIXEL`: Pixel. - `OFFLINE`: Offline Event Set. - `CRM`: CRM Event Set.
deep_funnel_event_source_idstringReturned when `deep_funnel_optimization_status` is `ON`. Event Source ID. - When `deep_funnel_event_source` is `PIXEL` , this field represents a Pixel ID. - When `deep_funnel_event_source` is `OFFLINE`, this field represents an Offline Event Set ID. - When `deep_funnel_event_source` is `CRM`, this field represents a CRM Event Set ID.
deep_funnel_optimization_eventstringReturned when `deep_funnel_optimization_status` is `ON`. Deep funnel optimization event. Example: `SHOPPING`.
bid_typestringBidding strategy. For enum values and their descriptions, see Enumeration - Bidding Strategy.
bid_pricefloatThe target cost per click. The system will aim to get the most results while keeping the average cost per result around or lower than the specified amount.
conversion_bid_pricefloatThe target cost per conversion or cost per landing page view. The system will aim to get the most results while keeping the average cost per result around or lower than the specified amount.
deep_bid_typestringBidding strategy for in-app events. For enum values and their descriptions, see Enumeration - Deep Event Bidding Strategy.
roas_bidfloatTarget ROAS for Value-Based Optimization.
incentive_offer_typestringThe type of incentive offer applicable to the Smart+ Campaign. If your campaign meets the eligibility criteria, but underperforms against certain CPA or Minimum ROAS thresholds you will be reimbursed with part of the gap with ad credits within the same ad account. To learn more about the incentive offer eligibility criteria and the calculation of incentive amount, see Smart+ Incentive Offer (Cost Cap/Minimum ROAS/Target ROAS). Enum values: - `INELIGIBLE`: The campaign is ineligible for any incentive offer. - `COST_CAP_AND_MIN_ROAS`: Ads groups within the campaign that use the Cost Cap or Minimum ROAS/Target ROAS bidding strategy are eligible for the incentive offer.
vbo_windowstringThe time window of the specified bidding strategy for VBO IAA (Value-Based Optimization for in-app advertising) or VBO IAP (Value-Based Optimization for in-app purchase). Enum values: - `SEVEN_DAYS`: The first seven days (day 7). - `ZERO_DAY`: The current day (day 0).
click_attribution_windowstringClick-through window. This attribution window is the time between when a person clicks your ad and then takes an action. Enum values: - `OFF`: Off. - `ONE_DAY`: 1-day click. - `SEVEN_DAYS`: 7-day click. - `FOURTEEN_DAYS`: 14-day click. - `TWENTY_EIGHT_DAYS`: 28-day click.
view_attribution_windowstringView-through window. This attribution window is the time between when a person views your ad and then takes an action. Enum values: - `OFF`: Off. - `ONE_DAY`: 1-day view. - `SEVEN_DAYS`: 7-day view.
engaged_view_attribution_windowstringEngaged view-through window. This attribution window is the time after someone watches at least 6 seconds of your video ad that a conversion is counted. Enum values: - `ONE_DAY`: 1-day engaged view. - `SEVEN_DAYS`: 7-day engaged view. - `FOURTEEN_DAYS`: 14-day engaged view. - `TWENTY_EIGHT_DAYS`: 28-day engaged view.
attribution_event_countstringEvent count (Statistic type). The way that people's actions are counted after only viewing or clicking an ad. Enum values: - `UNSET`: Unset. - `EVERY`: Every. To count multiple events from someone as separate conversions. - `ONCE`: Once. To count multiple events from someone as 1 conversion.
billing_eventstringBid method. See Enumerations - Bid method for optional values.
location_idsstring[]IDs of the locations that you want to target. Use Get locations to get available locations.
languagesstring[]Codes of the languages that you want to target. For the list of language codes supported, see Enumerations - Language Code.
genderstringGender that you want to target. Enum values: `GENDER_FEMALE`, `GENDER_MALE`, `GENDER_UNLIMITED`.
spc_audience_agestringThe age group that the campaign targets. Enum value: `18+`, `25+`. - For campaigns with the `LEAD_GENERATION` objective (Smart+ Lead Generation Campaigns), the value of this field can be either `18+` or `25+`. - For campaigns with the `APP_PROMOTION` objective (Smart+ App Campaigns) or `WEB_CONVERSIONS` objective (Smart+ Web Campaigns or Smart Performance Web Campaigns), the value of this field can only be `18+`. Note: Currently, creating Smart+ Lead Generation Campaigns via API is not supported. To filter existing Smart+ Lead Generation Campaigns with the `LEAD_GENERATION` objective within your ad account, call /campaign/get/ and set `filtering` to `{"objective_type":"LEAD_GENERATION", "is_smart_performance_campaign": true}`.
exclude_age_under_eighteenbooleanWhether to exclude the group aged under eighteen.
excluded_audience_idsstring[]List of audience IDs to be excluded.
placement_typestringThe placement strategy that decides where your ads will be shown. Currently, we support `PLACEMENT_TYPE_NORMAL` and `PLACEMENT_TYPE_AUTOMATIC`.
placementsstring[]The apps where you want to deliver your ads. Currently, we support `PLACEMENT_TIKTOK` and `PLACEMENT_PANGLE`.
comment_disabledbooleanWhether to allow comments on your ads on TikTok.
share_disabledbooleanWhether sharing to third-party platforms is disabled for ads in this ad group.
video_download_disabledbooleanWhether users can download your video ads on TikTok.
blocked_pangle_app_idsstring[]Pangle app block ID list.
brand_safety_typestringInventory filter tier for the Smart+ Campaign. Enum values: - `EXPANDED_INVENTORY`: Expanded inventory. Your ads will not appear next to explicitly inappropriate content, but they may appear next to content that features mature themes. - `STANDARD_INVENTORY`: Standard inventory. Your ads will appear next to content that is appropriate for most brands. - `LIMITED_INVENTORY`: Limited inventory. Your ads will not appear next to content that contains mature themes. - `NO_BRAND_SAFETY`: Full inventory without using any brand safety solution, which means your ads may appear next to some content featuring mature themes. Note: The setting is automatically applied based on your Brand Safety Hub configurations. To retrieve the details of such settings for your ad account, use /tiktok_inventory_filters/get/.
category_exclusion_idsstring[]The ID list of content categories that you want to avoid showing the Smart+ Campaign next to. To obtain the details of these content categories based on category IDs, use /tool/content_exclusion/info/. Note: The setting is automatically applied based on your Brand Safety Hub configurations. To retrieve the details of such settings for your ad account, use /tiktok_inventory_filters/get/.
budget_modestringBudget mode. See Enumerations-Budget Mode.
budget_auto_adjust_strategystringReturned only when `budget_mode` is `BUDGET_MODE_DYNAMIC_DAILY_BUDGET`. The campaign budget strategy for automatic daily campaign budget. Enum values: - `AUTO_BUDGET_INCREASE`: To enable automatic budget increase. Allow your budget to automatically increase when your ads are performing well and target CPA, Day 0 target ROAS, and budget requirements are met. - When `budget_auto_adjust_strategy` is `AUTO_BUDGET_INCREASE`, the specified `budget` will be the initial daily budget. Your daily budget will be allowed to automatically increase by 20%, up to 10 times per day, when your budget utilization reaches 90% or more. Your daily budget will reset to your original daily budget each day. - `UNSET`: To disable automatic budget increase.
budgetfloatFixed campaign budget or initial campaign budget. - When `budget_auto_adjust_strategy` is `UNSET`, this field represents your fixed campaign budget. - When `budget_auto_adjust_strategy` is `AUTO_BUDGET_INCREASE`, this field represents your initial campaign budget. To retrieve the current campaign budget, check the returned `current_budget`.
current_budgetfloatReturned only when `budget_auto_adjust_strategy` is `AUTO_BUDGET_INCREASE`. Current campaign budget for a campaign with automatic budget increase enabled.
scheduled_budgetfloatScheduled campaign budget for the next day. A value not equal to 0 means the scheduled budget is set and the value represents the budget; a value of 0 means the scheduled budget is not set.
schedule_typestringSchedule type. Currently, we support `SCHEDULE_START_END` and `SCHEDULE_FROM_NOW`.
schedule_start_timestringAd delivery start time, in the format of`YYYY-MM-DD HH:MM:SS` (UTC+0).
schedule_end_timestringAd delivery end time, in the format of`YYYY-MM-DD HH:MM:SS` (UTC+0).
daypartingstringAd delivery arrangement, in the format of a string that consists of 48 x 7 characters. Each character is mapped to a 30-minute timeframe from Monday to Sunday. Each character can be set to either 0 or 1. 1 represents delivery in the 30-minute timeframe, and 0 stands for non-delivery in the 30-minute timeframe. The first character is mapped to 0:01-0:30 of Monday; The second character is mapped to 0:31-1:00 of Monday, and the last character represents 23:31-0:00 Sunday. Note: Not specified, all-0, or all-1 are considered as full-time delivery.
skip_learning_phasebooleanWhether to skip the learning phase.
identity_idstringIdentity ID when you are not using Spark Ads.
identity_typestringIdentity type when you are not using Spark Ads. Enum value: `CUSTOMIZED_USER`.
app_download_urlstringApp download link.
app_namestringThe display name of the app download ad.
media_info_listobject[]List of media information.
ad_material_idstringThe ad material ID for the creative within the campaign. An ad material ID is an ad-specific material ID generated when a particular creative is used in an ad. This ID differs from the creative ID that you obtain when uploading the creative to your ad account’s Creative Library.
material_operation_statusstringThe status of the creative. Enum values: - `DISABLE`: The creative is disabled (in 'OFF' status). - `ENABLE`: The creative is enabled (in 'ON' status).
media_infoobjectMaterial information.
image_infoobject[]Image information.
web_uristringImage ID.
video_infoobjectVideo information.
video_idstringVideo ID.
file_namestringVideo name.
music_infoobjectMusic information.
music_idstringThe ID of the piece of music to use in the Carousel Ads.
aigc_disclosure_typestringWhether to turn on the AIGC (Artificial Intelligence Generated Content) self-disclosure toggle to indicate the ad contains AI-generated content. After the toggle is turned on, your ad will carry an "Advertiser labeled as Al-generated" label when viewed in full. Enum values: - `SELF_DISCLOSURE`: To turn on the toggle to declare that the ad contains AI-generated content. - `NOT_DECLARED`: To not declare that the ad contains AI-generated content.
tiktok_item_idstringThe ID of the TikTok post to be used as an ad (Spark Ad).
identity_typestringIdentity type when you use Spark Ads. Enum values: `AUTH_CODE`, `TT_USER`, `BC_AUTH_TT`. For details about identities, see Identities.
identity_idstringIdentity ID when you use Spark Ads.
identity_authorized_bc_idstringReturned when `identity_type` is `BC_AUTH_TT`. ID of the Business Center that a TikTok Account User in Business Center identity is associated with.
dark_post_statusstringThe status of the "Ads-only mode" for your creatives. Enum values: - `ON`: Enable the ads-only mode to limit your posts to paid traffic. - `OFF`: Disable the ads-only mode. The post will appear on your TikTok profile and will be eligible to receive organic traffic.
catalog_creative_togglebooleanWhether to enable auto-selection of creatives from your catalog. Supported values: `true`, `false`. If you set this field to `true`, the system will use catalog creatives to automatically generate ads in diverse formats such as catalog video, catalog carousel, and single video.
title_listobject[]List of ad titles (also called ad texts). Ad titles are shown to your audience as part of your ad creative, to deliver the message you intend to communicate to them.
titlestringAd title (ad text).
call_to_action_idstringThe ID of the CTA portfolio that you want to use in your ads.
call_to_action_listobject[]Call-to-action list.
call_to_actionstringCall-to-action text. For enum values, see Enumeration - Call-to-action.
product_infoobjectAdditional product information. This information will be used to create ad variations to help achieve advertising goals such as standing out, building trust, or boosting performance.
promo_info_listobject[]Valid only in regular Smart+ Web Campaigns. Details of promo codes and offers. Promo codes and offers can help boost your ad performance. Make sure your codes and offers are active, accurate, and ready to use at checkout.
discount_typestringReturned when `promo_info_list` is specified. Discount type. Enum values: - `PERCENTAGE`: Percentage off discount. - `CASH`: Cash off discount.
discount_valuestringReturned when `promo_info_list` is specified. Discount value. - When `discount_type` is `PERCENTAGE`, this field will be an integer between 1-100. - When `discount_type` is `CASH`, this field will be a float greater than 0.
discount_currencystringReturned when `discount_type` is `CASH`. Discount currency. For enum values, see List of values for `discount_currency` or `minimum_purchase_currency`.
minimum_purchase_typestringMinimum purchase type. Enum values: - `QUANTITY`: Minimum quantity. - `SUBTOTAL`: Minimum subtotal.
minimum_purchase_valuefloatReturned when `minimum_purchase_type` is specified. Minimum purchase value. - When `minimum_purchase_type` is `QUANTITY`, this field will be an integer that is 0 or greater. - When `minimum_purchase_type` is `SUBTOTAL`, this field will be a float greater than 0.
minimum_purchase_currencystringReturned when `minimum_purchase_type` is `SUBTOTAL`. Minimum purchase currency. For enum values, see List of values for `discount_currency` or `minimum_purchase_currency`.
valid_start_timestringValid start time (UTC+0) for the promo code or offer, in the format of `YYYY-MM-DD HH:MM:SS`.
valid_end_timestringValid end time (UTC+0) for the promo code or offer, in the format of `YYYY-MM-DD HH:MM:SS`.
card_listobject[]Creative portfolio ID list.
card_idstringCreative portfolio ID.
automatic_add_on_enabledbooleanWhether to enable auto-selection of interactive add-ons. Supported values: `true`, `false`. If you set this field to `true`, the system will automatically apply the most suitable interactive add-ons to your ads.
page_listobject[]Page ID list.
page_idstringPage ID.
deeplinkstringThe specific location where you want your audience to go if they have your app installed.
deeplink_typestringThe deeplink type.
landing_page_urlsobject[]Landing page URL list.
landing_page_urlstringLanding page URL.
video_idstringReturned when the campaign is in multiple landing page mode. Video ID.
tiktok_item_idstringReturned when the campaign is in multiple landing page mode. The ID of the TikTok post to be used as an ad (Spark Ad).
utm_paramsobject[]A list of URL parameters. URL parameters are snippets of code that can be added to the end of the URLs to help you track clicks across different channels and understand how visitors interact with a website through third-party analytics platforms. They consist of key-value pairs that are specified through `key` and `value`.
keystringThe URL parameter. The parameter can be a custom parameter or a UTM parameter. The supported UTM parameters are: - `utm_source`: The app, site, etc., that brings traffic to your website. For example: TikTok. - `utm_medium`: The advertising or marketing medium. For example: cpm, cpc, banner, and video. - `utm_content`: The creative content used for promotion. For example: ad name, CTA text, asset, and color. - `utm_campaign`: The individual campaign name, slogan, or promo code. For example: BlackFridayProm. Note that UTM parameters are case-sensitive.
valuestringThe value of the URL parameter. The value can be a custom value or the name of a macro. The supported macros are: - `__CAMPAIGN_NAME__`: This will be replaced by your campaign name. - `__CAMPAIGN_ID__`: This will be replaced by your campaign ID. - `__AID_NAME__`: This will be replaced by your ad group name. - `__AID__`: This will be replaced by your ad group ID. - `__CID_NAME__`: This will be replaced by your ad name. - `__CID__`: This will be replaced by your ad ID. - `__PLACEMENT__`: This will be replaced by your placement.
disclaimer_infoobjectDetails of the disclaimer.
disclaimer_typestringThe type of disclaimer that you want to add to the ad. Enum values: - `TEXT_LINK`: clickable disclaimers. - `TEXT_ONLY`: text-only disclaimers.
disclaimer_textobjectReturned when `disclaimer_type` is `TEXT_ONLY`. The text-only disclaimer that you want to add to the ad.
textstringThe disclaimer text. Length limit: 90 characters.
disclaimer_clickable_textsobject[]Returned when `disclaimer_type` is `TEXT_LINK`. The clickable disclaimer or clickable disclaimers that you want to add to the ad.
textstringThe disclaimer text. Length limit: 40 characters.
urlstringThe URL for the clickable disclaimer. When users tap each text, they will be redirected to the URL and see more disclaimer details.
tracking_app_idstringThe ID of the app that is measured.
impression_tracking_urlstringDefault Impression Tracking URL.
click_tracking_urlstringClick Tracking URL.
app_tracking_info_listobject[]Details of Third-party tracking settings.
app_typestringReturned when `app_tracking_info_list` is specified. App type. Enum values: - `APP_ANDROID`: Android App. - `APP_IOS`: iOS App.
app_idstringReturned when `app_tracking_info_list` is specified. The App ID of the App. - When `app_type` is `APP_ANDROID`, this field represents the App ID for an Android App. - When `app_type` is `APP_IOS`, this field represents the App ID for an iOS App.
impression_tracking_urlstringImpression tracking URL. When `app_type` is `APP_ANDROID`, this field represents an impression tracking URL for Android. - - When `app_type` is `APP_IOS`, this field represents an impression tracking URL for iOS.
click_tracking_urlstringClick tracking URL. - When `app_type` is `APP_ANDROID`, this field represents a click tracking URL for Android. - When `app_type` is `APP_IOS`, this field represents a click tracking URL for iOS.
create_timestringThe time when the campaign was created, in the format of `YYYY-MM-DD HH:MM:SS` (UTC+0).
modify_timestringThe time when the campaign was modified, in the format of `YYYY-MM-DD HH:MM:SS` (UTC+0).

Response sample

HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "list": [        
       { "campaign_id": "{{campaign_id}}",
        "advertiser_id": "{{advertiser_id}}",
        "app_id": "{{app_id}}",
        "pixel_id": null,
        "app_type": "APP_ANDROID",
        "objective_type": "APP_PROMOTION",
        "campaign_name": "{{campaign_name}}",
        "is_smart_performance_campaign": true,
        "operation_status": "ENABLE",
        "campaign_secondary_status": "CAMPAIGN_STATUS_ENABLE",
        "adgroup_secondary_status": "ADGROUP_STATUS_CREATE",
        "campaign_type": "REGULAR_CAMPAIGN",
        "app_promotion_type": "APP_INSTALL",
        "optimization_goal": "CLICK",
        "bid_type": "BID_TYPE_NO_BID",
        "deep_bid_type": null,
        "skip_learning_phase": null,
        "budget": {{budget}},
        "budget_mode": "BUDGET_MODE_DAY",
        "scheduled_budget": {{scheduled_budget}},
        "promotion_type": "APP_ANDROID",
        "optimization_event": "ACTIVE",
        "placements": [
            "PLACEMENT_TIKTOK"
        ],
        "placement_type": "PLACEMENT_TYPE_NORMAL",
        "promotion_website_type": null,
        "comment_disabled": true,
        "share_disabled": true,
        "video_download_disabled": true,
        "location_ids": [
            "{{location_ids}}"
        ],
        "languages": [
            "{{languages}}"
        ],
        "exclude_age_under_eighteen": false,
        "excluded_audience_ids": null,
        "blocked_pangle_app_ids": null,
        "special_industries": null,
        "schedule_type": "SCHEDULE_FROM_NOW",
        "schedule_start_time": "2024-04-17 22:00:00",
        "schedule_end_time": "2034-04-15 22:00:00",
        "dayparting": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
        "billing_event": "CPC",
        "app_download_url": "{{app_download_url}}",
        "app_name": "{{app_name}}",
        "call_to_action_id": null,
        "call_to_action_list": [
            {
                "call_to_action": "INSTALL_NOW"
            },
            {
                "call_to_action": "DOWNLOAD_NOW"
            }
        ],
        "media_info_list": [
            {
                "media_info": {
                    "video_info": {
                        "video_id": "{{video_id}}",
                        "file_name": "{{file_name}}"
                    },
                    "identity_id": null,
                    "image_info": [
                        {
                            "web_uri": "{{web_uri}}"
                        }
                    ],
                    "identity_type": null,
                    "tiktok_item_id": null
                }
            }
        ],
        "title_list": [
            {
                "title": "{{title}}"
            },
            {
                "title": "{{title}}"
            }
        ],
        "page_list": null,
        "card_list": null,
        "landing_page_urls": null,
        "deeplink": "{{deeplink}}",
        "deeplink_type": "DEFERRED_DEEPLINK",
        "identity_id": "{{identity_id}}",
        "identity_type": "CUSTOMIZED_USER",
        "impression_tracking_url": null,
        "click_tracking_url": "{{click_tracking_url}}",
        "create_time": "{{create_time}}",
        "modify_time": "{{modify_time}}"
        }
	  ]    
    }
}

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