v2.order.search_package_list
POST/api/v2/order/search_package_listGọi qua 360: POST https://partner.quantri360.com/v1/shopee/api/v2/order/search_package_list
Mô tả API
Tìm gói hàng CHƯA GỬI theo bộ lọc (trạng thái xử lý, kho, ĐVVC, loại đơn, đơn đặt trước, độ ưu tiên) và sắp xếp theo hạn gửi / ngày tạo. Dùng để dựng màn hình "chuẩn bị hàng" theo kho.
- Gọi bằng POST, tham số đặt trong body JSON.
- Gói đã giao cho ĐVVC (SHIPPED) không có trong kết quả — tra trạng thái giao bằng get_package_detail.
Request
Địa chỉ
POST https://partner.quantri360.com/v1/shopee/api/v2/order/search_package_list
Xác thực & gian hàng
| Tên | Vị trí | Kiểu | Mẫu | Mô tả |
|---|---|---|---|---|
| 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. |
Tham số request
| Tên | Vị trí | Kiểu | Bắt buộc | Mẫu | Mô tả |
|---|---|---|---|---|---|
| filter | body | object | Không | {"package_status":2} | Bộ lọc (bỏ trống = mặc định). |
| filter.package_status | body | int | Không | 2 | 0 = tất cả · 1 = chờ (Pending) · 2 = cần xử lý (ToProcess, mặc định) · 3 = đã xử lý (Processed). |
| filter.product_location_ids | body | string[] | Không | ["VNZ"] | Lọc theo kho (product_location_id — lấy ở get_warehouse_filter_config). |
| filter.logistics_channel_ids | body | int[] | Không | [50021] | Lọc theo kênh vận chuyển (logistics_channel_id — lấy ở get_channel_list). |
| filter.fulfillment_type | body | int | Không | 2 | 0 = không lọc · 1 = Shopee xử lý · 2 = người bán xử lý (mặc định). |
| filter.invoice_pending | body | bool | Không | false | true = chỉ gói đang chờ hóa đơn. |
| filter.order_type | body | int | Không | 0 | 0 = tất cả · 1 = đơn thường · 2 = đơn hỏa tốc (với shop VN gồm cả Hỏa tốc và Trong ngày). |
| filter.is_pre_order | body | int | Không | 0 | 0 = tất cả · 1 = đặt trước · 2 = không đặt trước. |
| filter.shipping_priority | body | int | Không | 0 | 0 = tất cả · 1 = quá hạn · 2 = gửi trong hôm nay · 3 = gửi trong ngày mai (shop VN Yêu thích / Mall). |
| pagination | body | object | Có | {"page_size":50} | Phân trang. |
| pagination.page_size | body | int | Có | 50 | Số gói mỗi trang, 1–100. |
| pagination.cursor | body | string | Không | pagination.next_cursor của trang trước. | |
| sort | body | object | Không | {"sort_type":1,"ascending":true} | Sắp xếp: sort_type 1 = hạn gửi (mặc định) · 2 = ngày tạo · 3 = ngày xác nhận; ascending true/false. |
Phân trang
Lặp khi response.pagination.more = true, gửi pagination.cursor = response.pagination.next_cursor.
Ví dụ request
curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/order/search_package_list" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"filter":{"package_status":2},"pagination":{"page_size":50},"sort":{"sort_type":1,"ascending":true}}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/shopee/api/v2/order/search_package_list",
params={},
json={
"filter": {
"package_status": 2
},
"pagination": {
"page_size": 50
},
"sort": {
"sort_type": 1,
"ascending": True
}
},
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/order/search_package_list');
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({"filter":{"package_status":2},"pagination":{"page_size":50},"sort":{"sort_type":1,"ascending":true}}),
});
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/order/search_package_list' . '?' . 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, '{"filter":{"package_status":2},"pagination":{"page_size":50},"sort":{"sort_type":1,"ascending":true}}');
$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)
| Tên | Kiểu | Mẫu | Mô tả |
|---|---|---|---|
| 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 | Dữ liệu. | |
| packages_list | object[] | Gói hàng. | |
| order_sn | string | 2610230ABCDE03 | Mã đơn. |
| package_number | string | OFG2464280000002 | Mã gói. |
| logistics_channel_id | int | 50021 | Kênh vận chuyển. |
| product_location_id | string | VNZ | Kho xuất. |
| sorting_group | string | Nhóm phân loại (chỉ một số kênh nước ngoài). | |
| is_shipment_arranged | bool | false | Đã xác nhận gửi hàng hay chưa. |
| pagination | object | Phân trang. | |
| total_count | int | 10 | Tổng số gói khớp bộ lọc. |
| more | bool | false | Còn trang kế. |
| next_cursor | string | Con trỏ trang kế. | |
| sort | object | Cách sắp xếp đã áp. | |
| sort_type | int | 1 | |
| ascending | bool | true |
Mẫu phản hồi
{
"error": "",
"message": "",
"response": {
"packages_list": [
{
"order_sn": "2610230ABCDE03",
"package_number": "OFG2464280000002",
"logistics_channel_id": 50021,
"product_location_id": "VNZ",
"sorting_group": "",
"is_shipment_arranged": false
}
],
"pagination": {
"total_count": 10,
"more": false,
"next_cursor": ""
},
"sort": {
"sort_type": 1,
"ascending": true
}
},
"request_id": "e3e3e7f35e8f6a95…"
}
Mã lỗi của Shopee (9)
Bấm để xem
| Mã | Ý nghĩa |
|---|---|
| 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_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. |
Bắt đầu dùng
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Đơn hàng ở trang nền tảng
- Tạo API key (tick kênh Shopee)
- Gọi theo ví dụ ở trên