Notifications
Domain mẫu của cấu trúc theo domain. Trang cũ vẫn giữ: platform/emails.
Notifications là hạ tầng đưa tin: có những loại tin nào, đi bằng kênh nào, ai đã chọn không nhận, và ghi lại đã gửi gì cho ai. Nội dung và tập người nhận thuộc Communications.
| Function | Mã story | Hiện trạng thật (14.10.2026) | Tài liệu |
|---|---|---|---|
| Catalog | NOTIF-CAT | Đã xây cho email: EMAIL_CATALOG (34 loại trong EmailKind: 19 lõi ở templates.ts, 14 của Nhịp thư và bảng kế hoạch, ghép ở catalog.ts), GET /api/system/email/catalog, trang Email Catalog ở admin, gác npm run test:email | prd · sdd · tests |
| In-app | NOTIF-INAPP | Chưa xây. Không có bảng thông báo, không có hộp thông báo. Tín hiệu in-app duy nhất là chấm "chưa đọc" của What's New ở tokyo, sống ở localStorage | prd · sdd · tests |
NOTIF-EMAIL | Đã xây: sendEmail()/fireEmail(), binding EMAIL, khung layout(), bản sao kiểm tra, cron nhắc sự kiện, thư hằng ngày, báo cáo vận hành | prd · sdd · tests | |
| Preferences | NOTIF-PREF | Phần lớn đã xây: email_preferences + huỷ một chạm có chữ ký HMAC (GET là trang xác nhận, POST theo RFC 8058); từ 14.10.2026 trang tuỳ chọn có chữ ký (nhịp, nhóm, ưu đãi) qua Nhịp thư. Chưa có trang trong tokyo, chưa chọn theo kênh | prd · sdd · tests |
| Channel adapters | NOTIF-CH | Chưa xây như một tầng. Chỉ có một kênh (Cloudflare Email Service) gọi thẳng trong send.ts | prd · sdd · tests |
| Delivery log | NOTIF-LOG | Đã xây cho email: email_deliveries, email_opens, ảnh theo dõi, /api/admin/emails, trang Email Logs | prd · sdd · tests |
Lưu ý: EmailKind hiện có 33 loại (14.10.2026): 19 lõi (gồm hai báo cáo vận hành và media_quote), 14 loại mới của Nhịp thư và orch_preview_digest. Danh mục đầy đủ là EMAIL_CATALOG trong src/shared/email/catalog.ts. Mã là nguồn sự thật.