Print order as PDF
GET/shops/{SHOP_ID}/orders/{ORDER_ID}/printGọi qua 360: GET https://partner.quantri360.com/v1/pancake_pos/shops/{SHOP_ID}/orders/{ORDER_ID}/print
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
In đơn ra FILE PDF theo mẫu in của cửa hàng (như bấm In trên POS web). Không truyền label_id thì tự chọn: mẫu in theo ĐVVC của đơn → mẫu mặc định → mẫu đầu tiên → mẫu hệ thống. Dùng để in phiếu giao / hóa đơn bán lẻ từ hệ thống của bạn.
- Lỗi thật: đơn không tồn tại → HTTP 404
{"message":"Bạn không có quyền xem đơn hàng này","success":false};label_idsai → HTTP 404{"message":"Không tìm thấy mẫu in","success":false}. - Khổ trang theo mẫu in; giấy cuộn (K80, K58) trả một trang cao vừa nội dung. In qua API KHÔNG tăng số lần in của đơn.
- Chưa hỗ trợ: biến CRM, hóa đơn điện tử nháp, link theo dõi đơn, sản phẩm cấu thành, mẫu theo nguồn đơn / đơn hoàn, phiếu in do ĐVVC cấp.
- Font chỉ có trên máy tính (Segoe UI, Tahoma…) bị thay thế; ảnh trong mẫu chỉ tải được nếu công khai, ≤ 5 MB, tải < 5 giây, tổng ≤ 15 MB và nằm trong 30 ảnh đầu.
Request
Địa chỉ
GET https://partner.quantri360.com/v1/pancake_pos/shops/{SHOP_ID}/orders/{ORDER_ID}/print
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 | 1234567 | SHOP_ID đã nối — có thể bỏ khi đường dẫn có /shops/{SHOP_ID}. |
Tham số request
| Tên | Vị trí | Kiểu | Bắt buộc | Mẫu | Mô tả |
|---|---|---|---|---|---|
| SHOP_ID | path | int | Có | 1234567 | Mã cửa hàng đã nối với 360. |
| ORDER_ID | path | string | Có | 9721 | Mã đơn, mã hệ thống hoặc mã đơn tùy chỉnh. |
| label_id | query | int | Không | 922009896 | Mã mẫu in của cửa hàng; bỏ trống để tự chọn. |
Ví dụ request
curl -s "https://partner.quantri360.com/v1/pancake_pos/shops/1234567/orders/9721/print" \ -H "Authorization: Bearer $KEY"
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.get(
"https://partner.quantri360.com/v1/pancake_pos/shops/1234567/orders/9721/print",
params={},
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/pancake_pos/shops/1234567/orders/9721/print');
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: 'GET',
headers: { Authorization: `Bearer ${KEY}` },
});
console.log(r.status, await r.json());PHP
<?php $key = 'q360_live_...'; // khóa API của brand $url = 'https://partner.quantri360.com/v1/pancake_pos/shops/1234567/orders/9721/print' . '?' . http_build_query([]); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key]); $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 Pancake POS)
Thành công trả FILE PDF (lưu thẳng thành .pdf); lỗi trả JSON.
| Tên | Kiểu | Mẫu | Mô tả |
|---|---|---|---|
| (nội dung file) | binary | %PDF-1.4… | Thành công: HTTP 200, `Content-Type: application/pdf`, thân là file PDF (đơn thử thật ~148 KB). |
| success | bool | false | Chỉ có khi lỗi (JSON). |
| message | string | Không tìm thấy mẫu in | Thông báo lỗi theo ngôn ngữ cửa hàng. |
| error / error_code / message_code | Mã lỗi cho máy (nếu có). |
Mẫu phản hồi
%PDF-1.4 … (file PDF nhị phân, Content-Type: application/pdf; charset=utf-8, ~148 KB)
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 Pancake POS)
- Gọi theo ví dụ ở trên