1. Architecture
One Push
  • Tổng quan hệ thống
  • Bussiness Logic
    • Business Logic
    • HỆ THỐNG ĐIỀU PHỐI TIN NHẮN (PUSH ENGINE)
    • HỆ THỐNG ĐỒNG BỘ HEARTBEAT (REAL-TIME SYNC)
    • HỆ THỐNG ĐIỀU PHỐI TIN NHẮN (PUSH ENGINE)
  • Project
    • API
      • Tổng quan API
      • Hướng dẫn sử dụng
        • 1.1 Khởi tạo Website Tham gia
        • 1.2 Cấu hình Bots Telegram
        • 1.3 Quản lý Chiến dịch (Campaigns)
        • 1.4 Lên Lịch Gửi Tự Động
        • 1.5 Tương tác & Thống kê
        • 1.6 Quản lý Tài khoản (RBAC)
        • 1.7 Báo cáo Chi tiết Tin nhắn (Web & Telegram)
      • API
        • Widget nhúng Website
          • Đăng ký Subscriber mới / Nhật ký Heartbeat
          • Cập nhật trạng thái Seen/Read
          • Ghi nhận hiển thị Alert Popup
          • Lấy dữ liệu Alert cho website
        • Tracking & Tương tác
          • Ghi nhận lựa chọn Yes/No
        • Báo cáo & Thống kê
          • Thống kê người dùng Real-time
          • Phân tích tăng trưởng Subscriber
          • Dữ liệu bản đồ nhiệt Vị trí
          • Xuất báo cáo thông báo Excel
        • Lịch gửi Thông báo
          • Danh sách lịch gửi thông báo
          • Tạo lịch gửi mới
          • Bật/Tắt lịch gửi
        • Betting Tips
          • Lấy Tip bóng đá HOT nhất
          • Lấy dữ liệu Mock Tip (Test)
        • Telegram Integration
          • Danh sách Telegram Bot
          • Telegram Webhook Endpoint
        • Email Marketing
          • Tạo và gửi chiến dịch Email
        • Hệ thống & RBAC
          • Danh sách tài khoản Admin/Nhân viên
          • Danh sách vai trò (Roles)
        • Tiện ích & Files
          • Truy xuất nhật ký hệ thống (System Logs)
        • Chiến dịch (Campaigns)
          • Danh sách chiến dịch
        • Website Khách hàng (Clients)
          • Danh sách website khách hàng
        • Quản lý Thành viên (Subscribers)
          • Danh sách người đăng ký (Subscribers)
          • Xóa người nhận tin
      • Architecture
        • System Architecture (Kiến trúc Hệ thống)
        • Code Structure
        • Database Schema (Mô hình Dữ liệu)
      • Deployment
        • Local
        • Production
        • Development
    • TOOL
      • Tổng quan Tool
      • Hướng dẫn sử dụng
        • Hướng dẫn sử dụng — Novu Notification Infrastructure
      • Architecture
        • System Architecture
        • Code Structure
        • Database Schema
      • API
        • 👥 Subscribers
          • Tạo/Cập nhật Subscriber
          • Cập nhật Profile
        • 🗺️ Workflows
          • Lấy danh sách Workflow Templates
          • Chi tiết Workflow
        • 📂 Notification History
          • Lịch sử biến động Notification
        • 🎯 Topics
          • Tạo Topic mới
        • 📐 Layouts
          • Lấy danh sách Layout (Email/Web)
        • 💬 Messages
          • Tra cứu vết tin nhắn chi tiết (Low-level)
        • 🔌 Integrations
          • Danh sách nhà cung cấp (Providers)
        • 🚀 Events & Triggers
          • Kích hoạt thông báo (Workflows)
          • Kích hoạt hàng loạt (Bulk Trigger)
      • Deployment
        • Deployment
  • Schemas
    • NotificationWidget
    • TrackingStats
    • NotificationSchedule
  1. Architecture

Database Schema (Mô hình Dữ liệu)

Cơ sở dữ liệu được thiết kế tập trung, chia theo 4 phân hệ chính để tối ưu hóa việc quản lý và tránh gây rối cho lập trình viên.
Dưới đây là lược đồ thực thể (ERD) mức mức tổng quan cho các khối dữ liệu cốt lõi:

MỤC LỤC CHI TIẾT#

