VI | EN
Nhắn Messenger
Dành cho developer

Tải nhãn TO (chỉ Đài Loan) — API Shopee

v2.logistics.download_to_label · gọi qua Quantri360 bằng một API key cho chính tài khoản / tài sản bạn đã kết nối và ủy quyền — 360 lo việc ký request và làm mới phiên đăng nhập bạn đã cấp.

v2.logistics.download_to_label

POST/api/v2/logistics/download_to_labelGọi qua 360: POST https://partner.quantri360.com/v1/shopee/api/v2/logistics/download_to_label
Mô tả API

CHỈ ĐÀI LOAN (kênh 30029): tải nhãn TO (Transfer Order) dán lên thùng carton trước khi mang hàng gửi ở kho Shopee. Gian hàng Việt Nam luôn nhận lỗi logistics.can_not_print_to_label — không cần gọi.

  • Chỉ shop/kênh được cấp riêng (whitelist) mới tải được nhãn TO; shop thường có thể nhận lỗi quyền nghiệp vụ.
  • Gọi bằng POST, body JSON.
  • Gian hàng chưa bật kênh 30029 hoặc không có đơn đang chạy trên kênh đó → logistics.can_not_print_to_label (đã gặp khi gọi thử với gian hàng VN).

Request

Địa chỉ

POST https://partner.quantri360.com/v1/shopee/api/v2/logistics/download_to_label

Xác thực & gian hàng

TênVị tríKiểuMẫuMô tả
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.

Tham số request

TênVị tríKiểuBắt buộcMẫuMô tả
sorting_groupbodyintCó1Khu phân loại của TO: 1 = miền Bắc · 2 = miền Nam (số, không phải chuỗi).
quantitybodyintKhông1Số nhãn, tối đa 20; mặc định 1.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/logistics/download_to_label" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"sorting_group":1,"quantity":1}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/shopee/api/v2/logistics/download_to_label",
    params={},
    json={
        "sorting_group": 1,
        "quantity": 1
    },
    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/download_to_label');
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({"sorting_group":1,"quantity":1}),
});
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/download_to_label' . '?' . 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, '{"sorting_group":1,"quantity":1}');
$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)

Thành công trả FILE, không phải JSON. Lỗi là JSON `{ request_id, error, message }`.

TênKiểuMẫuMô tả
(body)fileThành công: nội dung file nhãn (PDF).

Mẫu phản hồi

{
  "request_id": "e3e3e7f35ef1bd1c…",
  "error": "logistics.can_not_print_to_label",
  "message": "You do not have permission to call this API as you're not whitelisted or enabled channel 30029"
}

Mã lỗi của Shopee (11)

Bấm để xem
MãÝ nghĩa
logistics.invalid_address_versionĐịa chỉ theo địa giới cũ không còn được hỗ trợ — cập nhật địa chỉ gian hàng trên Kênh Người Bán.
logistics.can_not_print_to_labelChỉ gian hàng Đài Loan bật kênh 30029 mới in được nhãn TO.
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_shopGian 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_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.

Bắt đầu dùng

  1. Đăng ký tài khoản Partner
  2. Mở loại dữ liệu thuộc nhóm Đơn hàng ở trang nền tảng
  3. Tạo API key (tick kênh Shopee)
  4. Gọi theo ví dụ ở trên