get /shops/{SHOP_ID}/transactions
GET/shops/{SHOP_ID}/transactionsGọi qua 360: GET https://partner.quantri360.com/v1/pancake_pos/shops/{SHOP_ID}/transactions
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
Sổ thu chi của cửa hàng: tiền thu đơn hàng, trả trước, phí vận chuyển trả ĐVVC, hoàn phí, chi khác — số tiền, đối tượng, đơn liên quan, thời điểm. Dùng cho báo cáo dòng tiền và đối chiếu COD / phí vận chuyển.
- startDateTime / endDateTime là Unix giây (mili giây cũng nhận). Gọi thật: phiếu posted_at 06:25 lọc khớp khoảng 06:00–07:00 UTC, không khớp 06:00–07:00 giờ VN → thời gian trả về là UTC.
- Gọi thật 500 phiếu gần nhất: tên phiếu gặp — "Thanh toán cho đơn hàng", "Thanh toán phí vận chuyển … cho đơn vị vận chuyển" (chi, âm), "Hoàn phí vận chuyển", "Trả trước cho đơn hàng", "Hoàn cho đơn hàng", "Huỷ đơn hàng".
- Mỗi phiếu kèm nguyên object
ordercó items — phản hồi nặng; page_size 100–200 là vừa.
Request
Địa chỉ
GET https://partner.quantri360.com/v1/pancake_pos/shops/{SHOP_ID}/transactions
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 | integer | Có | 1234567 | Mã cửa hàng đã nối với 360. |
| page | query | int | Không | 1 | |
| page_size | query | int | Không | 100 | Mặc định 30; gọi thật 500 vẫn nhận. |
| status | query | int | Không | -1 | -1 tất cả · 0 mới · 1 có hiệu lực · 2 đã hủy · 3 đã xóa. |
| startDateTime | query | int | Không | 1792994400 | Từ (Unix giây) — lọc theo thời điểm ghi sổ. |
| endDateTime | query | int | Không | 1792998000 | Đến (Unix giây). |
Phân trang
Tăng page tới total_pages. Mới nhất trước.
Ví dụ request
curl -s "https://partner.quantri360.com/v1/pancake_pos/shops/1234567/transactions?page=1&page_size=100&status=-1&startDateTime=1792994400&endDateTime=1792998000" \ -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/transactions",
params={
"page": 1,
"page_size": 100,
"status": -1,
"startDateTime": 1792994400,
"endDateTime": 1792998000
},
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/transactions');
for (const [k, v] of Object.entries({"page":1,"page_size":100,"status":-1,"startDateTime":1792994400,"endDateTime":1792998000})) 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/transactions' . '?' . http_build_query(['page' => 1, 'page_size' => 100, 'status' => -1, 'startDateTime' => 1792994400, 'endDateTime' => 1792998000]); $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)
| Tên | Kiểu | Mẫu | Mô tả |
|---|---|---|---|
| success | bool | true | |
| data | object[] | Phiếu thu / chi. | |
| id | string | Mã (UUID). | |
| display_id | string | EGW10744 | Mã phiếu hiển thị. |
| name | string | Thanh toán cho đơn hàng #ref_display_id | Tên phiếu — chứa nguyên chữ `#ref_display_id`, tự thay bằng `ref_display_id` khi hiển thị. |
| type_transaction | int | 1 | `1` thu (amount dương) · `2` chi (amount âm). |
| amount | int | 325000 | Số tiền VND; chi là số ÂM. |
| status | int | 1 | `0` mới · `1` có hiệu lực · `2` đã hủy · `3` đã xóa. |
| is_canceled | bool | false | |
| is_locked | bool | false | |
| table_name | string | shop_transactions_order | Nguồn phiếu. |
| ref_display_id | int | 9716 | Số đơn liên quan. |
| ref_id | string | Mã nội bộ đơn liên quan. | |
| order | object | Đơn liên quan: id, display_id, items[]… (rất nặng). | |
| supplier_or_customer | string | customer | `customer` · `other` (ĐVVC…) · NCC. |
| shop_customer_id | string | Khách. | |
| supplier_products_id | int | NCC. | |
| account | string | Tài khoản / trang nhận tiền. | |
| payments | object[] | [] | Phương thức thanh toán. |
| warehouse_id | string | ||
| posted_at | string | 2026-10-27T06:25:48 | Thời điểm ghi sổ — UTC. |
| inserted_at | string | UTC. | |
| time_incurred | string | Thời điểm phát sinh (nếu nhập tay). | |
| creator | object | Người tạo (null với phiếu tự sinh). | |
| tag_ids | string[] | [] | |
| note | string | ||
| page_number / page_size / total_pages / total_entries | int |
Mẫu phản hồi
{
"success": true,
"data": [
{
"id": "89dcbf80-cc57-409b-b491-e81acab10000",
"display_id": "EGW10744",
"name": "Thanh toán cho đơn hàng #ref_display_id",
"type_transaction": 1,
"amount": 325000,
"currency": "VND",
"status": 1,
"is_canceled": false,
"is_locked": false,
"table_name": "shop_transactions_order",
"ref_display_id": 9716,
"ref_id": "1431770000",
"order": {
"id": 360301027960000,
"display_id": 9716
},
"supplier_or_customer": "customer",
"shop_customer_id": "02a75d1b-…",
"account": "871110146500000",
"payments": [],
"warehouse_id": "6d1b3245-…",
"posted_at": "2026-10-27T06:25:48",
"inserted_at": "2026-10-27T06:25:48",
"creator": null,
"tag_ids": [],
"note": null
},
{
"id": "a81e855f-…",
"display_id": "WXX10741",
"name": "Thanh toán phí vận chuyển của đơn hàng #ref_display_id cho đơn vị vận chuyển.",
"type_transaction": 2,
"amount": -26000,
"status": 1,
"supplier_or_customer": "other",
"ref_display_id": 9705,
"posted_at": "2026-10-15T03:11:15"
}
],
"page_size": 100,
"total_pages": 113,
"page_number": 1,
"total_entries": 11225
}
Bắt đầu dùng
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Tài chính ở trang nền tảng
- Tạo API key (tick kênh Pancake POS)
- Gọi theo ví dụ ở trên