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

Lấy token in nhãn vận đơn GHN — API GHN

v2.a5.gen-token · 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.a5.gen-token

POST/shiip/public-api/v2/a5/gen-tokenGọi qua 360: POST https://partner.quantri360.com/v1/ghn/shiip/public-api/v2/a5/gen-token
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.
Endpoint ghi — thay đổi dữ liệu trên GHN. 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

Sinh token in nhãn vận đơn GHN. Gắn token vào trang in của GHN (cùng máy chủ GHN của kết nối): /a5/public-api/printA5?token=… (khổ A5), /a5/public-api/print80x80?token=…, /a5/public-api/print52x70?token=… — mở thẳng trên trình duyệt / máy in, không cần đi qua 360.

  • Coi như API GHI (tạo token in trên GHN) — key cần quyền ghi.
  • Token in hết hạn sau thời gian ngắn — mỗi lần in sinh token mới.

Request

Địa chỉ

POST https://partner.quantri360.com/v1/ghn/shiip/public-api/v2/a5/gen-token

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_idquerystring196560ShopId GHN đã nối (GET /v1/platforms). Mỗi brand một cửa hàng — có thể bỏ. shop_id trong body (vd available-services) phải trùng.

Tham số request

TênVị tríKiểuBắt buộcMẫuMô tả
order_codesbodystring[]Có["LADFYR"]Mã vận đơn cần in (tối đa 10.000). Tất cả hoặc không: một mã sai / không thuộc tài khoản → không tạo token.
item_indexbodyint[]KhôngĐơn nhiều sản phẩm: vị trí (từ 0) các sản phẩm cần in; mặc định in tất cả.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/ghn/shiip/public-api/v2/a5/gen-token" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"order_codes":["LADFYR"]}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/ghn/shiip/public-api/v2/a5/gen-token",
    params={},
    json={
        "order_codes": [
            "LADFYR"
        ]
    },
    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/ghn/shiip/public-api/v2/a5/gen-token');
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({"order_codes":["LADFYR"]}),
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/ghn/shiip/public-api/v2/a5/gen-token' . '?' . 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, '{"order_codes":["LADFYR"]}');
$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 GHN)

TênKiểuMẫuMô tả
codeint200
messagestringSuccess
dataobject
tokenstring1b744cae-8005-11f1-b50f-ba37616041ecToken in — có hạn ngắn (khoảng 30 phút), sinh ngay trước khi in, không lưu lại.

Mẫu phản hồi

{
  "code": 200,
  "message": "Success",
  "data": {
    "token": "1b744cae-8005-11f1-…"
  }
}

Mã lỗi của GHN (4)

Bấm để xem
MãÝ nghĩa
ORDER_NOT_FOUND400 — Một mã đơn không tồn tại hoặc không thuộc tài khoản của bạn. Toàn bộ lô bị hủy; không token nào được tạo
CLIENT_NOT_OWNER_OF_SHOP400 — Một đơn thuộc shop mà tài khoản của bạn không phải thành viên
Vượt giới hạn (Not support over 10000 orders)400 — Quá 10,000 mã trong một request
SERVER_ERROR_COMMON500 — Lỗi hệ thống

Bắt đầu dùng

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