get /shops/{SHOP_ID}/customers
GET/shops/{SHOP_ID}/customersGọi qua 360: GET https://partner.quantri360.com/v1/pancake_pos/shops/{SHOP_ID}/customers
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
Danh sách khách hàng của cửa hàng: SĐT, địa chỉ, số đơn / đơn thành công / đơn hoàn, tổng chi tiêu, điểm thưởng, cấp độ, thẻ, nguồn. Dùng để đồng bộ CRM, phân nhóm khách mua lại, chăm sóc sau bán.
- Có HAI mã:
id(khách trong cửa hàng) vàcustomer_id. API chi tiết/customers/{CUSTOMER_ID}và ghi chú nhậncustomer_id; truyềnid→ HTTP 404 "Không tìm thấy khách hàng". - Phản hồi chứa tên, SĐT, địa chỉ khách — chỉ lưu ở nơi có kiểm soát quyền.
Request
Địa chỉ
GET https://partner.quantri360.com/v1/pancake_pos/shops/{SHOP_ID}/customers
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. |
| page_number | query | int | Không | 1 | |
| page_size | query | int | Không | 100 | |
| search | query | string | Không | 0901234567 | Tìm theo SĐT / tên… |
| start_time_inserted_at / end_time_inserted_at | query | timestamp | Không | 1790787600 | Khoảng tạo khách (Unix giây). |
| start_time_updated_at / end_time_updated_at | query | timestamp | Không | 1790787600 | Khoảng cập nhật khách (Unix giây) — dùng cho đồng bộ tăng dần. |
| customer_ids | query | string | Không | 3f9a2b77-d8cf-4a83-ba98-70932f5c3061,4c74b7cf-… | Lấy đúng các khách này — CHUỖI cách dấu phẩy. |
| selectedLevel[] | query | string[] | Không | 508c9819-a681-4ae2-bcff-acf92bf4e5fa | Lọc cấp độ khách (mã ở /customer_levels). |
Phân trang
page_number = 1 … total_pages.
Ví dụ request
curl -s "https://partner.quantri360.com/v1/pancake_pos/shops/1234567/customers?page_number=1&page_size=100&start_time_updated_at=1790787600&end_time_updated_at=1793206799" \ -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/customers",
params={
"page_number": 1,
"page_size": 100,
"start_time_updated_at": 1790787600,
"end_time_updated_at": 1793206799
},
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/customers');
for (const [k, v] of Object.entries({"page_number":1,"page_size":100,"start_time_updated_at":1790787600,"end_time_updated_at":1793206799})) 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/customers' . '?' . http_build_query(['page_number' => 1, 'page_size' => 100, 'start_time_updated_at' => 1790787600, 'end_time_updated_at' => 1793206799]); $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 | |
| page_number / page_size | int | ||
| total_entries | int | 7373 | |
| total_pages | int | 74 | |
| data | object[] | Khách hàng. | |
| id | string | 1480a47b-71df-4b37-9095-24c5af777232 | Mã khách TRONG CỬA HÀNG. |
| customer_id | string | 3f9a2b77-d8cf-4a83-ba98-70932f5c3061 | Mã khách dùng cho API chi tiết / ghi chú (`/customers/{CUSTOMER_ID}`) và lọc đơn. |
| name | string | Nguyễn Văn A | |
| phone_numbers | string[] | ["0901234567"] | |
| emails | string[] | [] | |
| gender | string | female | |
| date_of_birth | string | null | |
| order_count / succeed_order_count / returned_order_count | int | 1 / 0 / 0 | Số đơn / thành công / hoàn. |
| purchased_amount | int | 0 | Tổng chi tiêu (VND). |
| last_order_at | string | null | Đơn gần nhất. |
| reward_point / used_reward_point | int | 0 | Điểm thưởng. |
| level | object | null | Cấp độ khách. |
| tags | object[] | [] | |
| order_sources | string[] | ["-1"] | Nguồn đơn của khách. |
| current_debts | int | 0 | Công nợ. |
| shop_customer_addresses | object[] | Địa chỉ: full_name, phone_number, address, full_address, province_id, district_id, commune_id… | |
| notes | object[] | Ghi chú (như /load_customer_notes). | |
| fb_id / pages_customers / conversation_link | Liên kết Facebook. | ||
| inserted_at / updated_at | string | 2026-10-28T10:41:43 | Giờ UTC. |
| … | Còn: customer_code, referral_code, company_info, is_block, creator… |
Mẫu phản hồi
{
"success": true,
"page_number": 1,
"page_size": 1,
"total_entries": 7373,
"total_pages": 7373,
"data": [
{
"id": "1480a47b-71df-4b37-9095-24c5af777232",
"customer_id": "3f9a2b77-d8cf-4a83-ba98-70932f5c3061",
"name": "Nguyễn Văn A",
"phone_numbers": [
"0901234567"
],
"gender": "female",
"order_count": 1,
"succeed_order_count": 0,
"returned_order_count": 0,
"purchased_amount": 0,
"reward_point": 0,
"level": null,
"tags": [],
"order_sources": [
"-1"
],
"current_debts": 0,
"inserted_at": "2026-10-28T10:41:43",
"updated_at": "2026-10-28T10:41:43"
}
]
}
Bắt đầu dùng
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Khách hàng ở trang nền tảng
- Tạo API key (tick kênh Pancake POS)
- Gọi theo ví dụ ở trên