1.
Phân hệ 1: Khách hàng & Người dùng (Clients & Subscribers)
Bảng CLIENTS, SUBCRIBERS, USERS, ROLES, PERMISSIONS
2.
Phân hệ 2: Chiến dịch & Gửi tin (Campaigns & Schedules)
Bảng CAMPAIGNS, NOTIFICATION_SCHEDULES, NOTIFICATION_SCHEDULE_CLIENTS, NOTIFICATION_SCHEDULE_ASSET
3.
Phân hệ 3: Lịch sử & Tương tác (Logs & Tracking)
Bảng NOTIFICATION_SCHEDULE_LOGS, WEB_MESSAGE_LOGS, TELEGRAM_MESSAGE_LOGS, TRACKING_CHOICES
4.
Phân hệ 4: Thống kê định kỳ (Statistics)
Bảng DAILY_NOTIFICATION_STATS, DAILY_NOTIFICATION_CLIENT_STATS, SUBSCRIBER_STATISTICS_V2


1. Phân hệ Khách hàng & Người dùng (Clients & Subscribers)#

Bảng CLIENTS#

Mô tả: Lưu trữ cấu hình, API Token và giới hạn của các Website vệ tinh khách hàng khi gắn Script One Push.
Cột (Field)Kiểu (Type)Mục đích vận hành
idbigint (PK)Khóa chính
namevarcharTên định danh Website/Tổ chức (VD: Bong88, 8XBet)
domainvarcharTên miền chính xác dùng để lọc Verify Middleware
tokenvarcharMã định danh cực kỳ quan trọng dùng cho gọi API ngầm
guidelinetextChứa mã nhúng Script mẫu sinh ra cho Client copy
alert_titlevarcharTiêu đề mặc định dự phòng của Popup thông báo
alert_contentvarcharNội dung lời mời tải trang mặc định
alert_imgvarcharURL ảnh đại diện Banner tĩnh bảo vệ khi rớt mạng
alert_btnvarcharChữ hiển thị mặc định gắn trên Call-To-Action Button
alert_expiredintPhiên tính bằng giây (Thời gian tự động biến mất màn hình)
daily_report_enabledtinyintCờ (Flag) cho phép máy chủ đánh thức gửi báo cáo hàng ngày
daily_report_webhooktextWebhook URL bắn thẳng về Group Telegram của Tổ chức Mẹ
activeenumTình trạng bị khóa hay Còn chạy của Client
seenintTổng số lượng thiết bị từng hiển thị thông báo
readintTổng số lượt thiết bị Click tương tác link đích
totalintTổng số Subscribers (Nạn nhân) nằm trong rọ data
deleted_attimestamp (FK)Lịch sử xóa mềm ẩn khỏi giao diện Admin
created_attimestampNgày giờ sinh thành
updated_attimestampNgày cập nhật file

Bảng SUBCRIBERS#

Mô tả: Bản đồ thông tin của hàng triệu thiết bị điện thoại, máy tính (Nơi chứa PAM ID, FCM Token).
Cột (Field)Kiểu (Type)Mục đích vận hành
idbigint (PK)Khóa chính
subcriber_idtext(PAM ID) - Mã băm Hash cực quan trọng định danh Thiết Bị
t3_idvarcharMã tài khoản chéo liên kết với hệ sinh thái T3 cũ
client_idbigintUser này thuộc sở hữu quản lý của Website rễ (Client) nào
activedtinyintKhách hàng cho phép nhận Push (1) hay Tắt quyền Push (0)
typeenumUser là đối tượng dùng loại: Trình duyệt Web, hay Bot Telegram
platformvarcharHệ điều hành (Windows, Android, iOS...) làm điều kiện lọc
devicevarcharTrình nhận dạng Màn hình (Desktop, Mobile, Tablet)
languagevarcharHệ tọa độ ngôn ngữ hiển thị (vi, en, zh)
connection_typevarcharKênh phân luồng dữ liệu mạng (Wifi, LAN, 4G, 5G...)
created_attimestampThời điểm khách vô tình nhấn "Allow Notification"
updated_attimestampNhịp tim Heartbeat thay đổi cuối cùng

Bảng USERS#

