v2.principal.get_principal_affiliate_performance
POST/api/v2/principal/get_principal_affiliate_performanceVia 360: POST https://partner.quantri360.com/v1/shopee/api/v2/principal/get_principal_affiliate_performance
Description
CẤP PRINCIPAL: Tra cứu hiệu quả tiếp thị liên kết, gồm đơn đã đặt và đã xác nhận trong kỳ, trả tổng hợp và chi tiết theo khu vực.
- HIỆN CHƯA GỌI ĐƯỢC QUA 360: đây là API cấp principal, 360 hiện ký theo gian hàng nên Shopee trả
error_param"There is no principal_id in query.". Cần dùng API này → liên hệ 360. - Áp dụng: tài khoản principal (chủ thể quản lý nhiều gian hàng).
- API chỉ đọc; error rỗng mới là thành công.
- Khoảng ngày và biên kỳ được kiểm theo timezone; xem start_date, end_date và granularity. Tiền tệ LOCAL hoặc USD; bỏ currency mặc định USD.
- Đơn đã đặt gồm COD và không COD, đã và chưa thanh toán. Đơn đã xác nhận là đơn không COD đã thanh toán hoặc COD đã xác nhận giao hàng (thường sau 30 phút từ lúc đặt). Hoa hồng chỉ là ước tính. Tổng summary luôn dùng USD.
- summary chỉ trả khi principal có gian hàng được phép truy cập trong khu vực đã chọn. details gộp dữ liệu gian hàng thành khu vực; buyers, new_buyers, orders có thể khác kết quả khử trùng thực sự ở cấp khu vực khi nhiều gian hàng trùng người mua hoặc đơn.
Request
Endpoint
POST https://partner.quantri360.com/v1/shopee/api/v2/principal/get_principal_affiliate_performance
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 | 100001 | Gian 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. |
Request parameters
| Name | In | Type | Required | Sample | Description |
|---|---|---|---|---|---|
| start_date | body | string | Yes | 2026-10-01 | Ngày bắt đầu hợp lệ YYYY-MM-DD, không sau end_date; tính theo timezone. Mốc sớm nhất = ngày hiện tại theo timezone − 1 ngày − 2 năm. customize không được trước mốc này; day cùng ngày với end_date; week bắt đầu Chủ nhật; month ngày đầu tháng; quarter ngày đầu quý; year ngày đầu năm. |
| end_date | body | string | Yes | 2026-10-07 | Ngày kết thúc hợp lệ YYYY-MM-DD, không trước start_date. customize: không sau hôm qua theo timezone, tối đa 366 ngày tính cả hai đầu. day: bằng start_date. week: từ start_date đến min(start_date + 6 ngày, hôm qua). month/quarter/year: trong tháng/quý/năm đã chọn, không quá min(ngày cuối kỳ, hôm qua). |
| timezone | body | string | Yes | GMT+7 | Múi giờ tính biên ngày, kiểm khoảng ngày và chuyển đổi dấu thời gian; chỉ GMT+7, GMT+8, GMT-3. Mọi kiểm tra ngày dùng múi giờ này. |
| granularity | body | string | Yes | customize | Độ chi tiết: customize, day, week, month, quarter, year. customize truy vấn dữ liệu theo ngày; day một ngày; week tuần Chủ nhật–thứ Bảy; month/quarter/year theo tháng/quý/năm lịch. Giá trị khác bị từ chối với invalid_parameter. |
| region_list | body | object[] | No | Bỏ qua hoặc [] để lấy tất cả khu vực thuộc principal. Tối đa 100 khu vực, đều phải thuộc principal; khu vực trùng cùng tiền tệ được gộp, không được trùng khu vực với tiền tệ khác nhau. | |
| region_list[].region | body | string | Yes | VN | Bắt buộc trong mỗi phần tử; mã khu vực hợp lệ và phải thuộc principal. |
| region_list[].currency | body | string | No | USD | Tiền tệ LOCAL hoặc USD, mặc định USD; giá trị khác bị từ chối với invalid_parameter. |
Request examples
curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/principal/get_principal_affiliate_performance" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"start_date":"2026-10-01","end_date":"2026-10-07","timezone":"GMT+7","granularity":"customize","region_list":[]}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/shopee/api/v2/principal/get_principal_affiliate_performance",
params={},
json={
"start_date": "2026-10-01",
"end_date": "2026-10-07",
"timezone": "GMT+7",
"granularity": "customize",
"region_list": []
},
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/api/v2/principal/get_principal_affiliate_performance');
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: 'POST',
headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({"start_date":"2026-10-01","end_date":"2026-10-07","timezone":"GMT+7","granularity":"customize","region_list":[]}),
});
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/api/v2/principal/get_principal_affiliate_performance' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key, 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"start_date":"2026-10-01","end_date":"2026-10-07","timezone":"GMT+7","granularity":"customize","region_list":[]}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;Response
Response fields (as returned by Shopee)
Mẫu thành công minh họa; response.summary và response.details đều là mảng, mỗi phần tử chứa chỉ số cho toàn kỳ yêu cầu.
| Name | Type | Sample | Description |
|---|---|---|---|
| request_id | string | d52ca43b277a4f9292fb8be658bfd33d | Mã request của Shopee để tra lỗi. |
| error | string | Mã lỗi Shopee; rỗng = thành công. | |
| message | string | Mô tả lỗi. | |
| response | object | Kết quả hiệu quả trong kỳ. | |
| summary | object[] | Tổng hợp trong kỳ của các khu vực đã chọn. | |
| currency | string | USD | Mã tiền tệ dùng cho các chỉ số tiền. |
| sales_placed | float | 100 | Tổng giá trị đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| sales_confirmed | float | 100 | Tổng giá trị đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| units_sold_placed | int64 | 10 | Tổng số đơn vị sản phẩm trong đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| units_sold_confirmed | int64 | 10 | Tổng số đơn vị sản phẩm trong đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| orders_placed | int64 | 10 | Tổng số đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| orders_confirmed | int64 | 10 | Tổng số đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| estimated_commission_placed | float | 1 | Tổng hoa hồng ước tính từ đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| estimated_commission_confirmed | float | 1 | Tổng hoa hồng ước tính từ đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| roi_placed | float | 1 | Hiệu quả đầu tư tiếp thị liên kết = sales_placed / estimated_commission_placed. |
| roi_confirmed | float | 1 | Hiệu quả đầu tư tiếp thị liên kết = sales_confirmed / estimated_commission_confirmed. |
| buyers_placed | int64 | 10 | Số người mua duy nhất có đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| buyers_confirmed | int64 | 10 | Số người mua duy nhất có đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| new_buyers_placed | int64 | 10 | Số người mua mới duy nhất có đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| new_buyers_confirmed | int64 | 10 | Số người mua mới duy nhất có đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| details | object[] | Chi tiết trong kỳ theo từng khu vực. | |
| region | string | VN | Mã khu vực. |
| currency | string | USD | Mã tiền tệ dùng cho các chỉ số tiền. |
| sales_placed | float | 100 | Tổng giá trị đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| sales_confirmed | float | 100 | Tổng giá trị đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| units_sold_placed | int64 | 10 | Tổng số đơn vị sản phẩm trong đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| units_sold_confirmed | int64 | 10 | Tổng số đơn vị sản phẩm trong đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| orders_placed | int64 | 10 | Tổng số đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| orders_confirmed | int64 | 10 | Tổng số đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| estimated_commission_placed | float | 1 | Tổng hoa hồng ước tính từ đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| estimated_commission_confirmed | float | 1 | Tổng hoa hồng ước tính từ đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| roi_placed | float | 1 | Hiệu quả đầu tư tiếp thị liên kết = sales_placed / estimated_commission_placed. |
| roi_confirmed | float | 1 | Hiệu quả đầu tư tiếp thị liên kết = sales_confirmed / estimated_commission_confirmed. |
| buyers_placed | int64 | 10 | Số người mua duy nhất có đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| buyers_confirmed | int64 | 10 | Số người mua duy nhất có đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
| new_buyers_placed | int64 | 10 | Số người mua mới duy nhất có đơn đã đặt qua tiếp thị liên kết trong kỳ. |
| new_buyers_confirmed | int64 | 10 | Số người mua mới duy nhất có đơn đã xác nhận qua tiếp thị liên kết trong kỳ. |
Response sample
{
"request_id": "demo-request",
"error": "",
"message": "",
"response": {
"summary": [
{
"currency": "USD",
"sales_placed": 100,
"sales_confirmed": 100,
"units_sold_placed": 10,
"units_sold_confirmed": 10,
"orders_placed": 10,
"orders_confirmed": 10,
"estimated_commission_placed": 1,
"estimated_commission_confirmed": 1,
"roi_placed": 1,
"roi_confirmed": 1,
"buyers_placed": 10,
"buyers_confirmed": 10,
"new_buyers_placed": 10,
"new_buyers_confirmed": 10
}
],
"details": [
{
"region": "VN",
"currency": "USD",
"sales_placed": 100,
"sales_confirmed": 100,
"units_sold_placed": 10,
"units_sold_confirmed": 10,
"orders_placed": 10,
"orders_confirmed": 10,
"estimated_commission_placed": 1,
"estimated_commission_confirmed": 1,
"roi_placed": 1,
"roi_confirmed": 1,
"buyers_placed": 10,
"buyers_confirmed": 10,
"new_buyers_placed": 10,
"new_buyers_confirmed": 10
}
]
}
}
Shopee error codes (5)
Show
| Code | Meaning |
|---|---|
| error_param | Tham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào. |
| error_permission | Gian hàng không có quyền xem dữ liệu này (vd yêu cầu trả / đơn không thuộc gian hàng). |
| 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_limit | Chạ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_limit | Gọ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). |
Get started
- Sign up for Partner
- Enable a data type of the Sản phẩm group on the platform page
- Create an API key (tick the Shopee channel)
- Call it as in the examples above