VI | EN
Message us on Messenger
Developer resources

Get the results of an asynchronous copy task for an Upgraded Smart+ Campaign — TikTok Business API

Get the results of an asynchronous copy task for an Upgraded Smart+ Campaign · 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 results of an asynchronous copy task for an Upgraded Smart+ Campaign

GET/smart_plus/campaign/copy/task/check/Via 360: GET https://partner.quantri360.com/v1/tiktok_business/smart_plus/campaign/copy/task/check/
Description

Use this endpoint to check the results of an asynchronous copy task for an Upgraded Smart+ Campaign.

We recommend waiting approximately five minutes after creating a task using /smart_plus/campaign/copy/task/create/ before checking the results.

> Note

> - Asynchronous Campaign Copy API is currently an allowlist-only feature. If you would like to access it, please contact your TikTok representative.

> - Global rate limits are applicable to this endpoint.

Request

Endpoint

GET https://partner.quantri360.com/v1/tiktok_business/smart_plus/campaign/copy/task/check/

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
task_idquerystringYesID of the asynchronous campaign copy task. To get the task ID, use /smart_plus/campaign/copy/task/create/.

Request examples

curl -s "https://partner.quantri360.com/v1/tiktok_business/smart_plus/campaign/copy/task/check/?task_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/smart_plus/campaign/copy/task/check/",
    params={
        "task_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/smart_plus/campaign/copy/task/check/');
for (const [k, v] of Object.entries({"task_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/smart_plus/campaign/copy/task/check/' . '?' . http_build_query(['task_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 Codes.
messagestringResponse message. For details, see Appendix - Return Codes.
request_idstringThe log ID of the request, which uniquely identifies a request.
dataobjectReturned data.
task_statusstringThe status of the asynchronous campaign copy task. Enum values: - `RUNNING`: The task is being processed. - `SUCCESS`: The task has been processed. Check the `task_result` to see if the task has succeeded. - `FAILURE`: The task fails to be processed.
task_infoobjectOverview of the task result.
total_ad_countnumberThe total number of ads that you tried to copy.
success_ad_countnumberThe number of ads that have been successfully copied.
task_resultobjectThe details of the task result.
campaign_idstringThe ID of the newly created campaign.
campaign_namestringThe name of the newly created campaign. If the campaign copy process fails, this field is still returned to indicate the campaign that was not successfully copied.
campaign_error_infosstring[]The errors encountered during the campaign copy process. If no errors occurred, the value of this field is an empty list (`[]`).
adgroup_result_listobject[]The details of the ad group copy results.
adgroup_idstringThe ID of the newly created ad group.
adgroup_namestringThe name of the newly created ad group. If the ad group copy process fails, this field is still returned to indicate the ad group that was not successfully copied.
total_ad_countnumberThe number of ads that you tried to copy into the new ad group.
success_ad_countnumberThe number of ads that have been successfully copied into the new ad group.
adgroup_error_liststring[]The errors encountered during the ad group copy process. If no errors occurred, the value of this field is an empty list (`[]`).
ad_statusstringThe result of copying the ads from the source ad group to the newly created ad group. Enum values: - `ALL_SUCCESS`: All ads from the source ad group were successfully copied. - `PARTIAL_SUCCESS`: Some or all ads from the source ad group failed to be copied.
ad_result_listobject[]The details of the ad copy results.
is_successbooleanWhether the copy of the source ad was successful. Supported values: `true`, `false`.
smart_plus_ad_idstringThe ID of the newly created ad.
ad_namestringThe name of the newly created ad. If the ad copy process fails, this field is still returned to indicate the ad that was not successfully copied.
ad_error_liststring[]The errors encountered during the ad copy process. If no errors occurred, the value of this field is an empty list (`[]`).

Response sample

HTTPS/1.1 200 OK
{
    "code": 0,
    "message": "OK",
    "request_id": "{{request_id}}",
    "data": {
        "task_info": {
            "success_ad_count": 1,
            "total_ad_count": 1
        },
        "task_result": {
            "adgroup_result_list": [
                {
                    "ad_result_list": [
                        {
                            "ad_error_list": [],
                            "ad_name": "{{ad_name}}",
                            "is_success": true,
                            "smart_plus_ad_id": "{{smart_plus_ad_id}}"
                        }
                    ],
                    "ad_status": "ALL_SUCCESS",
                    "adgroup_error_list": [],
                    "adgroup_id": "{{adgroup_id}}",
                    "adgroup_name": "{{adgroup_name}}",
                    "success_ad_count": 1,
                    "total_ad_count": 1
                }
            ],
            "campaign_error_infos": [],
            "campaign_id": "{{campaign_id}}",
            "campaign_name": "{{campaign_name}}"
        },
        "task_status": "SUCCESS"
    }
}

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