Chuyển tới nội dung chính

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ểuMặc địnhMô tả
pageinteger1Số trang.
per_pageinteger10Số lượng tin tức mỗi trang.
club_idstringnullLọ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ặc all.
  • 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ểuMặc địnhMô tả
pageinteger1Số trang.
per_pageinteger20Số 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