API Dashboard & Thông báo
Tài liệu này cung cấp các endpoint phục vụ màn hình chính (Home) của nhân viên: các chỉ số hoạt động , tin tức / sự kiện / khuyến mãi nội bộ quán, và hệ thống thông báo đẩy (push notifications).
1. Dashboard & Chỉ số Nhân viên
Trả về tổng quan năng suất trong ngày và trong tuần của nhân viên đang đăng nhập, kèm danh sách các hội viên tương tác gần nhất và các voucher vừa quy đổi thành công tại quán.
- Method:
GET - Endpoint:
/api/{locale}/v1/staff/dashboard - Auth:
auth:staff_api(Bearer Token)
Response Thành công
{
"metrics": {
"transactions_today": 12,
"transactions_this_week": 48,
"points_today": 350,
"rewards_today": 2,
"stamps_today": 0,
"stamps_this_week": 0,
"stamp_rewards_today": 0
},
"recent_members": [
{
"member_id": "019b8d48-97df-7177-8aa0-47f2107a8eb3",
"name": "Nguyễn Văn A",
"phone_masked": "09*****567",
"is_vip": true,
"activity_type": "voucher",
"event": "staff_redeemed_voucher",
"last_seen_at": "2026-05-20T19:30:00.000000Z"
}
],
"recent_vouchers": [
{
"id": "019b8d49-rdm-001",
"code": "GIAM50K",
"title": "Giảm 50.000đ",
"discount_amount": 50000,
"member_name": "Nguyễn Văn A",
"redeemed_at": "2026-05-20T19:30:00.000000Z"
}
]
}
2. Tin tức, Sự kiện & Ưu đãi Nội bộ
Dành cho nhân viên cập nhật kịp thời các chương trình khuyến mãi đang chạy, sự kiện sắp diễn ra của quán để tư vấn chính xác cho khách hàng.
2.1 Danh sách Tin tức
- Method:
GET - Endpoint:
/api/{locale}/v1/staff/dashboard/news - Auth:
auth:staff_api
Query Parameters
| Tham số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
page | integer | 1 | Số trang. |
per_page | integer | 10 | Số lượng tin tức mỗi trang. |
club_id | string | null | Lọc theo ID cơ sở cụ thể. |
2.2 Danh sách Sự kiện
- Method:
GET - Endpoint:
/api/{locale}/v1/staff/dashboard/events - Auth:
auth:staff_api
Query Parameters
scope:upcoming,past, hoặcall.page,per_page,club_id.
2.3 Danh sách Khuyến mãi đang áp dụng
- Method:
GET - Endpoint:
/api/{locale}/v1/staff/dashboard/promotions - Auth:
auth:staff_api
3. Hệ thống Thông báo
Nhân viên nhận thông báo khi có khách đặt bàn mới, yêu cầu hỗ trợ hoặc thông báo từ cấp quản lý quán.
3.1 Đếm số thông báo chưa đọc
- Method:
GET - Endpoint:
/api/{locale}/v1/staff/notifications/unread-count - Auth:
auth:staff_api
Response Thành công
{
"unread_count": 4
}
3.2 Lấy danh sách thông báo
- Method:
GET - Endpoint:
/api/{locale}/v1/staff/notifications - Auth:
auth:staff_api
Query Parameters
| Tham số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
page | integer | 1 | Số trang. |
per_page | integer | 20 | Số thông báo mỗi trang. |
Response Thành công
{
"data": [
{
"id": "019b8d49-notif-001",
"title": "Yêu cầu Đặt bàn Mới",
"body": "Khách hàng Nguyễn Văn A vừa đặt bàn 4 người lúc 19:00 hôm nay.",
"type": "booking_created",
"is_read": false,
"created_at": "2026-05-20T18:15:00.000000Z",
"data": {
"booking_id": "019b8d49-bb12-7001-a123-001122334455"
}
}
],
"current_page": 1,
"last_page": 1,
"total": 1
}
3.3 Đánh dấu thông báo đã đọc
- Method:
PATCH - Endpoint:
/api/{locale}/v1/staff/notifications/{notificationId}/read - Auth:
auth:staff_api
3.4 Đánh dấu tất cả thông báo đã đọc
- Method:
PATCH - Endpoint:
/api/{locale}/v1/staff/notifications/read-all - Auth:
auth:staff_api
3.5 Xoá thông báo
- Method:
DELETE - Endpoint:
/api/{locale}/v1/staff/notifications/{notificationId} - Auth:
auth:staff_api