Mô tả: Danh bạ tài khoản những người Quản trị (Operator & Admin).
Cột (Field)Kiểu (Type)Mục đích vận hành
idbigint (PK)Khóa chính
namevarcharTên Nhân viên làm giao thức báo cáo
usernamevarcharMã nhân viên dùng để Login màn hình Admin
emailvarcharKênh nhận hỗ trợ lấy lại mật khẩu OTP
email_verified_attimestampCờ nhận biết Account hợp lệ (Not Bot)
passwordvarcharVỏ nén Hash Bcrypt mật khẩu của nhân viên
remember_tokenvarcharToken duy trì phiên Cookie trình duyệt không bị văng
deleted_attimestampĐuổi việc nhân viên (Xóa che tài khoản)

Bảng ROLES#

Mô tả: Kho chứa chức danh của hệ thống.
Cột (Field)Kiểu (Type)Mục đích vận hành
idint (PK)Khóa chính
namevarcharTên Hiển thị Vai Trò (Ví dụ: Nhân viên Content, Trưởng Phòng CRM)
slugvarcharMã định danh chìm dùng cho Gate Middleware (content_creator, admin)
descriptionvarcharGiải thích sơ bộ xem chức danh này được thọc sâu vào màn hình nào
deleted_attimestampKhóa chức quyền này vĩnh viễn khỏi công ty

Bảng PERMISSIONS#

Mô tả: Ma trận quyền lực tối thiểu (RBAC level).
Cột (Field)Kiểu (Type)Mục đích vận hành
idint (PK)Khóa chính
namevarcharTên của khả năng thao tác (Ví dụ: Tạo Chiến Dịch Mới, Hủy Bắn Lịch)
slugvarcharKhóa check API Permission Level (Ví dụ: campaign-create)
descriptionvarcharGiới hạn giải trình về lệnh ủy quyền

2. Phân hệ Chiến dịch & Gửi tin (Campaigns & Schedules)#

Bảng CAMPAIGNS#

Mô tả: Thùng carton lớn để chứa hàng ngàn chiến dịch gửi tin Push lẻ tẻ bên trong.
Cột (Field)Kiểu (Type)Mục đích vận hành
idbigint (PK)Định danh Nhóm Nhỏ
namevarcharTên gọi chiến dịch vĩ mô (VD: Mùa Giải Euro 2026)
typevarcharPhân nhánh nghiệp vụ (VD: Sports, Livestream, Deposit)
descriptiontextMục tiêu chiến lược của chiến dịch

Bảng NOTIFICATION_SCHEDULES#

Mô tả: Trái tim của sản phẩm. Một dòng Row trong bảng này tượng trưng cho cấu trúc phức tạp của 1 tác vụ đẩy tin.
Cột (Field)Kiểu (Type)Mục đích vận hành
idbigint (PK)Khóa lệnh thi hành gốc
campaign_idbigintChạy theo ngân sách chỉ tiêu của Chiến dịch tổng nào
primary_client_idbigintĐích đến mục tiêu đổ link chính (Tạo Traffic cho ai)
send_to_appenumPhân bổ hỏa lực: Ra Trình duyệt (web) hay đập thẳng điện thoại (telegram)
clientenumLấy mọi Khách (All) hay chỉ đích danh tập khách rác (Specify)
titlevarcharTên gọi hấp diêm lôi cuốn Click
contentlongtextText dài hướng dẫn dỗ khách kích hoạt chơi
actionjsonCực trọng: Một cục Json Object điều hướng màu mè chứa nút bấm Yes/No và Link Đích
action_telejsonNút bấm Inline Keyboard nếu nền tảng gửi là hạ tầng Telegram
is_betting_notificationtinyintCờ (1) chứng tỏ hệ thống phải bật mắt soi kèo giải bóng tự động
match_idbigintKết nối ID từ Sever kết quả Bóng Đá (nhà cung cấp Odds)
match_is_livetinyintBiết trước giải đang đá đấm trực tiếp hay là mai trận mới lăn bóng
match_home_logovarcharCạo tự động ảnh mào cờ đội chủ nhà (Local/Unsplash URL)
match_away_logovarcharCạo tự động ảnh khiên cúp đội khách làm banner
best_percentdecimalBot đo biên độ độ ăn kèo - lấy lãi trần cao nhất giục user chơi
bet_typevarcharNgôn ngữ nhà cái (Handicap, 1x2, Tài Xỉu...)
bet_percentdecimal% AI dự đoán đội chiến thắng cho con nghiện găm tiền
bet_oddsdecimalGhi bảng hệ số Nhân X tiền thưởng (Tỷ lệ cược thật)
bet_companyvarcharBăng đảng nhà cái phát hành giá ODDS này
typeenumTính cách lịch: Đẩy thẳng tay (SendNow), Hay Hẹn chóp (SpecifyDay)
timetimeĐặt đồng hồ lúc mấy giờ Cronjob được gọi lệnh nã súng
sent_countintĐồng hồ đếm ngược số bom (số Device) đã bị dính thính
activeenumÁp trạng thái Enable thì máy chủ mới móc ra gửi
notification_clientenumNền móng gửi ra Client chung mâm hay tách biệt
notification_typeenumPhân tán màn hình hiển thị: Thanh trượt góc (Top), Đè màn (Popup)

