VI | EN
Message us on Messenger
Developer resources

Get the results of an asynchronous copy task for a Manual Campaign — TikTok Business API

Get the results of an asynchronous copy task for a Manual 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 a Manual Campaign

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

Use this endpoint to check the results of an asynchronous copy task for a Manual Campaign.

We recommend waiting approximately one minute after creating a task using /campaign/copy/task/create/ before checking the results.

To check the results of an asynchronous copy task for an Upgraded Smart+ Campaign, use /smart_plus/campaign/copy/task/check/ instead.

>Note

>

  • Asynchronous Campaign Copy API is currently an allowlist-only feature. If you would like to access it, please contact your TikTok representative.
  • The rate limits for this endpoint are 2 queries per second (QPS) and 60 queries per minute (QPM) per developer app. Global rate limits are not applicable to this endpoint.

Request

Endpoint

GET https://partner.quantri360.com/v1/tiktok_business/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 /campaign/copy/task/create/.

Request examples

curl -s "https://partner.quantri360.com/v1/tiktok_business/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/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/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/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 Code.
messagestringResponse message. For details, see Appendix - Return Codes.
request_idstringThe log ID of a request, which uniquely identifies the 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.
total_smart_creative_adgroup_countnumberThe total number of Smart Creative ad groups that you tried to copy.
success_smart_creative_adgroup_countnumberThe number of Smart Creative ad groups 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 will still be 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 will be 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 will still be 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 will be an empty list (`[]`).
ad_statusstringThe result of copying the ads from the original ad group to the newly created ad group. Enum values: - `ALL_SUCCESS`: All ads from the original ad group were successfully copied. - `PARTIAL_SUCCESS`: Some or all ads from the original ad group failed to be copied.
is_smart_creativebooleanWhether the new ad group is a Smart Creative ad group. Enum values: `true`, `false`.
smart_creative_resultobjectReturned only when `is_smart_creative` is `true`. The result details of the copy of the ad creatives in the original Smart Creative ad group.
is_successbooleanWhether the copy of the ad creatives used to generate Smart Creative ads in the original Smart Creative ad group was successful. Enum values: `true`, `false`.
smart_creative_error_liststring[]The errors encountered during the copy of the ad creatives in the original Smart Creative ad group. If no errors occurred, the value of this field will be an empty list (`[]`).
ad_result_listobject[]The details of the ad copy results.
is_successbooleanWhether the copy of the original ad was successful. Enum values: `true`, `false`.
ad_idstringThe ID of the newly created ad.
ad_namestringThe name of the newly created ad. If the ad copy process fails, this field will still be 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 will be an empty list (`[]`).

Response sample

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

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