v2.product.get_item_promotion
GET/api/v2/product/get_item_promotionVia 360: GET https://partner.quantri360.com/v1/shopee/api/v2/product/get_item_promotion
Description
Các chương trình khuyến mãi đang chạy hoặc sắp chạy của tối đa 50 sản phẩm: loại chương trình, mã, phân loại áp dụng, giá khuyến mãi, thời gian, tồn kho giữ cho khuyến mãi. Dùng để biết giá bán thật đang hiển thị với người mua.
- Một phân loại có thể nằm trong nhiều chương trình cùng lúc (ví dụ giảm giá shop đang chạy + Deep Discount sắp chạy) — xét
promotion_stagingvà khoảng thời gian để biết giá nào đang hiệu lực. - Chương trình mua kèm quà không có
model_id/promotion_price_info.
Request
Endpoint
GET https://partner.quantri360.com/v1/shopee/api/v2/product/get_item_promotion
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 |
|---|---|---|---|---|---|
| item_id_list | query | int[] | Yes | 10000000081,10000000059 | Mã sản phẩm, 1–50, cách nhau dấu phẩy. |
Request examples
curl -s "https://partner.quantri360.com/v1/shopee/api/v2/product/get_item_promotion?item_id_list=10000000081%2C10000000059" \ -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/api/v2/product/get_item_promotion",
params={
"item_id_list": "10000000081,10000000059"
},
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/product/get_item_promotion');
for (const [k, v] of Object.entries({"item_id_list":"10000000081,10000000059"})) 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/api/v2/product/get_item_promotion' . '?' . http_build_query(['item_id_list' => '10000000081,10000000059']); $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 Shopee)
| 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. | |
| warning | string | ||
| response | object | ||
| success_list | object[] | Sản phẩm tra được (kể cả sản phẩm không có khuyến mãi — khi đó không có `promotion`). | |
| item_id | int | 10000000081 | Mã sản phẩm. |
| promotion | object[] | Mỗi phần tử một chương trình × một phân loại. | |
| promotion_type | string | Discount Promotions | Loại chương trình, ví dụ: `Discount Promotions` (giảm giá của shop), `Deep Discount` (giảm sâu / flash sale Shopee), `Gift with purchase Main` (mua kèm quà), `Add-on Deal Main`, `Bundle Deal`. |
| promotion_id | int | 10000000100 | Mã chương trình. |
| model_id | int | 10000000091 | Phân loại được áp dụng; không có = áp dụng cả sản phẩm. |
| start_time | timestamp | 1792568160 | Bắt đầu (Unix giây). |
| end_time | timestamp | 1796057940 | Kết thúc (Unix giây). |
| promotion_price_info | object[] | Giá khuyến mãi. | |
| promotion_price | float | 180000 | Giá bán trong chương trình (VND). |
| promotion_staging | string | ongoing | `ongoing` = đang chạy · `upcoming` = sắp chạy. |
| promotion_stock_info_v2 | object | Tồn kho giữ riêng cho chương trình. | |
| summary_info | object | ||
| total_reserved_stock | int | 0 | Tổng tồn giữ cho khuyến mãi. |
| failure_list | object[] | Sản phẩm không tra được. | |
| item_id | int | ||
| failed_reason | string | Lý do. |
Response sample
{
"error": "",
"message": "",
"warning": "",
"request_id": "e3e3e7f35ef62592…",
"response": {
"success_list": [
{
"item_id": 10000000059
},
{
"item_id": 10000000081,
"promotion": [
{
"promotion_type": "Gift with purchase Main",
"promotion_id": 10000000101,
"start_time": 1789551000,
"end_time": 1796057940,
"promotion_staging": "ongoing",
"promotion_stock_info_v2": {
"summary_info": {
"total_reserved_stock": 0
}
}
},
{
"promotion_type": "Discount Promotions",
"promotion_id": 10000000100,
"model_id": 10000000091,
"start_time": 1792568160,
"end_time": 1796057940,
"promotion_price_info": [
{
"promotion_price": 180000
}
],
"promotion_staging": "ongoing",
"promotion_stock_info_v2": {
"summary_info": {
"total_reserved_stock": 0
}
}
},
{
"promotion_type": "Deep Discount",
"promotion_id": 10000000107,
"model_id": 10000000091,
"start_time": 1793466000,
"end_time": 1793552399,
"promotion_price_info": [
{
"promotion_price": 180000
}
],
"promotion_staging": "upcoming",
"promotion_stock_info_v2": {
"summary_info": {
"total_reserved_stock": 0
}
}
}
]
}
]
}
}
Shopee error codes (14)
Show
| Code | Meaning |
|---|---|
| error_data | Dữ 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_param | Tham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào. |
| error_server | Lỗi hệ thống Shopee — thử lại sau ít phút. |
| error_shop | Gian hàng không hợp lệ — kiểm tra platform_shop_id. |
| error_get_shop_fail | Không lấy được gian hàng; thử lại sau. |
| error_inner | Lỗi hệ thống Shopee — thử lại sau. |
| error_item_not_found | Không tìm thấy item_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.param | Can not update item with stock less than reserved stock |
| error_system_busy | Hệ thống đang bận; thử lại sau. |
| 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). |
| shop_banned | Gian hàng đang bị Shopee khóa — mọi API tạm ngưng tới khi gỡ khóa. |
| error_kyc_auth | Gian hàng chưa hoàn tất đăng ký người bán trên Kênh Người Bán. |
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