v2.sbs.get_current_inventory
GET/api/v2/sbs/get_current_inventoryVia 360: GET https://partner.quantri360.com/v1/shopee/api/v2/sbs/get_current_inventory
Description
Tra cứu tồn kho hiện tại của sản phẩm và phân loại tại kho Shopee.
- Gọi qua /v1/shopee/api/v2/sbs/get_current_inventory 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.
- Chỉ có dữ liệu khi gian hàng có hàng ở kho Shopee; gian hàng tự giữ hàng nhận danh sách rỗng hoặc null.
Request
Endpoint
GET https://partner.quantri360.com/v1/shopee/api/v2/sbs/get_current_inventory
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 |
|---|---|---|---|---|---|
| page_no | query | int32 | No | 1 | Số trang, bắt đầu từ 1; mặc định 1. |
| page_size | query | int32 | No | 10 | Số bản ghi mỗi trang; từ 1 đến 100; mặc định 10. |
| search_type | query | int32 | No | 1 | 0 tất cả; 1 tên sản phẩm; 2 mã SKU; 3 phân loại; 4 mã sản phẩm. |
| keyword | query | string | No | Từ khóa tương ứng search_type. | |
| whs_ids | query | string | No | VN-DEMO | Các mã kho, phân cách bằng dấu phẩy. |
| not_moving_tag | query | int32 | No | 0 | Lọc hàng không luân chuyển: bỏ trống lấy tất cả; 0 không; 1 có. |
| inbound_pending_approval | query | int64 | No | 0 | Lọc hàng nhập chờ duyệt: bỏ trống lấy tất cả; 0 không; 1 có. |
| products_with_inventory | query | int32 | No | 1 | Lọc sản phẩm có tồn kho: bỏ trống lấy tất cả; 0 không; 1 có. |
| category_id | query | int64 | No | 100001 | Mã ngành hàng cấp 1, lấy bằng get_category. |
| stock_levels | query | string | No | 1 tồn thấp và không còn hàng bán; 2 tồn thấp cần bổ sung; 3 tồn thấp đã bổ sung; 4 dư thừa. | |
| whs_region | query | string | Yes | VN | Chỉ truy vấn một khu vực mỗi lần: BR, CN, ID, MY, MX, TH, TW, PH, VN, SG. Bắt buộc; 360 chặn yêu cầu nếu thiếu. |
Request examples
curl -s "https://partner.quantri360.com/v1/shopee/api/v2/sbs/get_current_inventory?whs_region=VN" \ -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/sbs/get_current_inventory",
params={
"whs_region": "VN"
},
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/sbs/get_current_inventory');
for (const [k, v] of Object.entries({"whs_region":"VN"})) 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/sbs/get_current_inventory' . '?' . http_build_query(['whs_region' => 'VN']); $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)
Gian hàng không dùng kho Shopee: response.item_list có thể rỗng.
| 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ả truy vấn. | |
| item_list | object[] | Danh sách sản phẩm và SKU. | |
| warehouse_item_id | int64 | 100001 | Mã sản phẩm duy nhất tại kho; có thể ứng với nhiều shop_item_id. Sản phẩm toàn cầu dùng mã sản phẩm toàn cầu; sản phẩm nội địa dùng shop_item_id = item_id. |
| item_name | string | Sản phẩm mẫu | Tên sản phẩm. |
| item_image | string | Ảnh sản phẩm. | |
| sku_list | object[] | Danh sách MTSKU. | |
| mtsku_id | string | 100001_100002 | Mã SKU tại kho, dạng warehouse_item_id_warehouse_model_id. |
| model_id | int64 | 100002 | Mã phân loại tại kho; sản phẩm toàn cầu dùng global model_id, sản phẩm nội địa có thể khác model_id tại gian hàng, cần đối chiếu shop_model_id. |
| fulfill_mapping_mode | int32 | 0 | Chế độ liên kết: 0 không có; 1 SKU combo; 2 SKU cha. |
| model_name | string | Phân loại mẫu | Tên phân loại. |
| not_moving_tag | int32 | 0 | Cờ hàng không luân chuyển: 0 không; 1 có. |
| whs_list | object[] | Thông tin từng kho. | |
| whs_id | string | VN-DEMO | Mã kho Shopee. |
| stock_level | int32 | 0 | -1 không cần tính; 0 không có; 1 tồn thấp không còn hàng bán; 2 tồn thấp cần bổ sung; 3 tồn thấp đã bổ sung; 4 dư thừa. |
| ir_approval_qty | int64 | 10 | Lượng nhập đã duyệt IR nhưng chưa tạo ASN. |
| in_transit_pending_putaway_qty | int64 | 10 | Lượng ASN đang vận chuyển hoặc chờ xếp kho, gồm cả chuyển kho đang vận chuyển hoặc chờ xếp kho. |
| sellable_qty | int64 | 10 | Lượng có thể bán: hàng tại kho, hàng giữ cho chuyển kho hoặc chuyển kệ còn bán được và hàng đặt trước. Có thể lớn hơn lượng khách mua thấy do gồm hàng giữ cho khuyến mãi sắp tới. |
| reserved_qty | int64 | 10 | Lượng giữ cho đơn mua, RTS và chuyển kệ không còn bán được. |
| unsellable_qty | int64 | 10 | Lượng không thể bán tại kho: hư hỏng, cách ly do hết hoặc gần hết hạn, tại khu chờ xử lý, thất lạc. |
| excess_stock | int64 | 10 | Lượng vượt mức đủ bán trong 6 ngày. |
| coverage_days | float | 10 | Số ngày dự kiến đủ bán từ tồn có thể bán và hàng chờ nhập, dựa trên tốc độ bán hiện tại. |
| in_whs_coverage_days | float | 10 | Số ngày dự kiến đủ bán từ tồn có thể bán hiện tại. |
| selling_speed | float | 10 | Lượng bán trung bình mỗi ngày. |
| last_7_sold | int64 | 10 | Lượng bán trong 7 ngày gần nhất. |
| last_15_sold | int64 | 10 | Lượng bán trong 15 ngày gần nhất. |
| last_30_sold | int64 | 10 | Lượng bán trong 30 ngày gần nhất. |
| last_60_sold | int64 | 10 | Lượng bán trong 60 ngày gần nhất. |
| last_90_sold | int64 | 10 | Lượng bán trong 90 ngày gần nhất. |
| shop_sku_list | object[] | Danh sách SKU tại gian hàng. | |
| shop_sku_id | string | 100001_100002 | Mã SKU tại gian hàng, dạng item_id_model_id. |
| shop_item_id | int64 | 100001 | Mã item_id tại gian hàng; sản phẩm toàn cầu có warehouse_item_id là mã sản phẩm toàn cầu, sản phẩm nội địa dùng shop_item_id = item_id. |
| shop_model_id | int64 | 100002 | Mã model_id tại gian hàng, dùng đối chiếu phân loại sản phẩm. |
Response sample
{
"request_id": "demo-request",
"error": "",
"message": "",
"response": {
"item_list": [
{
"warehouse_item_id": 100001,
"item_name": "Sản phẩm mẫu",
"item_image": "",
"sku_list": [
{
"mtsku_id": "100001_100002",
"model_id": 100002,
"fulfill_mapping_mode": 0,
"model_name": "Phân loại mẫu",
"not_moving_tag": 0,
"whs_list": [
{
"whs_id": "VN-DEMO",
"stock_level": 0,
"ir_approval_qty": 10,
"in_transit_pending_putaway_qty": 10,
"sellable_qty": 10,
"reserved_qty": 10,
"unsellable_qty": 10,
"excess_stock": 10,
"coverage_days": 10,
"in_whs_coverage_days": 10,
"selling_speed": 10,
"last_7_sold": 10,
"last_15_sold": 10,
"last_30_sold": 10,
"last_60_sold": 10,
"last_90_sold": 10
}
],
"shop_sku_list": [
{
"shop_sku_id": "100001_100002",
"shop_item_id": 100001,
"shop_model_id": 100002
}
]
}
]
}
]
}
}
Shopee error codes (8)
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_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). |
| 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 Tồn kho group on the platform page
- Create an API key (tick the Shopee channel)
- Call it as in the examples above