- Given Cài đặt → Tích hợp → Zalo
- When Hoàn tất luồng OAuth (hoặc dán app id, secret, OA id, access và refresh token theo đúng luồng Zalo hiện tại yêu cầu) và bài kiểm tra kết nối thành công
- Then OA hiển thị đã kết nối kèm tên và ảnh đại diện; danh mục mẫu ZNS liệt kê các mẫu mặc định của FLYER (điểm danh vắng, điểm danh muộn, hoá đơn, phiếu thu, nhắc hẹn, thay đổi lịch học, thông tin đăng nhập, chào mừng) kèm id mẫu Zalo cần đăng ký cho từng OA; mỗi dòng mẫu hiển thị trạng thái (Chờ duyệt / Đã duyệt / Từ chối) và các tham số.
PRD 07 · Liên lạc với phụ huynh
Sổ liên lạc: tin nhắn giao dịch cho điểm danh, học phí và thay đổi lịch học, thông báo chung đến lớp và chi nhánh, báo cáo học tập dựng từ dữ liệu học tập FLYER, cấu hình Zalo OA và ZNS, và một cổng phụ huynh ưu tiên di động với đăng nhập bằng OTP.
Xuất xứ / Prompt / Giới hạn
Tài liệu do trợ lý AI soạn trong một phiên làm việc ngày 10/09/2026, theo yêu cầu gốc được trích nguyên văn ở trang mục lục; mục Thiết kế đề xuất được bổ sung ngày 16/09/2026. Đây là bản đề xuất để đội thảo luận, chưa phải quyết định của đội sản phẩm.
Nguồn
- Nghiên cứu công khai về đối thủ cạnh tranh (PSE ONE, pse4.one), mã nguồn
center-crm-frontendvà đặc tả OpenAPI/v3trên staging (182 endpoint), tính đến ngày 10/09/2026. - Nhãn existing / extend / new trong trang được xác định bằng cách đối chiếu với đặc tả
/v3trên staging tại thời điểm trên.
Giới hạn
- Cần xác minh khi khảo sát trực tiếp trong ứng dụng, vì đăng nhập tự động vào sản phẩm tham chiếu chưa được cấp phép trong phiên soạn:
- Các trường cấu hình Zalo của đối thủ (app id, secret, OA token) và những sự kiện nào gửi ZNS.
- Danh sách các loại mẫu ZNS và tham số của họ (tài liệu hướng dẫn của họ tham chiếu đến một bảng tính).
- Ứng dụng phụ huynh của họ hiển thị gì (sổ liên lạc điện tử): điểm số, điểm danh, học phí, chat.
- Liệu giáo viên có thể nhắn tin trực tiếp cho phụ huynh không.
- Cách nhập điểm thi ("nhập điểm thi") đến được với phụ huynh (ứng dụng, email) và liệu có hỗ trợ tệp đính kèm không.
Thiết kế đề xuất
Bố cục gồm một trang Sổ liên lạc cho nhân sự (năm tab, ô KPI và nhật ký tin nhắn theo kênh, trạng thái, chi phí) và một cổng phụ huynh ưu tiên di động; điều quan trọng nhất là mỗi tin nhắn đều hiển thị rõ kênh gửi, kết quả gửi và chi phí ZNS.








