Get diagnoses for ad groups
GET/tool/diagnosis/get/Via 360: GET https://partner.quantri360.com/v1/tiktok_business/tool/diagnosis/get/
Description
Use this endpoint to get diagnoses, including possible issues and suggestions for corrections or improvements, for your active ad groups.
Ad groups with no suggestions will not be returned.
Request
Endpoint
GET https://partner.quantri360.com/v1/tiktok_business/tool/diagnosis/get/
Authentication & shop
| Name | In | Type | Sample | Description |
|---|---|---|---|---|
| Authorization | header | header | Bearer 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_id | query | string | 7000000000000000001 | Tà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
| Name | In | Type | Required | Sample | Description |
|---|---|---|---|---|---|
| filtering | query | object | No | Filtering conditions. |
Request examples
curl -s "https://partner.quantri360.com/v1/tiktok_business/tool/diagnosis/get/" \ -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/tool/diagnosis/get/",
params={},
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/tool/diagnosis/get/');
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: '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/tool/diagnosis/get/' . '?' . http_build_query([]); $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)
| Name | Type | Sample | Description |
|---|---|---|---|
| code | number | Response code. For the complete list of error codes and descriptions, see Appendix - Return Codes. | |
| message | string | Response message. For details, see Appendix - Return Codes. | |
| request_id | string | Unique ID of the request. | |
| data | object | Returned data. | |
| results | object[] | List of ad groups with the corresponding diagnoses. | |
| adgroup_id | string | Ad group ID. | |
| adgroup_name | string | Ad group name. | |
| diagnosis | object | Diagnosis for the ad group . | |
| diagnosis_time | string | The date and time (UTC + 0 time) when the diagnosis was requested, in the format of "YYYY-MM-DD HH:MM:SS". Example: "2024-01-01 00:00:01". | |
| suggestions | object[] | Suggestions for the ad group. | |
| creative | object[] | Suggestions for creatives in the ad group. If no issues are detected for the creatives in the ad group, the value of this field will be an empty list (`[]`). | |
| suggestion_time | string | The date and time (UTC + 0 time) when the issue was detected and the suggestion was generated, in the format of "YYYY-MM-DD HH:MM:SS". Example: "2024-01-01 00:00:01". | |
| vid | string | Video ID. Example: v07033g50000c1irpg9l3c4i8hcdp7hg. | |
| name | string | Ad name. | |
| ad_id | string | Ad ID. Example: 1700286510378002. | |
| issue_suggestion | string | The suggestion for the issue. Enum values: - `NOBGM`: The video lacks background music. You need to add background music to the video. You can use /creative/quick_optimization/create/ to create a Quick Optimization task for the video. - `VIDEO_LENGTH`: The video duration is too short. Edit your video to increase its duration. You can use /creative/quick_optimization/create/ to create a Quick Optimization task for the video. - `VIDEO_RESOLUTION`: The video resolution is too low. Replace the video with a higher resolution version. | |
| suggestion_id | string | Suggestion ID. | |
| bid_and_budget | object[] | Suggestions for the ad group regarding bidding and budget. If no issues are detected for the bidding and budget of the ad group, the value of this field will be an empty list (`[]`). | |
| suggestion_time | string | The date and time (UTC + 0 time) when the issue was detected and the suggestion was generated, in the format of "YYYY-MM-DD HH:MM:SS". Example: "2024-01-01 00:00:01". | |
| suggestion_id | string | Suggestion ID. | |
| issue_suggestion | string | The suggestion for the issue. Enum values: - `SUGGEST_BID`: A new suggested bid will be provided - `SUGGEST_BUDGET`: A suggested budget will be provided. - `NOBID_SWITCH`: Switch to the Maximum Delivery bidding strategy. - `BUDGET_EDR`: The Budget EDR (EDR) recommendations will be provided. To learn about EDR, see Estimated Delivery Results. - `BID_EDR`: The Bid EDR recommendations will be provided. | |
| bid | number | Returned if `issue_suggestion` is `SUGGEST_BID`. Current bid value. | |
| budget | number | Returned if `issue_suggestion` is `SUGGEST_BID`, `SUGGEST_BUDGET`, or `NOBID_SWITCH`. Current budget. | |
| suggest_bid | number | Returned if `issue_suggestion` is `SUGGEST_BID`. Suggested bid value. | |
| suggest_budget | number | Returned if `issue_suggestion` is `SUGGEST_BUDGET` or `NOBID_SWITCH`. Suggested budget value. | |
| cost_floor | number | Returned if `issue_suggestion` is `SUGGEST_BID`. Estimated minimum cost. | |
| bid_edr_info | object[] | If `issue_suggestion` is not `BID_EDR`, the value of this field will be an empty list (`[]`). Bid EDR recommendations for the ad group. 9 sets of data for recommended bid raise ratios from -10% to 30% with a step of 5% and corresponding estimated results. | |
| recommended_bid | number | Recommended bid. Adopt one suitable bid using /adgroup/update/ and pass the adopted bid price to `conversion_bid_price` within the same day (advertiser account time zone). | |
| bid_increase_ratio | number | Estimated bid increase ratio. | |
| estimated_cost | number | Estimated cost. | |
| cost_uplift | number | Estimated cost uplift. | |
| cost_uplift_ratio | number | Estimated cost uplift ratio. | |
| budget_edr_info | object[] | If `issue_suggestion` is not `BUDGET_EDR`, the value of this field will be an empty list (`[]`). Budget EDR recommendations for the ad group. 15 sets of data for recommended budget raise ratios from -20% to 50% with a step of 5%, and corresponding estimated results. | |
| recommended_budget | number | Recommended budget. Adopt one suitable budget using /adgroup/budget/update/ within the same day (advertiser account time zone). | |
| budget_increase_ratio | number | Estimated budget increase ratio. | |
| estimated_conversion | number | Estimated conversion. | |
| conversion_uplift | number | Estimated conversion uplift. | |
| conversion_uplift_ratio | number | Estimated conversion uplift ratio. | |
| cpa | number | Estimated CPA. | |
| cpa_uplift | number | Estimated CPA uplift. | |
| cpa_uplift_ratio | number | Estimated CPA uplift ratio. | |
| impression | number | Estimated impression. | |
| event_track | object[] | Suggestions for the ad group regarding event tracking. If no issues are detected for the event tracking of the ad group, the value of this field will be an empty list (`[]`). | |
| suggestion_time | string | The date and time (UTC + 0 time) when the issue was detected and the suggestion was generated, in the format of "YYYY-MM-DD HH:MM:SS". Example: "2024-01-01 00:00:01". | |
| suggestion_id | string | Suggestion ID. | |
| issue_suggestion | string | The suggestion for the issue. Enum values: - `PIXEL`: This pixel had no activity in the last 7 days. Test your pixel settings. | |
| pixel_id | string | Pixel ID. | |
| pixel_code | string | Pixel code. |
Response sample
{
"code": 0,
"message": "OK",
"request_id": "{{request_id}}",
"data": {
"results": [
{
"adgroup_id": "{{adgroup_id}}",
"adgroup_name": "{{adgroup_name}}",
"diagnosis": {
"diagnosis_time": "{{diagnosis_time}}",
"suggestions": [
{
"bid_and_budget": [],
"creative": [],
"event_track": [
{
"issue_suggestion": "PIXEL",
"pixel_code": "{{pixel_code}}",
"pixel_id": "{{pixel_id}}",
"suggestion_id": "{{suggestion_id}}",
"suggestion_time": "{{suggestion_time}}"
}
]
}
]
}
}
]
}
}
Get started
- Sign up for Partner
- Enable a data type of the Ads (Marketing API) group on the platform page
- Create an API key (tick the TikTok Business channel)
- Call it as in the examples above