dev/chat/facebook_page_permission.md
Chat - Quyền của Facebook Page, Zalo OA tích hợp trong ucall
I. Tổng quan
1. Vấn đề
- Khi kết nối
Facebook Pagevào ucall, nếu không giới hạn người truy cập thì nhiều nhân viên trong workspace có thể cùng nhìn thấy và thao tác trên cùng một nguồn hội thoại. - Điều này dễ gây trùng xử lý, khó xác định trách nhiệm và tiềm ẩn rủi ro lộ dữ liệu khách hàng.
- Hệ thống cần có cơ chế kiểm soát:
- Ai được quyền truy cập Facebook Page đã tích hợp.
- Ai được quyền xem và xử lý các cuộc trò chuyện phát sinh từ Page đó.
2. Giải pháp
- Bổ sung cấu hình quyền trên từng
Facebook Pagetrong mànCài đặt > Tích hợp. - Cho phép chọn 3 mức quyền truy cập:
Chỉ mình tôiTất cảTùy chỉnh
- Với mô hình
Tùy chỉnh, hệ thống cho phép chọn danh sách nhân viên được tham gia xử lý Page. - Tài liệu này áp dụng cùng nguyên tắc phân quyền với Zalo cá nhân, nhưng Zalo OA,
Facebook Pagekhông có cấu hìnhTin nhắn đồng bộ.
3. Đối tượng
- Admin hoặc người được phân quyền quản lý tích hợp kênh chat.
- User có quyền truy cập màn
Cài đặt > Tích hợp. - Nhân viên hoặc nhóm nhân viên được cấp quyền tham gia xử lý hội thoại từ Facebook Page.
4. Tầm nhìn/insight
- Chuẩn hóa một mô hình permission chung cho tất cả kênh chat social.
- Cho phép dùng chung rule phân quyền theo nhóm vận hành hoặc phòng ban.
- Mở rộng thêm cơ chế kế thừa quyền từ nhóm hoặc từ pipeline chăm sóc khách hàng trong tương lai.
II. Yêu cầu chức năng
1. Danh sách tính năng
- Hiển thị danh sách
Facebook Pageđã kết nối trong màn tích hợp. - Mở popup
Cấu hình Facebook Page. - Chọn quyền truy cập ở 3 mức:
Chỉ mình tôi,Tất cả,Tùy chỉnh. - Lưu cấu hình và áp dụng cho việc truy cập xử lý hội thoại của Page.
- Hiển thị lại thông tin
Nhân viên phụ tráchtrên card của Page sau khi cấu hình.
2. Đặc tả chi tiết
User story 1: Là một người quản trị tích hợp, tôi muốn giới hạn người được truy cập Facebook Page để đảm bảo đúng người, đúng phạm vi xử lý hội thoại.
-
Use case 1.1 (Happy path - Chỉ mình tôi): User mở popup
Cấu hình Facebook Page-> chọnChỉ mình tôitại mụcNhân viên phụ trách-> bấmLưu và Đồng bộ tin nhắn-> chỉ người cấu hình có quyền truy cập Page này. -
Use case 1.2 (Happy path - Tất cả): User mở popup -> chọn
Tất cả-> lưu cấu hình -> toàn bộ user trong workspace có thể truy cập Page này theo quyền hệ thống. -
Use case 1.3 (Happy path - Tùy chỉnh): User mở popup -> chọn
Tùy chỉnh-> hệ thống cho phép chọn danh sách nhân viên được quyền tham gia xử lý -> lưu cấu hình thành công. -
Use case 1.4 (Pattern chung - Phạm vi hội thoại): Theo mô hình permission đang dùng cho các kênh chat cùng nhóm, khi chọn
Tùy chỉnh, hệ thống có thể áp dụng thêm phạm vi hội thoại cho từng nhân viên:Tất cả cuộc trò chuyệnChỉ cuộc trò chuyện do mình phụ tráchChỉ cuộc trò chuyện do nhóm phụ tráchGhi chú: Figma Facebook Page hiện mới thể hiện popup cấu hình mức quyền tổng quát, chưa có node chi tiết cho trạng thái mở rộngTùy chỉnh.
User story 2: Là một nhân viên được phân quyền, tôi muốn chỉ thấy các hội thoại Facebook nằm trong phạm vi mình được giao để tránh lộ thông tin và xử lý trùng.
-
Use case 2.1 (Phạm vi truy cập): Nếu tài khoản được cấp quyền tham gia Facebook Page, user chỉ được xem và thao tác trên các hội thoại đúng theo cấu hình áp dụng.
-
Use case 2.2 (Không có cấu hình tin nhắn đồng bộ): Khác với Zalo cá nhân, popup
Cấu hình Facebook Pagekhông có phầnTin nhắn đồng bộ; hệ thống chỉ cấu hình quyền truy cập và phạm vi xử lý.
3. Danh sách nghiệp vụ
- Mỗi
Facebook Pagecó một cấu hình quyền riêng. Facebook Pagekhông có phần thiết lậpTin nhắn đồng bộ.- Khi chọn
Chỉ mình tôi, chỉ người cấu hình được quyền truy cập Page đó. - Khi chọn
Tất cả, mọi user trong workspace có thể truy cập Page theo quyền hệ thống. - Khi chọn
Tùy chỉnh, chỉ các nhân viên được chỉ định mới được tham gia xử lý. - Thông tin nhân sự phụ trách cần hiển thị lại trên card Page để tiện kiểm tra nhanh.
- Nếu số lượng nhân viên nhiều, giao diện có thể rút gọn hiển thị dưới dạng
+N.
4. Giao diện
- Figma popup cấu hình Facebook Page:
https://www.figma.com/design/tBBrdtHlG1LAYJUfJsvyS3/UCALL-2026--Ant-Design-5.10.1-?node-id=38553-17770&m=dev
- Thành phần giao diện chính:
- Tiêu đề popup:
Cấu hình Facebook Page - Nhóm radio
Nhân viên phụ tráchgồm:Chỉ mình tôiTất cảTùy chỉnh
- Nút hành động:
Lưu và Đồng bộ tin nhắn
- Tiêu đề popup:
III. Yêu cầu phi chức năng
- Chỉ user có quyền truy cập màn tích hợp mới được cấu hình Facebook Page.
- Mỗi lần thay đổi quyền cần được ghi log để audit.
- Quyền sau khi lưu phải được áp dụng nhất quán sang màn chat đa kênh và các màn liên quan.
IV. Dependency (Liên quan & phụ thuộc)
- Module
Tích hợpđể quản lý kết nối Facebook Page. - Module
Quyền/Nhân viên/Nhóm nhân viênđể lấy danh sách user và nhóm. - Module
Chat đa kênhđể áp dụng quyền vào danh sách hội thoại và khung chat. - Module phân công hội thoại/khách hàng nếu áp dụng phạm vi
mình phụ tráchhoặcnhóm phụ trách.
V. API Contract (dev viết)
- [TODO: API lấy/lưu cấu hình quyền truy cập của Facebook Page]
- [TODO: API lấy danh sách nhân viên được gán quyền]
VI. Test case (BA hoặc tester viết)
- TC1 (Happy Path): Chọn
Chỉ mình tôi-> lưu thành công -> chỉ người cấu hình truy cập được Facebook Page. - TC2 (Happy Path): Chọn
Tất cả-> lưu thành công -> toàn bộ user trong workspace thấy được Page theo quyền hệ thống. - TC3 (Happy Path): Chọn
Tùy chỉnh-> thêm nhiều nhân viên -> lưu thành công -> chỉ các nhân viên được chọn mới truy cập được. - TC4 (Business Rule): Facebook Page không hiển thị phần
Tin nhắn đồng bộtrong popup cấu hình. - TC5 (Audit): Mỗi lần thay đổi quyền của Facebook Page -> hệ thống lưu vết người sửa, thời gian và cấu hình trước/sau. dev/chat/zalo_oa_permission.md
Chat - Quyền của Zalo OA tích hợp trong ucall
I. Tổng quan
1. Vấn đề
Zalo OAlà kênh hội thoại dùng chung cho doanh nghiệp nên thường có nhiều nhân viên cùng tham gia xử lý.- Nếu không kiểm soát quyền tốt, dữ liệu hội thoại và thông tin khách hàng có thể bị xem vượt phạm vi cần thiết.
- Cần phân tách rõ:
- Ai được quyền truy cập và quản trị kênh Zalo OA.
- Ai được quyền xem và xử lý hội thoại theo phạm vi được giao.
2. Giải pháp
- Bổ sung cấu hình quyền riêng cho từng tài khoản
Zalo OA. - Cho phép cấu hình 3 mức truy cập:
Chỉ mình tôiTất cảTùy chỉnh
- Khi chọn
Tùy chỉnh, cho phép chọn nhiều nhân viên và cấu hình phạm vi hội thoại cho từng người:Tất cả cuộc trò chuyệnChỉ cuộc trò chuyện do mình phụ tráchChỉ cuộc trò chuyện do nhóm phụ trách
- Khác với Zalo cá nhân,
Zalo OAkhông có phần cấu hìnhTin nhắn đồng bộ.
3. Đối tượng
- Admin hoặc người được phân quyền quản lý tích hợp Zalo OA.
- Người dùng có quyền truy cập màn
Cài đặt > Tích hợp. - Nhân viên hoặc nhóm nhân viên được cấp quyền tham gia xử lý hội thoại từ Zalo OA.
4. Tầm nhìn/insight
- Tạo một mô hình phân quyền thống nhất giữa
Facebook Page,Zalo OAvà các kênh social khác. - Có thể tái sử dụng theo nhóm vận hành, nhãn đội ngũ hoặc phòng ban.
- Mở rộng thêm rule tự động gán người xử lý theo khách hàng, pipeline hoặc SLA trong tương lai.
II. Yêu cầu chức năng
1. Danh sách tính năng
- Hiển thị danh sách tài khoản
Zalo OAđã kết nối. - Mở popup
Cấu hình Zalo OA. - Chọn 1 trong 3 mức quyền truy cập:
Chỉ mình tôi,Tất cả,Tùy chỉnh. - Khi chọn
Tùy chỉnh, cho phép chọn nhiều nhân viên. - Với từng nhân viên được chọn, cấu hình phạm vi hội thoại.
- Lưu cấu hình và áp dụng vào quyền xem/xử lý hội thoại trên kênh Zalo OA.
2. Đặc tả chi tiết
User story 1: Là một người quản trị tích hợp, tôi muốn giới hạn ai được tham gia xử lý Zalo OA để bảo mật dữ liệu và kiểm soát trách nhiệm vận hành.
-
Use case 1.1 (Happy path - Chỉ mình tôi): User mở popup
Cấu hình Zalo OA-> chọnChỉ mình tôitại mụcQuyền truy cập-> bấmLưu và Đồng bộ tin nhắn-> chỉ người cấu hình được quyền truy cập kênh Zalo OA đó. -
Use case 1.2 (Happy path - Tất cả): User mở popup -> chọn
Tất cả-> lưu cấu hình -> toàn bộ user trong workspace được tham gia theo phạm vi hệ thống cho phép. -
Use case 1.3 (Happy path - Tùy chỉnh): User mở popup -> chọn
Tùy chỉnh-> chọn nhiều nhân viên tại ô chọn user -> hệ thống hiển thị danh sách từng nhân viên bên dưới -> user thiết lập phạm vi hội thoại cho từng người -> lưu cấu hình thành công. -
Use case 1.4 (Phạm vi hội thoại theo từng nhân viên): Với mỗi nhân viên trong chế độ
Tùy chỉnh, hệ thống cho chọn một trong ba mức:Tất cả cuộc trò chuyệnChỉ cuộc trò chuyện do mình phụ tráchChỉ cuộc trò chuyện do nhóm phụ trách
User story 2: Là một nhân viên được phân quyền, tôi muốn chỉ thấy đúng các hội thoại Zalo OA thuộc phạm vi của mình để xử lý chính xác và không lộ dữ liệu sang người không liên quan.
-
Use case 2.1 (Tất cả cuộc trò chuyện): Nhân viên có mức
Tất cả cuộc trò chuyệnsẽ thấy toàn bộ hội thoại phát sinh từ OA. -
Use case 2.2 (Chỉ cuộc trò chuyện do mình phụ trách): Nhân viên chỉ thấy các hội thoại mà chính họ đang là người phụ trách.
-
Use case 2.3 (Chỉ cuộc trò chuyện do nhóm phụ trách): Nhân viên chỉ thấy các hội thoại thuộc nhóm mà họ tham gia phụ trách.
-
Use case 2.4 (Thông điệp giải thích): Hệ thống hiển thị ghi chú:
Nhân viên phụ trách bao gồm phụ trách cuộc trò chuyện và phụ trách khách hàng được liên kết với cuộc trò chuyện. -
Use case 2.5 (Không có cấu hình tin nhắn đồng bộ): Popup
Cấu hình Zalo OAkhông có phầnTin nhắn đồng bộ, chỉ có phần quyền truy cập và phạm vi hội thoại.
3. Danh sách nghiệp vụ
- Mỗi tài khoản
Zalo OAcó một cấu hình quyền riêng. Zalo OAkhông có cấu hìnhTin nhắn đồng bộ.- Khi chọn
Chỉ mình tôi, chỉ người cấu hình có quyền truy cập OA đó. - Khi chọn
Tất cả, mọi user trong workspace có thể truy cập OA theo quyền hệ thống. - Khi chọn
Tùy chỉnh, chỉ các nhân viên được chọn mới tham gia xử lý hội thoại. - Mỗi nhân viên trong cấu hình
Tùy chỉnhphải có đúng một mức phạm vi hội thoại. - Logic
mình phụ tráchvànhóm phụ tráchphụ thuộc vào dữ liệu phân công hội thoại và khách hàng trong hệ thống. - Cấu hình quyền phải được phản ánh sang module chat đa kênh.
4. Giao diện
- Figma popup cấu hình Zalo OA:
https://www.figma.com/design/tBBrdtHlG1LAYJUfJsvyS3/UCALL-2026--Ant-Design-5.10.1-?node-id=38553-17806&m=dev
- Thành phần giao diện chính:
- Tiêu đề popup:
Cấu hình Zalo OA - Nhóm radio
Quyền truy cậpgồm:Chỉ mình tôiTất cảTùy chỉnh
- Khi chọn
Tùy chỉnh, hiển thị:- Ô chọn nhiều nhân viên.
- Danh sách từng nhân viên với 3 lựa chọn phạm vi hội thoại.
- Có phần note giải thích phạm vi phụ trách.
- Nút hành động:
Lưu và Đồng bộ tin nhắn
- Tiêu đề popup:
III. Yêu cầu phi chức năng
- Chỉ user có quyền vào màn tích hợp mới được cấu hình Zalo OA.
- Mọi thay đổi cấu hình quyền cần được ghi log phục vụ audit.
- Giao diện phải hiển thị ổn định khi danh sách nhân viên dài hoặc số lượng lớn.
- Quyền phải được áp dụng đồng nhất giữa màn tích hợp, thread chat và chi tiết hội thoại.
IV. Dependency (Liên quan & phụ thuộc)
- Module
Tích hợpđể quản lý kết nối Zalo OA. - Module
Quyền/Nhân viên/Nhóm nhân viênđể lấy danh sách user. - Module
Chat đa kênhđể áp dụng quyền vào hội thoại. - Module phân công hội thoại/khách hàng để xác định phạm vi
mình phụ tráchvànhóm phụ trách.
V. API Contract (dev viết)
- [TODO: API lấy/lưu cấu hình quyền truy cập của Zalo OA]
- [TODO: API lấy danh sách nhân viên và mức phạm vi hội thoại]
VI. Test case (BA hoặc tester viết)
- TC1 (Happy Path): Chọn
Chỉ mình tôi-> lưu thành công -> chỉ người cấu hình truy cập được Zalo OA đó. - TC2 (Happy Path): Chọn
Tất cả-> lưu thành công -> mọi user trong workspace có thể tham gia theo quyền hệ thống. - TC3 (Happy Path): Chọn
Tùy chỉnh-> thêm 3 nhân viên -> cấu hình phạm vi khác nhau -> lưu thành công -> mỗi người chỉ thấy đúng hội thoại theo mức được gán. - TC4 (Business Rule): Zalo OA không hiển thị phần
Tin nhắn đồng bộtrong popup cấu hình. - TC5 (Business Rule): Nhân viên ở mức
Chỉ cuộc trò chuyện do mình phụ tráchkhông thấy hội thoại của người khác. - TC6 (Business Rule): Nhân viên ở mức
Chỉ cuộc trò chuyện do nhóm phụ tráchchỉ thấy hội thoại thuộc nhóm của mình. - TC7 (Audit): Mỗi lần đổi cấu hình quyền của Zalo OA -> hệ thống lưu vết người sửa, thời gian và cấu hình trước/sau.
Chat - Cấu hình tin nhắn đồng bộ và quyền truy cập của Zalo cá nhân
I. Tổng quan
1. Vấn đề
- Khi kết nối
Zalo cá nhânvào ucall, toàn bộ tin nhắn có thể bị đồng bộ vào hệ thống nếu không có cơ chế lọc phù hợp. - Vì Zalo cá nhân thường chứa cả nội dung công việc lẫn nội dung riêng tư, việc đồng bộ toàn bộ có thể gây nhiễu dữ liệu, lộ thông tin không liên quan và làm khó đội vận hành.
- Đồng thời, nếu không cấu hình quyền rõ ràng thì nhiều người trong workspace có thể cùng nhìn thấy hoặc can thiệp vào một tài khoản Zalo cá nhân.
- Hệ thống cần giải quyết đồng thời 2 bài toán:
- Cấu hình tin nhắn nào được đồng bộ từ Zalo vào ucall.
- Cấu hình ai được quyền truy cập và xử lý các hội thoại được đồng bộ từ tài khoản đó.
2. Giải pháp
- Bổ sung popup
Cấu hình zalo cá nhântrong trangCài đặt > Tích hợp > Zalo cá nhân. - Trong popup có 2 nhóm cấu hình chính:
Tin nhắn đồng bộQuyền truy cập
Tin nhắn đồng bộcho phép chọn:Tất cả tin nhắnTheo nhãn
Quyền truy cậpcho phép chọn:Chỉ mình tôiTất cảTùy chỉnh
- Khi chọn
Tùy chỉnh, hệ thống cho phép chọn danh sách nhân viên và xác định phạm vi hội thoại mà từng người được xem:Tất cả cuộc trò chuyệnChỉ cuộc trò chuyện do mình phụ tráchChỉ cuộc trò chuyện do nhóm phụ trách
3. Đối tượng
- User có quyền truy cập màn
Cài đặt > Tích hợp > Zalo cá nhân. - Admin hoặc người được phân quyền quản lý kết nối Zalo cá nhân.
- Nhân viên hoặc nhóm nhân viên được cấp quyền tham gia xử lý hội thoại từ tài khoản Zalo cá nhân.
4. Tầm nhìn/insight
- Mở rộng mô hình cấu hình này sang các kênh social khác theo hướng chuẩn hóa.
- Cho phép tái sử dụng cấu hình quyền theo nhóm vận hành hoặc team CSKH.
- Có thể mở rộng thêm rule tự động đồng bộ theo nhãn, phòng ban hoặc loại khách hàng trong tương lai.
II. Yêu cầu chức năng
1. Danh sách tính năng
- Hiển thị danh sách tài khoản
Zalo cá nhânđã kết nối. - Hiển thị trên card tài khoản:
Nhân viên phụ tráchTag tin nhắn đồng bộ
- Mở popup
Cấu hình zalo cá nhân. - Cấu hình chế độ
Tin nhắn đồng bộtheo:Tất cả tin nhắnTheo nhãn
- Cấu hình
Quyền truy cậptheo:Chỉ mình tôiTất cảTùy chỉnh
- Khi chọn
Tùy chỉnh, cho phép chọn nhiều nhân viên và cấu hình phạm vi hội thoại cho từng người. - Lưu cấu hình và áp dụng đồng thời cho việc đồng bộ tin nhắn và quyền xem/xử lý hội thoại.
2. Đặc tả chi tiết
User story 1: Là một người quản trị tích hợp, tôi muốn cấu hình tin nhắn đồng bộ của Zalo cá nhân để chỉ đưa các tin nhắn phù hợp vào hệ thống.
-
Use case 1.1 (Happy path - Tất cả tin nhắn): User mở popup
Cấu hình zalo cá nhân-> chọnTất cả tin nhắnở mụcTin nhắn đồng bộ-> bấmLưu và Đồng bộ tin nhắn-> hệ thống lưu cấu hình và đồng bộ toàn bộ tin nhắn từ tài khoản Zalo. -
Use case 1.2 (Happy path - Theo nhãn): User mở popup -> chọn
Theo nhãn-> hệ thống hiển thị danh sách nhãn lấy từ Zalo -> user chọn một hoặc nhiều nhãn -> bấmLưu và Đồng bộ tin nhắn-> hệ thống chỉ đồng bộ các tin nhắn thuộc nhãn đã chọn. -
Use case 1.3 (Exception - Không chọn nhãn): User chọn
Theo nhãnnhưng không chọn nhãn nào -> bấmLưu và Đồng bộ tin nhắn-> hệ thống báo lỗi yêu cầu chọn ít nhất 1 nhãn.
User story 2: Là một người quản trị tích hợp, tôi muốn cấu hình quyền truy cập của tài khoản Zalo cá nhân để kiểm soát người được xem và xử lý hội thoại.
-
Use case 2.1 (Happy path - Chỉ mình tôi): User mở popup -> chọn
Chỉ mình tôitại mụcQuyền truy cập-> bấmLưu và Đồng bộ tin nhắn-> chỉ người cấu hình được quyền truy cập tài khoản Zalo này. -
Use case 2.2 (Happy path - Tất cả): User mở popup -> chọn
Tất cả-> lưu cấu hình -> toàn bộ user trong workspace có thể truy cập tài khoản Zalo theo quyền hệ thống. -
Use case 2.3 (Happy path - Tùy chỉnh): User mở popup -> chọn
Tùy chỉnh-> chọn một hoặc nhiều nhân viên trong ô chọn người dùng -> hệ thống hiển thị từng nhân viên ở danh sách bên dưới -> user thiết lập phạm vi hội thoại cho từng người -> lưu cấu hình thành công. - Use case 2.4 (Phạm vi hội thoại theo từng nhân viên):
Với mỗi nhân viên trong danh sách
Tùy chỉnh, hệ thống cho chọn một trong ba mức:Tất cả cuộc trò chuyệnChỉ cuộc trò chuyện do mình phụ tráchChỉ cuộc trò chuyện do nhóm phụ trách
- Use case 2.5 (Thông điệp giải thích):
Popup hiển thị ghi chú:
Nhân viên phụ trách bao gồm phụ trách cuộc trò chuyện và phụ trách khách hàng được liên kết với cuộc trò chuyện.
User story 3: Là một người dùng được phân quyền, tôi muốn nhìn thấy rõ cấu hình hiện tại của tài khoản Zalo cá nhân để biết phạm vi đồng bộ và phạm vi truy cập đang áp dụng.
- Use case 3.1 (Hiển thị trên card):
Sau khi lưu, card tài khoản Zalo hiển thị:
Nhân viên phụ tráchdưới dạng tagTag tin nhắn đồng bộdưới dạng tag
- Use case 3.2 (Rút gọn danh sách người phụ trách):
Nếu số lượng nhân viên phụ trách lớn, card hiển thị một phần danh sách và gom phần còn lại thành
+N.
3. Danh sách nghiệp vụ
- Mỗi tài khoản
Zalo cá nhânchỉ có một cấu hình đồng bộ và quyền truy cập đang hiệu lực tại một thời điểm. Tin nhắn đồng bộvàQuyền truy cậpđược lưu cùng trong một popup cấu hình.- Khi chọn
Tất cả tin nhắn, hệ thống đồng bộ toàn bộ tin nhắn từ tài khoản Zalo đã liên kết. - Khi chọn
Theo nhãn, user bắt buộc phải chọn ít nhất 1 nhãn trước khi lưu. - Danh sách nhãn được lấy trực tiếp từ tài khoản Zalo đã liên kết.
- Khi thay đổi từ
Theo nhãnsangTất cả tin nhắn, cấu hình nhãn cũ bị ghi đè. - Khi chọn
Chỉ mình tôi, chỉ user cấu hình được quyền truy cập và chỉnh sửa tài khoản đó. - Khi chọn
Tất cả, mọi user trong workspace có thể truy cập tài khoản đó theo quyền hệ thống. - Khi chọn
Tùy chỉnh, chỉ các nhân viên được chỉ định mới được tham gia xử lý hội thoại. - Mỗi nhân viên trong chế độ
Tùy chỉnhphải có đúng một mức phạm vi hội thoại. - Phạm vi
Chỉ cuộc trò chuyện do mình phụ tráchvàChỉ cuộc trò chuyện do nhóm phụ tráchphụ thuộc vào dữ liệu phân công hội thoại và khách hàng trong hệ thống. - Thông tin
Nhân viên phụ tráchvàTag tin nhắn đồng bộphải được hiển thị lại trên card danh sách.
4. Giao diện
- Figma trang danh sách tích hợp Zalo cá nhân:
https://www.figma.com/design/tBBrdtHlG1LAYJUfJsvyS3/UCALL-2026--Ant-Design-5.10.1-?node-id=36140-22271&m=dev
- Figma popup cấu hình cơ bản:
https://www.figma.com/design/tBBrdtHlG1LAYJUfJsvyS3/UCALL-2026--Ant-Design-5.10.1-?node-id=38550-38451&m=dev
- Figma popup quyền truy cập
Tùy chỉnh:https://www.figma.com/design/tBBrdtHlG1LAYJUfJsvyS3/UCALL-2026--Ant-Design-5.10.1-?node-id=38551-17002&m=dev
- Figma popup quyền truy cập
Tất cả:https://www.figma.com/design/tBBrdtHlG1LAYJUfJsvyS3/UCALL-2026--Ant-Design-5.10.1-?node-id=38553-17624&m=dev
- Thành phần giao diện chính:
- Card tài khoản Zalo có các action
Đồng bộ lại,Cấu hình,Xóa. - Trên card hiển thị:
Nhân viên phụ tráchTag tin nhắn đồng bộ
- Popup cấu hình có 2 nhóm:
Tin nhắn đồng bộQuyền truy cập
- Khi chọn
Theo nhãn, hiển thị danh sách nhãn để chọn. - Khi chọn
Tùy chỉnh, hiển thị:- Ô chọn nhiều nhân viên
- Danh sách từng nhân viên để cấu hình phạm vi hội thoại
- Nút hành động:
Lưu và Đồng bộ tin nhắn
- Card tài khoản Zalo có các action
III. Yêu cầu phi chức năng
- Chỉ user có quyền vào module tích hợp mới được mở popup cấu hình Zalo cá nhân.
- API lấy danh sách nhãn từ Zalo cần phản hồi ổn định để không làm gián đoạn thao tác cấu hình.
- Mọi thay đổi về cấu hình đồng bộ và quyền truy cập cần được ghi log để phục vụ audit.
- Giao diện popup và card cần hiển thị ổn định khi danh sách nhân viên hoặc nhãn dài.
- Cấu hình sau khi lưu phải được áp dụng nhất quán giữa màn tích hợp và màn chat/hội thoại.
IV. Dependency (Liên quan & phụ thuộc)
- Module
Tích hợp > Zalo cá nhânđể quản lý kết nối tài khoản. Zalo APIđể lấy danh sách nhãn của tài khoản Zalo cá nhân.- Module
Quyền/Nhân viên/Nhóm nhân viênđể lấy danh sách người dùng và nhóm. - Module
Chat đa kênhđể áp dụng quyền truy cập và hiển thị hội thoại. - Module phân công hội thoại/khách hàng để xác định
mình phụ tráchhoặcnhóm phụ trách.
V. API Contract (dev viết)
- [TODO: API lấy/lưu cấu hình tin nhắn đồng bộ của tài khoản Zalo cá nhân]
- [TODO: API lấy/lưu cấu hình quyền truy cập của tài khoản Zalo cá nhân]
- [TODO: API lấy danh sách nhãn và danh sách nhân viên được gán quyền]
VI. Test case (BA hoặc tester viết)
- TC1 (Happy Path): Chọn
Tất cả tin nhắn-> lưu thành công -> hệ thống đồng bộ toàn bộ tin nhắn của tài khoản Zalo. - TC2 (Happy Path): Chọn
Theo nhãn-> chọn nhãnCông việc,CSKH-> lưu thành công -> hệ thống chỉ đồng bộ tin nhắn thuộc 2 nhãn đó. - TC3 (Exception): Chọn
Theo nhãnnhưng không chọn nhãn nào -> bấm lưu -> hệ thống báo lỗi yêu cầu chọn ít nhất 1 nhãn. - TC4 (Happy Path): Chọn
Chỉ mình tôi-> lưu thành công -> chỉ người cấu hình truy cập được tài khoản Zalo đó. - TC5 (Happy Path): Chọn
Tất cả-> lưu thành công -> mọi user trong workspace có thể truy cập theo quyền hệ thống. - TC6 (Happy Path): Chọn
Tùy chỉnh-> thêm 3 nhân viên -> cấu hình 3 mức phạm vi khác nhau -> lưu thành công -> mỗi nhân viên chỉ thấy đúng phạm vi được gán. - TC7 (UI): Card tài khoản có nhiều hơn 3 nhân viên phụ trách -> hiển thị tag rút gọn dạng
+N. - TC8 (Business Rule): Chuyển cấu hình từ
Theo nhãnsangTất cả tin nhắn-> lưu -> cấu hình nhãn cũ bị ghi đè. - TC9 (Business Rule): Nhân viên ở mức
Chỉ cuộc trò chuyện do mình phụ tráchkhông thấy hội thoại do người khác phụ trách. - TC10 (Business Rule): Nhân viên ở mức
Chỉ cuộc trò chuyện do nhóm phụ tráchchỉ thấy hội thoại thuộc nhóm của mình. - TC11 (Audit): Mỗi lần thay đổi cấu hình đồng bộ hoặc quyền truy cập -> hệ thống lưu vết người sửa, thời gian và cấu hình trước/sau.