1Mục đích
Phụ huynh đánh giá một trung tâm qua tốc độ và sự rõ ràng trong liên lạc. Sổ liên lạc biến các sự kiện vận hành thành tin nhắn gửi đến phụ huynh ở nơi họ đã quen dùng (Zalo), cho nhân sự một nơi duy nhất để gửi thông báo chung và báo cáo học tập, và cung cấp một cổng phụ huynh cho thời khoá biểu, điểm danh, hoá đơn kèm thanh toán QR và báo cáo học tập. Backend hiện đã gửi nhắc học phí và nhắc bài học qua ứng dụng, email và Zalo kèm kết quả theo từng kênh, và đã cung cấp các endpoint học phí và báo cáo học tập dành cho phụ huynh. PRD này bổ sung lớp gửi tin nhắn, mẫu tin, định tuyến theo sự đồng ý, thông báo chung, báo cáo học tập và cổng phụ huynh.
Trong phạm vi
- Định tuyến tin nhắn: Zalo ZNS (theo mẫu, có phí), tin nhắn Zalo OA (miễn phí trong vòng 48 giờ kể từ khi người dùng tương tác), thông báo trong ứng dụng (ứng dụng phụ huynh FLYER), email; chưa xây dựng SMS.
- Tin nhắn giao dịch: điểm danh, tạo học phí, phiếu thu, nhắc hẹn, sắp hết buổi, thay đổi lịch học, huỷ buổi học, xác nhận học thử, chào mừng nhập học, thông tin đăng nhập.
- Thông báo chung đến một chi nhánh, một lớp, hoặc các học viên được chọn; lên lịch gửi; xác nhận đã đọc ở những kênh hỗ trợ.
- Báo cáo học tập: định kỳ (theo tháng hoặc cuối khoá) gồm điểm danh, điểm số FLYER, nhận xét của giáo viên; bản PDF và trên cổng phụ huynh.
- Cổng phụ huynh: đăng nhập bằng OTP, bộ chuyển đổi giữa các con, thời khoá biểu, điểm danh, hoá đơn kèm mã QR, phiếu thu, báo cáo, thông báo chung, yêu cầu xin phép nghỉ, yêu cầu học bù, yêu cầu chỉnh sửa thông tin, quản lý sự đồng ý nhận thông báo.
- Cấu hình Zalo OA theo từng tenant, danh mục mẫu ZNS, hiển thị chi phí.
Ngoài phạm vi
- Hộp thư chat hai chiều (P3; Pancake và hộp thư Zalo OA vẫn là công cụ sử dụng).
- Ứng dụng di động gốc cho phụ huynh ngoài phạm vi thông báo đẩy của ứng dụng FLYER hiện có; cổng phụ huynh là một PWA.
2Hiện trạng
| Chức năng | Endpoint / schema | Ghi chú |
|---|---|---|
| Nhắc học phí qua các kênh app, email, zalo kèm kết quả theo từng kênh và lý do bỏ qua | POST .../tuitions/{id}/notify, /tuitions/notify, TuitionNotifyOutcome, ChannelOutcome, SkipReason | Tái sử dụng lớp trừu tượng hoá kênh gửi |
| Nhắc bài học của lớp | POST /v3/teacher/class-schedules/{id}/remind, RemindLessonResult | Nhắc bài tập FLYER |
| Cấu hình thông báo theo từng tính năng | NotificationConfig {feature, notify_email, notify_app, notify_zalo} trong cấu hình trường | Mở rộng thêm các tính năng mới |
| Giao diện học phí cho phụ huynh | GET /v3/parent/tuitions, /{id}, /overview | Hoá đơn trên cổng phụ huynh |
| Báo cáo người học và báo cáo tuần | GET /v3/parent/learner/{id}/report, /weekly-report (bài tập, tự học, thời lượng học, kỹ năng, hoạt động) | Tab Học tập trên cổng phụ huynh và nguồn dữ liệu cho báo cáo học tập |
| Thông báo kỳ thi | POST /v3/teacher/exams/{exam_id}/notify | giữ nguyên |
| Tài khoản phụ huynh dùng ứng dụng FLYER (thông báo đẩy) | StudentParent, ứng dụng phụ huynh | kênh trong ứng dụng |
3Chính sách kênh
| Kênh | Yêu cầu | Chi phí | Dùng cho | Thứ tự dự phòng |
|---|---|---|---|---|
| Zalo ZNS | Số điện thoại phụ huynh có dùng Zalo; Zalo OA của tenant đã xác thực; mẫu tin đã được duyệt; loại đồng ý là zalo | Theo tin nhắn (khoảng 200–800 VND tuỳ loại mẫu); hiển thị trong cài đặt | Giao dịch: điểm danh vắng/muộn, hoá đơn, phiếu thu, nhắc hẹn, thay đổi lịch học, thông tin đăng nhập | 1 |
| Tin nhắn Zalo OA | Phụ huynh đã theo dõi OA và tương tác trong vòng 48 giờ | Miễn phí | Thông báo chung, trả lời, liên kết báo cáo học tập | 2 cho tin không mang tính giao dịch |
| Thông báo trong ứng dụng | Phụ huynh có ứng dụng phụ huynh FLYER đã liên kết với học viên | Miễn phí | Tất cả | 2 cho tin giao dịch |
| Email phụ huynh | Miễn phí | Phiếu thu, báo cáo, thông báo chung | 3 | |
| Hộp thư cổng phụ huynh | Tài khoản cổng phụ huynh | Miễn phí | Tất cả; luôn được ghi lại | luôn luôn |
Mọi tin nhắn đều được ghi vào hộp thư cổng phụ huynh, sau đó được gửi qua kênh khả dụng đầu tiên theo chính sách của tenant cho từng loại tin; một loại tin có thể được cấu hình để gửi trên toàn bộ các kênh khả dụng (ví dụ phiếu thu). Khung giờ yên tĩnh 21:30–07:00 giữ lại các tin không khẩn cấp. Đánh dấu không gọi trên một lead (PRD 01) không áp dụng cho phụ huynh của một học viên đã nhập học; sự đồng ý nhận thông báo thì có áp dụng.
4User story và tiêu chí chấp nhận
- Given Một sự kiện (điểm danh được lưu với trạng thái vắng, thanh toán được ghi nhận, buổi học bị huỷ...)
- When Sự kiện được phát ra
- Then Một tin nhắn cho mỗi phụ huynh mang cờ liên quan (liên hệ chính cho điểm danh và lịch học; người thanh toán cho các nội dung liên quan đến tiền) được tạo, dựng nội dung từ mẫu kèm tham số, gửi theo chính sách kênh, và trạng thái của tin (queued, sent, delivered, failed, skipped kèm lý do) hiển thị trên bản ghi nguồn và trong Tin đã gửi; thử lại 3 lần trong vòng 15 phút khi gặp lỗi tạm thời.
- Given Có quyền
communication.announce - When Soạn tiêu đề, nội dung (văn bản thuần kèm placeholder {ten_hoc_vien}, {lop}), tệp đính kèm (hình ảnh, PDF), đối tượng (chi nhánh, lớp, học viên, phụ huynh theo cờ), kênh, gửi ngay hoặc lên lịch
- Then Người nhận được xem trước kèm số lượng theo từng kênh và danh sách phụ huynh không thể liên hệ; thông báo được gửi đi, và số lượt đã đọc/đã nhận được cập nhật; thông báo chung xuất hiện trên cổng phụ huynh và trên trang lớp.
- Given Phiếu điểm danh sau khi lưu
- When Viết một tóm tắt ngắn về buổi học và chọn "Gửi phụ huynh"
- Then Tóm tắt được gửi dưới dạng tin nhắn Zalo OA hoặc thông báo đẩy đến phụ huynh của cả học viên có mặt và vắng mặt kèm dòng trạng thái của từng học viên; giáo viên không thể gửi ZNS văn bản tự do (mẫu tin có phí chỉ dành cho quản trị viên).
- Given Một lớp và một kỳ báo cáo
- When Tạo báo cáo
- Then Một bản nháp cho mỗi học viên được dựng từ điểm danh (tỷ lệ, số buổi vắng), dữ liệu FLYER (số bài tập đã hoàn thành, độ chính xác theo từng kỹ năng, thời lượng học, điểm thi gần nhất), số dư gói buổi và một trường nhận xét của giáo viên; giáo viên điền nhận xét trong một màn hình danh sách; giáo vụ xuất bản; phụ huynh nhận một liên kết (trên cổng phụ huynh) và bản PDF; báo cáo đã xuất bản không thể chỉnh sửa, các chỉnh sửa sẽ tạo một phiên bản mới.
- Given Số điện thoại có trên bản ghi phụ huynh của một học viên
- When Mở liên kết cổng phụ huynh từ một tin nhắn Zalo và nhập mã OTP
- Then Thấy toàn bộ các con được liên kết với số điện thoại đăng nhập trên tất cả chi nhánh của tenant, với các tab Lịch học, Điểm danh, Học phí, Kết quả, Thông báo, Hồ sơ; phiên đăng nhập được giữ 30 ngày trên thiết bị.
- Given Một hoá đơn chưa thanh toán
- When Mở hoá đơn đó
- Then Thấy các dòng mục, tổng tiền, hạn thanh toán và một mã QR ngân hàng (mã QR thanh toán đã có sẵn) kèm mã thanh toán; sau khi giao dịch chuyển khoản được đối soát, trạng thái được cập nhật và bản PDF phiếu thu xuất hiện.
- Given Các buổi học sắp tới
- When Gửi "Xin phép nghỉ" kèm buổi học và lý do, hoặc "Đăng ký học bù" cho một lượt nghỉ có phép
- Then Một yêu cầu được tạo cho bộ phận lễ tân (việc hôm nay và Điểm danh → Yêu cầu), lượt xin phép nghỉ được áp dụng khi được chấp nhận (PRD 04), và phụ huynh nhận được xác nhận.
- Given Mục Hồ sơ trên cổng phụ huynh
- When Bật/tắt các mục đồng ý nhận thông báo (Zalo, email, marketing, hình ảnh) hoặc gửi yêu cầu chỉnh sửa thông tin
- Then Bản ghi đồng ý nhận thông báo được cập nhật kèm thời gian và kênh (PRD 12), yêu cầu chỉnh sửa thông tin trở thành một công việc cho giáo vụ, và một kênh đã bị thu hồi sẽ không được dùng kể từ tin nhắn tiếp theo.
5Màn hình
Các tab: Thông báo (thông báo chung) · Tin đã gửi (nhật ký tin nhắn) · Báo cáo học tập (báo cáo học tập) · Yêu cầu từ PH (yêu cầu từ phụ huynh) · Mẫu tin (mẫu tin). Các ô KPI: đã gửi hôm nay, thất bại hôm nay, phụ huynh không thể liên hệ, chi phí ZNS tháng này.
Các cột trong Tin đã gửi
| Cột | Ghi chú |
|---|---|
| Thời gian | created_at |
| Loại | chip loại tin nhắn |
| Học viên · Phụ huynh | liên kết |
| Kênh | Zalo ZNS / OA / Ứng dụng / Email / Cổng phụ huynh |
| Trạng thái | Đã gửi (ok) · Đã nhận (ok) · Thất bại (abs) · Bỏ qua: lý do (grey) · Chờ (late) |
| Nội dung | bản xem trước nội dung đã dựng |
| Thao tác | Gửi lại · Xem |
Bộ lọc: ngày, loại, kênh, trạng thái, lớp, chi nhánh. Trạng thái trống: "Chưa có tin nào được gửi."
Các trường: Tiêu đề (bắt buộc, 120 ký tự), Nội dung (bắt buộc, 2.000 ký tự, có placeholder), Tệp đính kèm (tối đa 5 tệp, 10 MB), Đối tượng (chi nhánh, nhiều lớp, nhiều học viên, cờ phụ huynh: tất cả / liên hệ chính / người thanh toán), Kênh (hộp kiểm kèm xem trước phạm vi tiếp cận), Thời điểm (gửi ngay / lên lịch theo ngày giờ), công tắc "Cho phép phản hồi" (chỉ áp dụng cho OA). Khung xem trước hiển thị tin nhắn đúng như phụ huynh sẽ thấy. Kiểm tra hợp lệ: phải có ít nhất một người nhận có thể liên hệ được, nếu không sẽ hiển thị cảnh báo kèm danh sách.
Danh sách các đợt báo cáo (lớp, kỳ báo cáo, số học viên, đã tạo nháp, đã có nhận xét, đã xuất bản). Xem theo đợt: bảng học viên kèm tỷ lệ điểm danh, số bài tập đã hoàn thành, độ chính xác trung bình, thời lượng học, số dư gói buổi, nhận xét của giáo viên (chỉnh sửa trực tiếp), trạng thái; các nút Gửi GV nhận xét, Xuất bản, Xuất PDF. Mẫu trang báo cáo: phần đầu trang gồm logo trung tâm, học viên, lớp, kỳ báo cáo; các phần Chuyên cần, Học tập trên FLYER, Nhận xét của giáo viên, Học phí và số dư, Lịch tháng tới.
Bảng: loại tin nhắn, kênh, id mẫu Zalo, trạng thái, tham số, lần sửa gần nhất. Trình soạn: tiêu đề (email), nội dung kèm các chip placeholder ({ten_hoc_vien}, {lop}, {ngay}, {gio}, {so_tien}, {ma_thanh_toan}, {link}), gửi thử đến một số điện thoại cụ thể.
/parent/login: số điện thoại, OTP; các trạng thái lỗi (không tìm thấy số điện thoại: "Số điện thoại chưa được đăng ký với trung tâm. Vui lòng liên hệ ..."), thời gian chờ gửi lại 60 giây./parent: bộ chuyển đổi giữa các con (chip ảnh đại diện), thẻ buổi học tiếp theo, thẻ hoá đơn chưa thanh toán, thẻ báo cáo gần nhất, danh sách thông báo chung./parent/schedule: danh sách các buổi học trong tuần kèm phòng học và giáo viên; các thay đổi được tô sáng./parent/attendance: lịch theo tháng kèm chip; chạm để xem ghi chú; các nút Xin phép nghỉ, Đăng ký học bù./parent/tuition: hoá đơn (giao diện học phí cho phụ huynh đã có sẵn), số dư gói buổi, mã QR, phiếu thu./parent/results: báo cáo FLYER (đã có sẵn), danh sách báo cáo học tập./parent/inbox: toàn bộ tin nhắn; huy hiệu số tin chưa đọc./parent/profile: thông tin các con, phụ huynh, các mục đồng ý nhận thông báo, yêu cầu chỉnh sửa thông tin, gửi lại thông tin đăng nhập FLYER.
Thiết kế: token của Cloud theme, cỡ chữ gốc 16 px trên di động, thanh tab ở dưới, không có sidebar; hoạt động được bên trong trình duyệt tích hợp của Zalo.
6Quy tắc nghiệp vụ
- Tin nhắn giao dịch được gửi đến phụ huynh theo cờ: điểm danh và lịch học gửi liên hệ chính; nội dung liên quan đến tiền gửi người thanh toán; thông tin đăng nhập gửi liên hệ chính; thông báo chung gửi theo đối tượng đã chọn.
- Một kênh chỉ được dùng khi có sự đồng ý tương ứng; hộp thư cổng phụ huynh không cần sự đồng ý riêng (đã được bao gồm trong sự đồng ý dịch vụ).
- Mẫu ZNS gắn với từng loại tin nhắn và phải được Zalo duyệt trước khi dùng; trước khi được duyệt, kênh dự phòng sẽ được dùng và trang cài đặt hiển thị phần còn thiếu.
- Chi phí ZNS được theo dõi theo từng tenant và hiển thị theo tháng; một hạn mức hằng tháng tuỳ chọn sẽ tạm dừng ZNS và chuyển sang kênh dự phòng.
- Thông báo chung gửi đến hơn 500 người nhận cần quyền
communication.announce_bulk. - Giáo viên có thể gửi tin nhắn Zalo OA hoặc thông báo đẩy đến các lớp do giáo viên đó phụ trách; chỉ nhân sự có quyền
communication.announcemới được dùng mẫu ZNS ngoài phạm vi điểm danh. - Báo cáo học tập được xuất bản theo từng học viên; một báo cáo không thể xuất bản khi chưa có nhận xét của giáo viên, trừ khi giáo vụ ghi đè.
- Phiên đăng nhập trên cổng phụ huynh theo từng thiết bị, kéo dài 30 ngày, có thể bị nhân sự thu hồi từ hồ sơ của phụ huynh.
- Toàn bộ tin nhắn gửi đi được ghi lại kèm nội dung đã dựng trong 12 tháng.
7Mô hình dữ liệu
| Thực thể | Trường | Ghi chú |
|---|---|---|
| message_template | id; tenant_id; type enum(attendance_absent, attendance_late, attendance_present, invoice_created, receipt, fee_reminder, low_balance, schedule_change, session_cancelled, trial_confirm, welcome, credentials, report_published, announcement, custom); channel enum(zns, oa, push, email); zalo_template_id; body; subject; params jsonb; status enum(draft, pending, approved, rejected); updated_at | mới |
| message | id uuid; tenant_id; school_id; type; guardian_id; student_id null; source_type, source_id (attendance_record, tuition, payment, session, announcement, report); channel; rendered_body; status enum(queued, sent, delivered, read, failed, skipped); skip_reason; provider_msg_id; cost_vnd; attempts; created_at; sent_at; delivered_at; read_at | mới; index (guardian_id, created_at), (source_type, source_id) |
| announcement | id; tenant_id; school_id null; title; body; attachments file_id[]; audience jsonb {school_ids, class_ids, student_ids, guardian_flag}; channels[]; allow_reply; scheduled_at; sent_at; created_by; stats jsonb {recipients, sent, delivered, read, failed} | mới |
| progress_report_batch, progress_report | batch: class_id, period_start, period_end, status, created_by; report: batch_id, student_id, data jsonb (attendance, flyer, balance), teacher_comment, status enum(draft, commented, published), version, pdf_file_id, published_at | mới |
| parent_request | id; guardian_id; student_id; type enum(excuse, makeup, correction, other); payload jsonb; status enum(open, accepted, rejected); handled_by; note; created_at | mới |
| zalo_oa_connection | tenant_id; oa_id; oa_name; app_id; tokens (encrypted); connected_at; status; last_error | mới |
| portal_session | id; guardian_id; device; created_at; expires_at; revoked_at | mới |
| notification_policy (cấu hình trường) | theo từng loại: channels[], quiet_hours_apply bool; zns_monthly_cap | mở rộng NotificationConfig |
8Hợp đồng API
| Method | Path | Request / response | Status |
|---|---|---|---|
| GET/PUT | /v3/teacher/school-config | khối chính sách thông báo mở rộng theo từng loại | extend |
| POST | /v3/teacher/school-finance/tuitions/{id}/notify, /notify | tái sử dụng; định tuyến qua lớp gửi tin nhắn | existing |
| GET/POST/PATCH | /v3/school/message-templates[/{id}]; POST /{id}/test | {to_phone} | new |
| GET | /v3/school/messages | from, to, type, channel, status, student_id, class_id → Message[] | new |
| POST | /v3/school/messages/{id}/resend | new | |
| POST | /v3/school/messages/send | {type: custom, guardian_ids | student_ids, body, channels} gửi tự do (ghi chú buổi học của giáo viên) | new |
| GET/POST | /v3/school/announcements; POST /{id}/preview; POST /{id}/send; POST /{id}/cancel | xác định đối tượng nhận trả về số lượng và danh sách không thể liên hệ | new |
| POST | /v3/school/progress-reports/batches | {class_id, period_start, period_end} → batch kèm các bản nháp | new |
| GET/PATCH | /v3/school/progress-reports/{id} | {teacher_comment} | new |
| POST | /v3/school/progress-reports/batches/{id}/publish | {student_ids?} → messages | new |
| GET | /v3/school/progress-reports/{id}.pdf | new | |
| GET/POST/PATCH | /v3/school/parent-requests[/{id}] | chấp nhận/từ chối kèm ghi chú | new |
| GET/POST/DELETE | /v3/school/integrations/zalo | kết nối, trạng thái, ngắt kết nối; GET /zalo/templates đồng bộ trạng thái mẫu | new |
| POST | /v3/parent/auth/otp, /v3/parent/auth/verify | {phone} / {phone, code} → session token | new |
| GET | /v3/parent/me | phụ huynh + children[] trên toàn bộ chi nhánh | new |
| GET | /v3/parent/learner/{id}/schedule, /attendance, /reports, /announcements | new | |
| GET | /v3/parent/tuitions, /{id}, /overview; /v3/parent/learner/{id}/report, /weekly-report | không đổi; bổ sung phiếu thu và gói buổi | existing / extend |
| GET/POST | /v3/parent/inbox; POST /{id}/read | new | |
| POST | /v3/parent/requests | {student_id, type, payload} | new |
| GET/PUT | /v3/parent/consents | new | |
| POST | /v3/webhooks/zalo | sự kiện gửi và đọc, tin nhắn người dùng OA (lưu lại cho hộp thư P3) | new |
9Phân quyền
| Mã quyền | owner | branch_manager | academic_admin | accountant | admissions | teacher | parent |
|---|---|---|---|---|---|---|---|
communication.view_log | Tất cả | Chi nhánh | Chi nhánh | Loại tài chính | Lead cá nhân | Lớp cá nhân | Hộp thư cá nhân |
communication.announce | Có | Có | Có | Không | Không | Lớp cá nhân (Zalo OA/thông báo đẩy) | Không |
communication.announce_bulk | Có | Có | Không | Không | Không | Không | Không |
communication.templates | Có | Không | Không | Không | Không | Không | Không |
communication.reports (báo cáo học tập) | Có | Có | Có | Không | Không | Nhận xét (lớp cá nhân) | Xem (cá nhân) |
communication.requests | Có | Có | Có | Không | Không | Không | Tạo mới |
integrations.zalo | Có | Không | Không | Không | Không | Không | Không |
10Sự kiện phân tích
| Sự kiện | Thuộc tính |
|---|---|
| message_sent / message_failed / message_skipped | type, channel, reason, cost |
| announcement_sent | audience_size, channels, scheduled |
| progress_report_published | class_level, students, with_comment_rate |
| parent_login | via (zalo_link|direct), children_count |
| parent_invoice_viewed / parent_qr_shown | |
| parent_request_created | type |
| consent_changed | type, granted |
| zalo_connected / zalo_template_approved |
11Trường hợp biên
- Số điện thoại phụ huynh dùng chung cho hai gia đình (ông bà): cổng phụ huynh hiển thị toàn bộ các con được liên kết với số điện thoại đó; sự đồng ý nhận thông báo được quản lý theo từng bản ghi phụ huynh.
- Token Zalo hết hạn: có tác vụ làm mới tự động; nếu thất bại, chủ trung tâm được thông báo và kênh chuyển sang dự phòng.
- Mẫu ZNS bị từ chối sau khi đã được duyệt (do thay đổi chính sách): trạng thái được đồng bộ lại; tin nhắn chuyển sang kênh dự phòng.
- Tin nhắn có placeholder thiếu dữ liệu (không có phòng học): placeholder hiển thị rỗng và mẫu tin tránh để lại văn bản lơ lửng ("tại phòng {phong}" trở thành "tại {chi_nhanh}").
- Thông báo chung đã lên lịch nhưng danh sách lớp thay đổi sau đó: đối tượng nhận được xác định lại tại thời điểm gửi.
- Phụ huynh yêu cầu chỉnh sửa ngày sinh: một công việc được tạo; việc thay đổi thực tế do nhân sự thực hiện và được ghi vào nhật ký.
- Phụ huynh thu hồi sự đồng ý nhận Zalo giữa tháng: không còn gửi ZNS; hộp thư cổng phụ huynh vẫn tiếp tục hoạt động; bộ phận lễ tân thấy "Chỉ liên hệ qua điện thoại".
12Câu hỏi còn mở
- Ai chi trả chi phí ZNS: bao gồm trong gói thuê bao Trường Số kèm hạn mức, hay tính phí riêng theo từng tenant theo giá gốc?
- Ứng dụng phụ huynh FLYER có nên tích hợp luôn cổng phụ huynh thay vì một PWA riêng ở P2 không?
- Có cần tin nhắn trực tiếp một-một giữa giáo viên và phụ huynh trước khi có hộp thư ở P3 không?
Trường Số (truongso.net) · Nội bộ FLYER