Bảng NOTIFICATION_SCHEDULE_CLIENTS#

Mô tả: Mapping ràng buộc mảng quan hệ Nhắn tin (Một lịch gửi có thể chọn lọc rớt bom vào 5 Website khác nhau, thay vì all out).
Cột (Field)Kiểu (Type)Mục đích vận hành
notification_schedule_idbigint (FK)Kết nối tham chiếu tới thông báo chính
client_idbigintWebsite nào vinh dự được đón nhận chùm tin rác này
unitenumCụm khóa mảng (Phân vùng theo Group, Nguồn Bot, Thiết bị)
unit_idvarchar (FK)ID nhóm hoặc UID để Middleware khoanh vùng đối tượng cấm cản

Bảng NOTIFICATION_SCHEDULE_ASSET#

Mô tả: Thư viện Media tĩnh (Banner quảng cáo, Graphic Design).
Cột (Field)Kiểu (Type)Mục đích vận hành
idbigint (PK)Hệ tham chiếu độc lập
notification_idbigintMap lại với chiến dịch thông báo để rọi URL Ảnh tới lúc gửi Payload JSON
asset_idbigintMã Key trên Media Drive (Minio/S3/Local Storage)
typevarcharĐịnh tuyến kiểu hiển thị layout ảnh (Ảnh Đại Diện Background hay Nút bấm Image Custom)

3. Phân hệ Lịch sử & Tương tác (Logs & Tracking)#

Bảng NOTIFICATION_SCHEDULE_LOGS#

Mô tả: Thùng rác vĩ đại chứa Lịch sử bắn tin khổng lồ. Ghi nhận chi li trạng thái Sent/Seen/Read của từng Device một.
Cột (Field)Kiểu (Type)Mục đích vận hành
idbigint (PK)Khóa chính
notification_schedule_idintĐịnh danh phiên lệnh bắn
client_idbigintNhận diện khách nằm ở phễu trang Web nào
send_to_appvarcharĐầu ra (Bắn về Website WebPush hay là về Bot Telegram)
sub_idvarcharNã trúng UID Thiết bị cụ thể nào
seenenumTracking: Khách hàng CÓ hoặc KHÔNG lướt thấy (Hiển thị)
readenumTracking: Khách hàng CÓ click trúng khu vực không
unittextNhóm đối tượng đặc biệt làm cờ lọc
statusenumChốt sổ kết quả hành vi gửi là (Success) Thành Công hay (Error) Thất Bại
resulttextIn ra toàn bộ JSON mã Code mà nền tảng trung gian ném về (Hết sức quan trọng để rà lỗi Debug)

Bảng WEB_MESSAGE_LOGS#

Mô tả: Phễu Tracking sâu riêng cho trình duyệt lướt Web API Push.
Cột (Field)Kiểu (Type)Mục đích vận hành
client_idbigint (FK)Nguồn phát
statustinyintĐã đến cửa trình duyệt khách chưa
payloadlongtextGói gọn cục JSON hiển thị DOM cấu trúc được tiêm thẳng vào Browser (Có chứa link hình, tên người)
seentinyint (FK)Bằng 1 là đã lên hình Pop ở màn máy tính
readtinyint (FK)Khách Click đâm thẳng vào Link đích bên trong
message_idvarchar (FK)Ticket Hash Tracking
responselongtextLog lại mã Console (StatusCode / ErrorName) mà Browser phản hồi

Bảng TELEGRAM_MESSAGE_LOGS#

