v2.logistics.set_pause_status
POST/api/v2/logistics/set_pause_statusGọi qua 360: POST https://partner.quantri360.com/v1/shopee/api/v2/logistics/set_pause_status
Endpoint ghi — thay đổi dữ liệu trên Shopee. Key phải được tạo với tick "Cho phép gọi API ghi", nếu không sẽ nhận 403 write_not_allowed. Mỗi lần gọi được ghi nhật ký.
Mô tả API
Tạm dừng hoặc mở lại nhận đơn mới qua các kênh liên quan của gian hàng, sử dụng quota tạm dừng trong ngày.
- Gọi qua /v1/shopee/api/v2/logistics/set_pause_status 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 GHI: thay đổi dữ liệu thật trên Shopee; cần key có quyền ghi (can_write) và gói mở module Đơn hàng. Dừng / mở nhận đơn mới và tiêu thụ quota tạm dừng trong ngày.
- HTTP 200 vẫn có thể có lỗi nghiệp vụ; kiểm error trước khi dùng kết quả.
- Đọc get_pause_status trước. is_paused=true tạm dừng làm khách không đặt được đơn mới qua các kênh liên quan, đơn đã có vẫn xử lý bình thường; false mở lại.
- Tạm dừng trừ quota trong ngày và tự tính pause_end_time. Có thể mất ít phút mới hiệu lực nên vẫn có thể có đơn lọt; kiểm lại get_pause_status.
- Hết quota trả logistics.no_remaining_pause_quota; gian hàng chưa được mở tính năng trả logistics.shop_not_in_feature_toggle.
Request
Địa chỉ
POST https://partner.quantri360.com/v1/shopee/api/v2/logistics/set_pause_status
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ả |
|---|---|---|---|---|---|
| is_paused | body | boolean | Có | true | true: tạm dừng nhận đơn mới qua các kênh liên quan; false: mở lại và ngừng trừ quota còn lại đến lần đặt lại ngày sau. Có thể trễ khoảng 15 giây; đọc get_pause_status để xác nhận. |
Ví dụ request
curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/logistics/set_pause_status" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"is_paused":true}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/shopee/api/v2/logistics/set_pause_status",
params={},
json={
"is_paused": 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/logistics/set_pause_status');
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({"is_paused":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/logistics/set_pause_status' . '?' . 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, '{"is_paused":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)
Kiểm error / message trước khi dùng kết quả; kiểm lỗi riêng từng phần tử nếu phản hồi có danh sách.
| 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 | Thông tin kết quả. | |
| is_paused | boolean | true | true: các kênh liên quan đang tạm dừng nhận đơn mới; false: không tạm dừng. Đọc get_pause_status trước; nếu true, đối chiếu support_pause=true trong get_channel_list để biết các kênh bị ảnh hưởng. |
| pause_end_time | timestamp | 1 | Thời điểm tự mở lại khi hết quota; chỉ trả khi is_paused=true. Có thể mở lại thủ công bằng is_paused=false để ngừng trừ quota còn lại. |
| remaining_pause_quota | int64 | 1 | Quota tạm dừng còn lại trong ngày, đơn vị giây; chỉ trả khi is_paused=false. |
Mẫu phản hồi
{
"error": "",
"message": "",
"request_id": "demo-request",
"response": {
"is_paused": true,
"pause_end_time": 1773401096,
"remaining_pause_quota": 0
}
}
Mã lỗi của Shopee (8)
Bấm để xem
| Mã | Ý nghĩa |
|---|---|
| logistics.no_remaining_pause_quota | Gian hàng đã hết quota tạm dừng trong ngày. |
| logistics.shop_not_in_feature_toggle | Gian hàng chưa được mở tính năng tạm dừng. |
| 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 | Tham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào. |
| 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