VI | EN
Nhắn Messenger
Dành cho developer

Hiệu quả chiến dịch theo giờ — API Shopee Ads

v2.ads.get_product_campaign_hourly_performance · gọi qua Quantri360 bằng một API key cho chính tài khoản / tài sản bạn đã kết nối và ủy quyền — 360 lo việc ký request và làm mới phiên đăng nhập bạn đã cấp.

v2.ads.get_product_campaign_hourly_performance

GET/api/v2/ads/get_product_campaign_hourly_performanceGọi qua 360: GET https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/get_product_campaign_hourly_performance
Mô tả API

Lấy hiệu quả quảng cáo sản phẩm theo từng giờ cho danh sách chiến dịch trong một ngày.

  • Gọi qua /v1/shopee_ads/api/v2/ads/get_product_campaign_hourly_performance với Authorization: Bearer <key>; dùng platform_shop_id khi có nhiều shop. 360 tự gắn partner_id, shop_id, sign và access_token.
  • API chỉ đọc; error rỗng mới là thành công. HTTP 200 vẫn có thể chứa lỗi nghiệp vụ trong error/message.
  • Ngày Ads dạng DD-MM-YYYY; ngày hiệu quả không ở tương lai hoặc trước quá 6 tháng. Khoảng ngày tối đa 1 tháng; start_date không sau end_date và không bằng end_date khi lấy hiệu quả theo ngày; một ngày dùng API theo giờ.
  • Có danh sách kết quả: kiểm lỗi từng phần tử trước khi sử dụng; error chung rỗng vẫn có thể có phần tử thất bại.

Request

Địa chỉ

GET https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/get_product_campaign_hourly_performance

Xác thực & gian hàng

TênVị tríKiểuMẫuMô tả
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_idquerystring100001Gian hàng (lấy ở GET /v1/platforms → shops[].platform_shop_id). BẮT BUỘC khi brand có > 1 gian hàng trên nền tảng; 360 bỏ tham số này trước khi chuyển tiếp.

Tham số request

TênVị tríKiểuBắt buộcMẫuMô tả
performance_datequerystringCó01-10-2026Ngày cần lấy hiệu quả theo giờ, dạng DD-MM-YYYY.
campaign_id_listquerystringCó200001Các mã chiến dịch phân cách bằng dấu phẩy, tối đa 100 mã.

Ví dụ request

