MSO Cloud · Documentation

Thông báo

Source: docs/product/notifications.md Updated 2026-09-21
On this page

Cách một phát hiện trong dữ liệu trở thành một thông báo tới đúng người, qua đúng kênh: registry kênh gửi, loại thông báo do từng mảng nghiệp vụ khai báo, và ba tầng phải cùng đồng ý trước khi có gì rời khỏi nền tảng.

Dành cho: chủ sở hữu và quản trị viên tổ chức đang chọn kênh và ngưỡng cảnh báo. Điều kiện trước: tổ chức đã có ít nhất một nguồn dữ liệu chạy, vì một loại thông báo chỉ được đề nghị khi org thực sự có dòng dữ liệu trên mảng đó.

Kênh gửi có những gì#

Nền tảng khai báo mỗi kênh đúng một dòng trong registry (packages/notify/src/channels.ts), và mọi thứ khác suy ra từ dòng đó: danh sách kênh ngoài, schema biên, nhãn, và câu hỏi người nhận có phải tự liên kết hay không.

Kênh Nền tảng cần cấu hình gì Người nhận cần làm gì
Trong ứng dụng Không Không — đây là mặc định của mọi loại
Web push Cặp khoá VAPID và địa chỉ liên hệ Cho phép thông báo trên trình duyệt
Email Địa chỉ gửi và khoá API của dịch vụ gửi thư Không — dùng luôn email đăng nhập
Telegram Token bot, secret webhook, tên bot Liên kết tài khoản bằng mã
Zalo OA Mã OA, app id, app secret, access token Liên kết tài khoản bằng mã

Mỗi kênh ngoài có một adapter riêng (packages/notify-channels/src/adapters) soi theo hợp đồng connector: schema config, resolveUserTargets, deliver, tuỳ chọn revokeTarget; probeConfigtestSend suy ra từ đó. Bảng adapter có kiểu khoá theo đúng tập kênh ngoài, nên một dòng registry thiếu adapter là lỗi biên dịch chứ không phải lỗi lúc chạy. Thêm một kênh (Slack, Teams, SMS, webhook riêng của khách) là việc của đội nền tảng: một dòng registry và một adapter, sau đó kênh tự xuất hiện ở cả ba tầng cấu hình, trong ma trận tuỳ chọn và trong đường gửi.

Mọi bí mật của kênh đều được mã hoá envelope; thẻ cấu hình chỉ hiện dấu vân tay của giá trị đang lưu, không bao giờ hiện lại bí mật.

Loại thông báo do mảng nghiệp vụ khai báo#

Một loại thông báo được khai ngay cạnh lever và pack của mảng nghiệp vụ sở hữu nó (packages/plugin-host/src/verticals.ts), gồm: khoá, bề mặt sở hữu, có theo brand hay không, mức nghiêm trọng mặc định, khoá i18n, và capability dữ liệu mà loại đó cần.

Mảng eCom khai sáu loại, tất cả theo brand và đều cần capability ecom: sắp hết hàng và sập biên lợi nhuận ở mức nghiêm trọng; GMV bất thường, tỷ lệ hoàn tăng và xung đột giá ở mức cảnh báo; giờ vàng của creator ở mức thông tin.

Những loại không thuộc mảng nào ở lại danh sách nền: một rule bộ dữ liệu vừa kích hoạt, và bản tin buổi sáng đã sẵn sàng. Bốn loại thuộc hạ tầng — sync hỏng, webhook trễ, đối soát sai lệch nghiêm trọng, ngân sách cháy — có đối tượng là nền tảng, không bao giờ vào hộp thư của một tổ chức.

Tập loại thông báo là hợp của hai nguồn và không phụ thuộc org: đường ghi hộp thư phải phân giải được mọi khoá, nếu không một phát hiện thật sẽ mất tăm.

Ba tầng trước khi gửi#

Một kênh không tới được ai cho đến khi cả ba tầng cùng đúng.

  1. Nền tảng cấu hình kênh tại /admin/notifications/channels. Nút gửi thử bắn một tin thật tới chính người quản trị đang thao tác và đánh dấu kênh đã xác minh khi thành công.
  2. Tổ chức được phép dùng kênh tại /admin/notifications/orgs. Mọi org bắt đầu ở trạng thái tắt trên mọi kênh ngoài.
  3. Người nhận tự chọn tại Cài đặt → Thông báo (/settings/notifications): một ma trận loại thông báo nhân kênh, mỗi ô là một ô tick. Mặc định của sản phẩm là chỉ trong ứng dụng. Ô bị khoá luôn kèm lý do — kênh chưa cấu hình, org chưa được phép, trần chính sách đang tắt, hoặc người dùng chưa liên kết.

Trần chính sách nằm ở /admin/notifications: mỗi loại thông báo được bật hay không, đi qua những kênh nào, và vai trò nào được nhận. Trần thu hẹp thứ một người có thể chọn; nó không tự gửi gì cả và không bật hộ ai.

Khi org có nhiều hơn một brand, những loại theo brand có thêm một ô chọn phạm vi: toàn tổ chức hay một brand cụ thể.

Hai cổng khi đề nghị một loại cho tổ chức#

Ma trận tuỳ chọn chỉ liệt kê loại mà tổ chức trả lời được, chứ không phải loại mà vai trò của người xem với tới được.

  • Mảng nghiệp vụ đã bật cho org — bản ghi kích hoạt domain quyết định org được cấp hình gì.
  • Org thực sự có dữ liệu trên mảng đó — capability dữ liệu được phân giải một lần cho mỗi yêu cầu. Một org đã bật eCom nhưng chưa từng đồng bộ đơn hàng nào sẽ không được đề nghị loại nào hình dạng eCom.

Cổng thứ hai không có ngoại lệ cho super admin: org không có dòng dữ liệu nào trên một mảng thì không có gì để báo, bất kể ai đang hỏi.

Điều chỉnh rule và ngưỡng#

Cài đặt → Cảnh báo (/settings/alerts) là nơi quản trị viên tổ chức tắt tiếng hoặc hoãn từng rule, nhóm theo mảng dữ liệu, và tự soạn rule ngưỡng trên bộ dữ liệu của org. Trang này chỉ quyết định một rule có tới được người ta hay không; nơi thông báo hạ cánh đã được chọn một lần ở trang Thông báo và không bị hỏi lại lần hai.

Không có ô ghi đè cấp tổ chức: chủ sở hữu và quản trị viên chỉnh rule và ngưỡng, không bao giờ chỉnh hộp thư của người khác.

Cổng quyền và giới hạn#

  • /settings/notifications là trang cá nhân, mọi thành viên đều vào được, kể cả chủ sở hữu.
  • /settings/alerts cần capability manage_org_settings — mặc định chỉ owneradmin giữ — và cần tab cảnh báo đang mở cho org.
  • Cả ba tab dưới /admin/notifications chỉ dành cho super admin.
  • Email không cần bước liên kết; web push, Telegram và Zalo thì có, và cột tương ứng bị khoá kèm lý do cho tới khi người nhận tự liên kết.
  • Tín hiệu hạ tầng không bao giờ lọt vào bản tin buổi sáng của một tổ chức.

Liên quan#