nhanh.v3.0.business.depot
POST/v3.0/business/depotGọi qua 360: POST https://partner.quantri360.com/v1/nhanh/v3.0/business/depot
Sắp mở. API này đã chạy thật qua 360 và đang được chốt giá — bạn có thể đọc tài liệu và chuẩn bị tích hợp trước.
Mô tả API
Danh sách kho hàng / cửa hàng của doanh nghiệp trên Nhanh (id, mã, tên, SĐT, địa chỉ theo cả địa giới cũ 3 cấp và mới 2 cấp). Id kho dùng để lọc hóa đơn (bill/list filters.depotIds), đọc tồn theo kho (product/list → inventory.depots[].id) và gắn kho cho đơn.
- Trả toàn bộ kho trong một lần, không phân trang.
- Kho chưa cập nhật địa chỉ hệ mới có
locationV2.cityId = 0và không cócityName/wardName— khi đó dùnglocation(hệ cũ). - Danh sách ít thay đổi — lấy một lần rồi lưu lại (khoảng 24 giờ).
Request
Địa chỉ
POST https://partner.quantri360.com/v1/nhanh/v3.0/business/depot
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ả |
|---|---|---|---|---|---|
| filters.ids | body | int[] | Không | [] | Id kho cần lấy; mảng rỗng hoặc bỏ = tất cả kho. |
Ví dụ request
curl -s -X POST "https://partner.quantri360.com/v1/nhanh/v3.0/business/depot" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"filters":{"ids":[]}}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/nhanh/v3.0/business/depot",
params={},
json={
"filters": {
"ids": []
}
},
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/nhanh/v3.0/business/depot');
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({"filters":{"ids":[]}}),
});
console.log(r.status, await r.json());PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/nhanh/v3.0/business/depot' . '?' . 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, '{"filters":{"ids":[]}}');
$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 Nhanh.vn)
| Tên | Kiểu | Mẫu | Mô tả |
|---|---|---|---|
| code | int | 1 | 1 = thành công; 0 = lỗi (xem messages). |
| messages | string[] | [] | Thông điệp lỗi của Nhanh. |
| data | object[] | Dữ liệu. | |
| id | int | 104483 | Id kho. |
| code | string | Kho Tổng | Mã kho. |
| name | string | Kho tổng | Tên kho / cửa hàng. |
| mobile | string | SĐT kho. | |
| location | object | Địa chỉ theo địa giới cũ 3 cấp. | |
| cityId | int | 254 | |
| cityName | string | Hà Nội | |
| districtId | int | 319 | |
| districtName | string | Quận Long Biên | |
| wardId | int | 1093 | |
| wardName | string | Phường Đức Giang | |
| address | string | Địa chỉ chi tiết. | |
| locationV2 | object | Địa chỉ theo địa giới mới 2 cấp. | |
| cityId | int | 254 | `0` khi kho chưa khai địa chỉ mới. |
| cityName | string | Hà Nội | Thiếu khóa khi cityId = 0. |
| wardId | int | 1100 | |
| wardName | string | Phường Long Biên | |
| address | string |
Mẫu phản hồi
{
"code": 1,
"data": [
{
"id": 104483,
"code": "Kho Tổng",
"name": "Kho tổng",
"mobile": "0901234567",
"location": {
"cityId": 254,
"cityName": "Hà Nội",
"districtId": 319,
"districtName": "Quận Long Biên",
"wardId": 1093,
"wardName": "Phường Đức Giang",
"address": "59 Đức Giang - Long Biên - Hà Nội"
},
"locationV2": {
"cityId": 0,
"wardId": 0,
"address": "59 Đức Giang - Long Biên - Hà Nội"
}
},
{
"id": 104490,
"code": "Aeon Long Biên",
"name": "Aeon Long Biên",
"mobile": "0901234568",
"location": {
"cityId": 254,
"cityName": "Hà Nội",
"districtId": 319,
"districtName": "Quận Long Biên",
"wardId": 1100,
"wardName": "Phường Long Biên",
"address": "Số 27 đường Cổ Linh, Phường Long Biên, Thành Phố Hà Nội"
},
"locationV2": {
"cityId": 254,
"cityName": "Hà Nội",
"wardId": 1100,
"wardName": "Phường Long Biên",
"address": "Số 27 đường Cổ Linh, Phường Long Biên, Thành Phố Hà Nội"
}
}
]
}
Bắt đầu dùng
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Tồn kho ở trang nền tảng
- Tạo API key (tick kênh Nhanh.vn)
- Gọi theo ví dụ ở trên