curl -s "https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/get_product_campaign_hourly_performance?performance_date=01-10-2026&campaign_id_list=200001" \
  -H "Authorization: Bearer $KEY"
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.get(
    "https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/get_product_campaign_hourly_performance",
    params={
        "performance_date": "01-10-2026",
        "campaign_id_list": "200001"
    },
    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/shopee_ads/api/v2/ads/get_product_campaign_hourly_performance');
for (const [k, v] of Object.entries({"performance_date":"01-10-2026","campaign_id_list":"200001"})) 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/shopee_ads/api/v2/ads/get_product_campaign_hourly_performance' . '?' . http_build_query(['performance_date' => '01-10-2026', 'campaign_id_list' => '200001']);
$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

Tham số phản hồi (nguyên của Shopee Ads)

response là object gồm shop_id, region, campaign_list; campaign_list là mảng chiến dịch và metrics_list là mảng chỉ số. Đọc error/message trước khi dùng response; responseSample là dữ liệu minh họa thành công và giữ cây trường phản hồi.

TênKiểuMẫuMô tả
request_idstringd52ca43b277a4f9292fb8be658bfd33dMã request của Shopee để tra lỗi.
errorstringMã lỗi Shopee; rỗng = thành công.
messagestringMô tả lỗi.
warningstringCảnh báo khi một phần dữ liệu không trả về bình thường.
responseobjectKết quả nghiệp vụ.
shop_idint64100001Mã gian hàng.
regionstringTHKhu vực của gian hàng.
campaign_listobject[]Danh sách chiến dịch.
campaign_idint64200001Mã chiến dịch.
ad_typestringmanualLoại quảng cáo: auto, manual.
campaign_placementstringallVị trí quảng cáo: search, discovery, all.
ad_namestringQuảng cáo minh họaTên quảng cáo.
metrics_listobject[]Danh sách chỉ số hiệu quả.
hourint329Giờ của bản ghi hiệu quả.
datestring01-10-2026Ngày của bản ghi, dạng DD-MM-YYYY.
impressionint6410Số lượt người mua nhìn thấy quảng cáo.
clicksint6410Số lượt nhấp quảng cáo; loại các lượt nhấp lặp của cùng người mua trong thời gian ngắn.
ctrfloat1.5Tỷ lệ nhấp = clicks / impression; chỉ số chiến dịch tính theo phần trăm (nhân 100%).
expensefloat1.5Chi phí quảng cáo.
broad_gmvfloat1.5Doanh thu từ mọi sản phẩm của shop được mua trong 7 ngày sau nhấp quảng cáo.
broad_orderint6410Số lần mua sản phẩm bất kỳ của shop trong 7 ngày sau nhấp quảng cáo.
broad_order_amountint6410Tổng số đơn vị sản phẩm bất kỳ của shop được mua trong 7 ngày sau nhấp quảng cáo.
broad_roifloat1.5ROAS = broad_gmv / expense; nên theo dõi xu hướng theo tuần.
broad_cirfloat1.5ACOS = expense / broad_gmv × 100%.
crfloat1.5Tỷ lệ chuyển đổi = số chuyển đổi / clicks × 100%.
cpcfloat1.5Chi phí mỗi chuyển đổi = expense / số chuyển đổi.
direct_orderint6410Số lần mua đúng sản phẩm được quảng cáo trong 7 ngày sau nhấp quảng cáo.
direct_order_amountint6410Tổng số đơn vị sản phẩm được quảng cáo được mua trong 7 ngày sau nhấp quảng cáo.
direct_gmvfloat1.5Doanh thu từ sản phẩm được quảng cáo được mua trong 7 ngày sau nhấp quảng cáo.
direct_roifloat1.5ROAS trực tiếp = direct_gmv / expense.
direct_cirfloat1.5ACOS trực tiếp = expense / direct_gmv × 100%.
direct_crfloat1.5Tỷ lệ chuyển đổi trực tiếp = số chuyển đổi trực tiếp / clicks × 100%.
cpdcfloat1.5Chi phí mỗi chuyển đổi trực tiếp = expense / số chuyển đổi trực tiếp.

Mẫu phản hồi

{
  "error": "",
  "message": "",
  "warning": "",
  "request_id": "demo-request",
  "response": {
    "shop_id": 100001,
    "region": "TH",
    "campaign_list": [
      {
        "campaign_id": 200001,
        "ad_type": "manual",
        "campaign_placement": "all",
        "ad_name": "Quảng cáo minh họa",
        "metrics_list": [
          {
            "hour": 9,
            "date": "01-10-2026",
            "impression": 10,
            "clicks": 10,
            "ctr": 1.5,
            "expense": 1.5,
            "broad_gmv": 1.5,
            "broad_order": 10,
            "broad_order_amount": 10,
            "broad_roi": 1.5,
            "broad_cir": 1.5,
            "cr": 1.5,
            "cpc": 1.5,
            "direct_order": 10,
            "direct_order_amount": 10,
            "direct_gmv": 1.5,
            "direct_roi": 1.5,
            "direct_cir": 1.5,
            "direct_cr": 1.5,
            "cpdc": 1.5
          }
        ]
      }
    ]
  }
}

Mã lỗi của Shopee Ads (16)

Bấm để xem
MãÝ nghĩa
ads.shop.campaign_not_matchMã chiến dịch không hợp lệ đối với gian hàng này.
error_not_foundKhông tìm thấy đơn / gói / yêu cầu theo mã đã gửi.
error_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
error_serverLỗi hệ thống Shopee — thử lại sau ít phút.
ads.api.http_method_not_allowedPhương thức HTTP không được hỗ trợ cho API này.
ads.performance.error_date_in_futureNgày phải là hôm nay hoặc trong 6 tháng trước, không được ở tương lai.
ads.rate_limit.exceed_partner_apiQuá nhiều yêu cầu; giảm tần suất rồi thử lại sau.
ads.rate_limit.exceed_shop_apiGian hàng có quá nhiều yêu cầu; thử lại sau.
ads.rate_limit.exceed_apiQuá nhiều yêu cầu; thử lại sau.
error_dataDữ liệu không tồn tại hoặc không hợp lệ cho thao tác (vd mã không có, loại yêu cầu không cho phép).
error_shopGian hàng không hợp lệ — kiểm tra platform_shop_id.
error_authỦy quyền gian hàng cho 360 đã hết hạn hoặc bị thu hồi (360 đã tự làm mới token một lần) — chủ gian hàng kết nối lại Shopee trong Partner.
error_limitChạm hạn mức gọi Shopee trong ngày của kết nối — 360 trả kèm thời điểm thử lại; giảm tần suất gọi.
error_rate_limitGọi quá nhanh — chờ vài giây rồi gọi lại (360 cũng giới hạn theo key: 429 + Retry-After).
shop_bannedGian hàng đang bị Shopee khóa — mọi API tạm ngưng tới khi gỡ khóa.
error_kyc_authGian hàng chưa hoàn tất đăng ký người bán trên Kênh Người Bán.

Bắt đầu dùng

  1. Đăng ký tài khoản Partner
  2. Mở loại dữ liệu thuộc nhóm Quảng cáo (Ads) ở trang nền tảng
  3. Tạo API key (tick kênh Shopee Ads)
  4. Gọi theo ví dụ ở trên