VI | EN
Message us on Messenger
Developer resources

Get Seller Center,Stock Movement page data — Shopee API

v2.sbs.get_stock_movement · call it through Quantri360 with one API key for your own accounts / assets that you connected and authorized — 360 handles request signing and refreshing the authorization you granted.

v2.sbs.get_stock_movement

GET/api/v2/sbs/get_stock_movementVia 360: GET https://partner.quantri360.com/v1/shopee/api/v2/sbs/get_stock_movement
Description

Tra cứu biến động nhập xuất và điều chỉnh tồn tại kho Shopee trong kỳ.

  • Gọi qua /v1/shopee/api/v2/sbs/get_stock_movement 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.
  • start_time và end_time dạng YYYY-MM-DD, chỉ trong 1 năm gần nhất, khoảng không quá 90 ngày.

Request

Endpoint

GET https://partner.quantri360.com/v1/shopee/api/v2/sbs/get_stock_movement

Authentication & shop

NameInTypeSampleDescription
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.

Request parameters

NameInTypeRequiredSampleDescription
page_noqueryint32No1Số trang, bắt đầu từ 1; mặc định 1.
page_sizequeryint32No10Số bản ghi mỗi trang; từ 1 đến 20; mặc định 10.
start_timequerystringYes2026-10-01Ngày bắt đầu dạng YYYY-MM-DD; chỉ trong 1 năm gần nhất, khoảng không quá 90 ngày.
end_timequerystringYes2026-10-07Ngày kết thúc dạng YYYY-MM-DD; chỉ trong 1 năm gần nhất, khoảng không quá 90 ngày.
whs_idsquerystringNoVN-DEMOCác mã kho, phân cách bằng dấu phẩy.
category_id_l1queryint64No10Mã ngành hàng cấp 1, lấy bằng get_category.
sku_idquerystringNoMã SKU để lọc.
item_idqueryint64No100001Mã sản phẩm để lọc.
item_namequerystringNoSản phẩm mẫuTên sản phẩm.
variationquerystringNoMàu xanhPhân loại sản phẩm.
whs_regionquerystringYesVNChỉ 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_stock_movement?start_time=2026-10-01&end_time=2026-10-07&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_stock_movement",
    params={
        "start_time": "2026-10-01",
        "end_time": "2026-10-07",
        "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_stock_movement');
for (const [k, v] of Object.entries({"start_time":"2026-10-01","end_time":"2026-10-07","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_stock_movement' . '?' . http_build_query(['start_time' => '2026-10-01', 'end_time' => '2026-10-07', '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ể null; phản hồi có thêm total, start_time, end_time, query_end_time.

NameTypeSampleDescription
request_idstringd52ca43b277a4f9292fb8be658bfd33dMã request của Shopee để tra lỗi.
errorstringMã lỗi Shopee; rỗng = thành công.
messagestringMô tả lỗi.
responseobjectKết quả truy vấn.
totalint321Tổng số bản ghi thỏa điều kiện.
start_timestring2026-10-01Ngày bắt đầu dạng YYYY-MM-DD; chỉ trong 1 năm gần nhất, khoảng không quá 90 ngày.
end_timestring2026-10-07Ngày kết thúc dạng YYYY-MM-DD; chỉ trong 1 năm gần nhất, khoảng không quá 90 ngày.
query_end_timestring2026-10-07Ngày kết thúc truy vấn.
item_listobject[]Danh sách sản phẩm và SKU.
warehouse_item_idint64100001Mã 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_namestringSản phẩm mẫuTên sản phẩm.
item_imagestringẢnh sản phẩm.
sku_listobject[]Danh sách MTSKU.
mtsku_idstring100001_100002Mã SKU tại kho, dạng warehouse_item_id_warehouse_model_id.
model_idint64100002Mã 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.
variationstringMàu xanhPhân loại sản phẩm.
fulfill_mapping_modeint320Chế độ liên kết: 0 không có; 1 SKU combo; 2 SKU cha.
barcodestringDEMO-SKUMã vạch.
whs_listobject[]Thông tin từng kho.
whs_idstringVN-DEMOMã kho Shopee.
start_on_hand_totalint6420Tổng tồn tại đầu kỳ.
inbound_totalint644Tổng lượng nhập kho trong kỳ.
outbound_totalint642Tổng lượng xuất kho trong kỳ.
adjust_totalint640Tổng lượng điều chỉnh trong kỳ.
end_on_hand_totalint6422Tổng tồn tại cuối kỳ.
start_qtyobjectThông tin tồn đầu kỳ.
start_on_hand_totalint6420Tổng tồn tại đầu kỳ.
start_sellableint6420Lượng có thể bán đầu kỳ.
start_reservedint640Lượng giữ chỗ đầu kỳ.
start_unsellableint640Lượng không thể bán đầu kỳ.
end_qtyobjectThông tin tồn cuối kỳ.
end_on_hand_totalint6422Tổng tồn tại cuối kỳ.
end_sellableint6422Lượng có thể bán cuối kỳ.
end_reservedint640Lượng giữ chỗ cuối kỳ.
end_unsellableint640Lượng không thể bán cuối kỳ.
inbound_qtyobjectThông tin nhập trong kỳ.
inbound_totalint644Tổng lượng nhập kho trong kỳ.
inbound_myint644Lượng người bán mua nhập trong kỳ.
inbound_returnedint640Lượng khách mua trả được nhận vào kho trong kỳ.
outbound_qtyobjectThông tin xuất trong kỳ.
outbound_totalint642Tổng lượng xuất kho trong kỳ.
outbound_soldint642Lượng bán trong kỳ.
outbound_returnedint640Lượng trả cho người bán trong kỳ.
outbound_disposedint640Lượng tiêu hủy trong kỳ.
adjust_qtyobjectThông tin điều chỉnh trong kỳ.
adjust_totalint640Tổng lượng điều chỉnh trong kỳ.
adjust_lost_foundint640Lượng thất lạc hoặc tìm lại trong kỳ.
adjust_trans_whsint640Lượng lệnh chuyển kho do kho tạo trong kỳ.
shop_sku_listobject[]Danh sách SKU tại gian hàng.
shop_sku_idstring100001_100002Mã SKU tại gian hàng, dạng item_id_model_id.
shop_item_idint64100001Mã 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_idint64100002Mã 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": {
    "total": 1,
    "start_time": "2026-10-01",
    "end_time": "2026-10-07",
    "query_end_time": "2026-10-07",
    "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,
            "variation": "Màu xanh",
            "fulfill_mapping_mode": 0,
            "barcode": "DEMO-SKU",
            "whs_list": [
              {
                "whs_id": "VN-DEMO",
                "start_on_hand_total": 20,
                "inbound_total": 4,
                "outbound_total": 2,
                "adjust_total": 0,
                "end_on_hand_total": 22
              }
            ],
            "start_qty": {
              "start_on_hand_total": 20,
              "start_sellable": 20,
              "start_reserved": 0,
              "start_unsellable": 0
            },
            "end_qty": {
              "end_on_hand_total": 22,
              "end_sellable": 22,
              "end_reserved": 0,
              "end_unsellable": 0
            },
            "inbound_qty": {
              "inbound_total": 4,
              "inbound_my": 4,
              "inbound_returned": 0
            },
            "outbound_qty": {
              "outbound_total": 2,
              "outbound_sold": 2,
              "outbound_returned": 0,
              "outbound_disposed": 0
            },
            "adjust_qty": {
              "adjust_total": 0,
              "adjust_lost_found": 0,
              "adjust_trans_whs": 0
            },
            "shop_sku_list": [
              {
                "shop_sku_id": "100001_100002",
                "shop_item_id": 100001,
                "shop_model_id": 100002
              }
            ]
          }
        ]
      }
    ]
  }
}

Shopee error codes (8)

Show
CodeMeaning
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_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.
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.

Get started

  1. Sign up for Partner
  2. Enable a data type of the Tồn kho group on the platform page
  3. Create an API key (tick the Shopee channel)
  4. Call it as in the examples above