Mô tả: Màn hình kiểm soát luồng đổ Telegram Bot API rủi ro cao.
Cột (Field)Kiểu (Type)Mục đích vận hành
bot_idbigintMã ID (ChatID Token) nhận dạng con Bot trung gian đứng ra lính bắn tỉa tin
group_idvarcharGửi nhét tập thể thẳng vào phòng chát nếu không gửi Inbox cá nhân
statustinyintPhanh xe trạng thái 1-0
payloadlongtextGói thư HTTP Body JSON chuẩn định dạng Telegram (có Inline Keyboard Option)
responselongtextPhản hồi sinh sát từ trạm máy chủ Telegram Server (Log HTTP 403 Forbidden Ban IP / Or 200 OK)

Bảng TRACKING_CHOICES#

Mô tả: Nơi ghi chép lại mọi phán quyết của người dùng tại các Nút Điều Hướng CTA.
Cột (Field)Kiểu (Type)Mục đích vận hành
notification_schedule_idbigint (FK)Thống kê vào sổ kịch bản Push
tracking_idvarchar (FK)Hash Key bảo chứng không cho 1 thiết bị vote láo 2 lần
yestinyintCờ ghi công 1 điểm: Người chơi đã "Chấp Thuận / Đặt Cược / Đi Gửi Tiền"
notinyintCờ thua báo cáo 1 điểm: Người ta tắt chéo khung (X Out) hoặc ấn nút Bỏ Qua
urlvarcharĐịa chỉ trỏ đích đến cuối cùng mà khách bị lừa click vào

4. Phân hệ Thống kê (Statistics)#

Bảng DAILY_NOTIFICATION_STATS#

Mô tả: Quầy thu ngân tổng hợp số cuối ngày giao lại cho Sếp kinh doanh.
Cột (Field)Kiểu (Type)Mục đích vận hành
datedateMã ngạch Ngày/Tháng/Năm sổ sách
campaign_idbigintQuy tính năng suất cống hiến cho ngân chiến dịch nào
total_notificationsintTổng khối lượng Push dự tính thả thính hôm nay
in_app_countintĐo lường rạch ròi bao nhiêu đạn nổ In-App (Ở giữa lõi ứng dụng/màn hình Popup Window)
background_countintĐo lường đạn nã đẩy ngầm (Push Alert chuông tin nhắn Background mượt mà)
sent_countintĐã đến thành công cửa nhà khách hàng qua các lớp hàng rào kiểm dịch
error_countintGhi nhận tỉ lệ rớt hàng trên đường đi để rà soát Bottleneck tắc đường
pending_countintBao nhiêu thùng tin nhắn còn bị kẹt trên Hàng Đợi (Queue Queue) chưa được tẩu tán

Bảng DAILY_NOTIFICATION_CLIENT_STATS#

Mô tả: Bảng vạch tội và lập công y đúc bảng trên, nhưng rạch ròi số má chẻ riêng ra từng thằng Website Mạng Lưới một.
Cột (Field)Kiểu (Type)Mục đích vận hành
client_idint (FK)Website (Chi nhánh) được chấm công đếm số
total_notificationsbigintTổng số lệnh đẩy tin trên Website này
sent_countbigintLượng Push thành công rơi vào Domain này
error_countbigintKhách rớt mạng
pending_countbigintTin đang delay kẹt bộ nhớ Memory
seen_countbigintTổng truy xuất nhãn cầu nhìn thấy cái Banner Pop trên Domain
read_countbigintTỷ lệ nhấp Click chui vào ngõ cụt

Bảng SUBSCRIBER_STATISTICS_V2#

Mô tả: Bộ não AI bóc tách Data Phân cực Thiết bị. (Chụp CT Scanner người chơi)
Cột (Field)Kiểu (Type)Mục đích vận hành
site_idbigint (FK)Nơi lấy mẫu
datedateTimestamp gom data chốt sổ nửa đêm
keyvarcharTrục Mỏ neo bóc vách (Ví dụ mỏ neo: Hệ_Điều_Hành, Loại_Máy, Wifi_Or_4G)
valuevarcharTham số đi liền bóc từ ngách (Ví dụ phân cực: Mac_OS, Android, Mobifone)
totalintThu gom đếm được tổng mẫu bao nhiêu khách xài con tham số Value ở trên trúng mạng
Modified at 2026-03-30 16:47:25
Previous
Code Structure
Next
Local
Built with