1. Architecture
One Push
  • Tổng Quan
  • Bussiness Logic
    • ĐẶC TẢ KỸ THUẬT: HỆ THỐNG ĐIỀU PHỐI TIN NHẮN (PUSH ENGINE)
    • ĐẶC TẢ KỸ THUẬT: HỆ THỐNG ĐỒNG BỘ HEARTBEAT (REAL-TIME SYNC)
    • ĐẶC TẢ KỸ THUẬT: HỆ THỐNG ĐIỀU PHỐI TIN NHẮN (PUSH ENGINE)
    • Business Logic (Luồng Logic Nghiệp Vụ)
  • Project
    • 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)
      • Architecture
        • System Architecture (Kiến trúc Hệ thống)
        • Code Structure
        • Database Schema (Mô hình Dữ liệu)
      • Deployment
        • Local
        • Production
        • Development
      • 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
    • 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
      • Deployment
        • Deployment
      • 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)
  • Schemas
    • GenericResponse
  1. Architecture

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

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

Cơ sở dữ liệu được chia theo 4 phân hệ chính để tối ưu hóa việc quản lý và tránh rối mắt. Dưới đây là lược đồ thực thể (ERD) 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
Bảng SUBCRIBERS
Bảng USERS
Bảng ROLES
Bảng PERMISSIONS
2.
Phân hệ 2: Chiến dịch & Gửi tin (Campaigns & Schedules)
Bảng CAMPAIGNS
Bảng NOTIFICATION_SCHEDULES
Bảng NOTIFICATION_SCHEDULE_CLIENTS
Bảng NOTIFICATION_SCHEDULE_ASSET
3.
Phân hệ 3: Lịch sử & Tương tác (Logs & Tracking)
Bảng NOTIFICATION_SCHEDULE_LOGS
Bảng WEB_MESSAGE_LOGS
Bảng TELEGRAM_MESSAGE_LOGS
Bảng TRACKING_CHOICES
4.
Phân hệ 4: Thống kê (Statistics)
Bảng DAILY_NOTIFICATION_STATS
Bảng DAILY_NOTIFICATION_CLIENT_STATS
Bảng 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 khách hàng gắn Widget One Push.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
namevarcharTên định danh Website (Ví dụ: Bong88, Viva88)
domainvarcharTên miền chính xác dùng để verify Widget
tokenvarcharMã xác thực tĩnh dùng cho API nhúng
guidelinetextChứa mã nhúng Script mẫu cho Client
alert_titlevarcharTiêu đề mặc định của Popup thông báo
alert_contentvarcharNội dung mặc định của Popup thông báo
alert_imgvarcharURL ảnh đại diện (Icon) cho Popup
alert_btnvarcharNhãn hiển thị trên nút bấm của Popup
alert_expiredintThời gian tự động đóng Popup (giây)
daily_report_enabledtinyintTrạng thái Bật/Tắt báo cáo hàng ngày
daily_report_webhooktextWebhook nhận báo cáo qua Telegram
activeenumTrạng thái hoạt động của Client
seenintTổng lượt hiển thị tích lũy
readintTổng lượt nhấp (Click) tích lũy
totalintTổng số Subscribers đã đăng ký
deleted_attimestamp (FK)Khóa ngoại
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian

Bảng SUBCRIBERS#

Mô tả: Lưu trữ định danh người dùng cuối (PAM ID, FCM Token) và thiết bị/nền tảng của họ.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
subcriber_idtextĐịnh danh duy nhất (PAM ID) của thiết bị
t3_idvarcharID liên kết với hệ thống tài khoản T3
client_idbigintLiên kết với bảng CLIENTS
activedtinyintTrạng thái nhận tin (1: Bật, 0: Chặn)
typeenumPhân loại (Web / Telegram / Mobile)
platformvarcharHệ điều hành (Windows, Android, iOS...)
devicevarcharLoại thiết bị (Desktop, Mobile, Tablet)
languagevarcharNgôn ngữ trình duyệt của người dùng
connection_typevarcharLoại mạng (4G, Wifi...)
created_attimestampThời điểm người dùng nhấn Allow thông báo
updated_attimestampLịch sử thời gian

Bảng USERS#

Mô tả: Cấu trúc bảng USERS.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
namevarcharTên hiển thị của Admin/Nhân viên
usernamevarcharTên đăng nhập hệ thống
emailvarcharEmail liên hệ và nhận mã OTP (nếu có)
email_verified_attimestampThời điểm xác định tài khoản đã verify email
passwordvarcharMật khẩu (Dạng Hash mã hóa bảo mật)
remember_tokenvarcharToken dùng để duy trì phiên đăng nhập
created_attimestampNgày giờ khởi tạo tài khoản
updated_attimestampNgày giờ cập nhật thông tin cuối
deleted_attimestampThời gian xóa tài khoản (Soft delete)

Bảng ROLES#

Mô tả: Cấu trúc bảng ROLES.
Cột (Field)Kiểu (Type)Mục đích
idint (PK)Khóa chính
namevarchar
slugvarchar
descriptionvarchar
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian
deleted_attimestamp

Bảng PERMISSIONS#

Mô tả: Cấu trúc bảng PERMISSIONS.
Cột (Field)Kiểu (Type)Mục đích
idint (PK)Khóa chính
namevarchar
slugvarchar
descriptionvarchar
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian
deleted_attimestamp

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

Bảng CAMPAIGNS#

Mô tả: Quản lý chiến dịch chung, là thẻ cha bao bọc nhiều lịch gửi bên trong.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
namevarcharTên chiến dịch (VD: Khuyến mãi Tháng 3)
typevarcharPhân loại mảng (Thể thao, Casino...)
descriptiontextGhi chú chi tiết về mục tiêu chiến dịch
created_attimestampThời gian khởi tạo
updated_attimestampThời gian cập nhật

Bảng NOTIFICATION_SCHEDULES#

Mô tả: Nơi thiết lập cấu hình tin nhắn Push, Telegram, Betting Tips và thời điểm gửi bài.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
campaign_idbigintThuộc về chiến dịch mẹ nào
primary_client_idbigintWebsite chính thực hiện lệnh gửi
send_to_appenumGửi qua Web hay Telegram (W/T)
clientenumĐối tượng nhận (All/Specific)
titlevarcharTiêu đề tin nhắn Push
contentlongtextNội dung chi tiết của thông báo
actionjsonCấu hình các nút bấm (Link điều hướng)
action_telejsonCấu hình nút bấm trên Telegram
is_betting_notificationtinyintĐánh dấu là tin nhắn kèo bóng đá
match_idbigintID Trận đấu tương ứng
match_leaguevarcharTên giải đấu
match_timedatetimeThời gian diễn ra trận đấu
match_home_teamvarcharĐội nhà
match_away_teamvarcharĐội khách
match_is_livetinyintTrận đấu đang diễn ra hay sắp đá
match_home_logovarcharURL Logo đội nhà
match_away_logovarcharURL Logo đội khách
best_percentdecimalTỷ lệ dự đoán thắng cao nhất
bet_typevarcharLoại cược (CH, OU, 1X2)
bet_labelvarcharNhãn hiển thị của kèo
bet_selectionvarcharĐội được chọn
bet_percentdecimalTỷ lệ phần trăm dự đoán
bet_hopedecimalMức kỳ vọng
bet_oddsdecimalTỷ lệ cược (Odds)
bet_companyvarcharTên công ty/nhà cái cung cấp kèo
betting_data_fetched_attimestampThời gian cập nhật Odds cuối
betting_api_sourcevarcharNguồn API cung cấp dữ liệu cược
typeenumKiểu gửi (Ngay, Hẹn giờ, Lặp lại)
repeatvarcharTên lịch lặp lại (mỗi ngày/tháng...)
repeat_timeintSố giờ lặp lại
repeat_minintSố phút lặp lại
datedateNgày bắt đầu kích hoạt
end_datedateNgày kết thúc chu kỳ
timetimeGiờ cụ thể thực hiện lệnh bắn
sent_countintTổng số tin đã đẩy thành công
activeenumTrạng thái (1: Active, 0: Disable)
user_idbigintNgười tạo lịch gửi
last_senttimestampThời gian lần gửi gần nhất
deleted_attimestampThời gian xóa mềm
created_attimestampNgày khởi tạo
updated_attimestampNgày cập nhật
notification_clientenumNguồn Client (Nhắm mục tiêu)
notification_typeenumPhân loại tin nhắn
alert_expriedintThời gian hết hạn hiển thị

Bảng NOTIFICATION_SCHEDULE_CLIENTS#

Mô tả: Cấu trúc bảng NOTIFICATION_SCHEDULE_CLIENTS.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
notification_schedule_idbigint (FK)Khóa ngoại
client_idbigint
unitenum
unit_idvarchar (FK)Khóa ngoại
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian

Bảng NOTIFICATION_SCHEDULE_ASSET#

Mô tả: Cấu trúc bảng NOTIFICATION_SCHEDULE_ASSET.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
notification_idbigint
asset_idbigint
typevarchar

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

Bảng NOTIFICATION_SCHEDULE_LOGS#

Mô tả: Lịch sử bắn tin khổng lồ: Ghi nhận trạng thái Sent/Seen/Read của từng Device một.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
notification_schedule_idintLiên kết với Lịch gửi
client_idbigintWeb site người dùng nhận tin
send_to_appvarcharKênh (Web/Telegram)
sub_idvarcharPAM ID của thiết bị nhận
seenenumTrạng thái hiển thị (1: Có, 0: Không)
readenumTrạng thái click (1: Có, 0: Không)
unittextĐơn vị định danh thêm
unit_idvarcharID của đơn vị định danh
unit_valuevarcharGiá trị định danh
`value"textGiá trị phản hồi
statusenumKết quả (Success / Error)
resulttextChi tiết lỗi hoặc JSON response
created_attimestampNgày giờ gửi thực tế
updated_at`timestamp"Lịch sử thời gian

Bảng WEB_MESSAGE_LOGS#

Mô tả: Cấu trúc bảng WEB_MESSAGE_LOGS.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
client_idbigint (FK)Khóa ngoại
statustinyintTrạng thái kích hoạt
payloadlongtext
seentinyint (FK)Khóa ngoại
readtinyint (FK)Khóa ngoại
message_idvarchar (FK)Khóa ngoại
subscriber_idvarchar (FK)Khóa ngoại
responselongtext
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian

Bảng TELEGRAM_MESSAGE_LOGS#

Mô tả: Cấu trúc bảng TELEGRAM_MESSAGE_LOGS.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
statustinyintTrạng thái kích hoạt
payloadlongtext
responselongtext
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian
bot_idbigint
group_idvarchar

Bảng TRACKING_CHOICES#

Mô tả: Cấu trúc bảng TRACKING_CHOICES.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
notification_schedule_idbigint (FK)Khóa ngoại
tracking_idvarchar (FK)Khóa ngoại
yestinyint
notinyint
urlvarchar
created_attimestamp (FK)Lịch sử thời gian

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

Bảng DAILY_NOTIFICATION_STATS#

Mô tả: Cấu trúc bảng DAILY_NOTIFICATION_STATS.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
datedateNgày tổng hợp số liệu
campaign_idbigintID chiến dịch tương ứng
campaign_name`varchar"Tên chiến dịch tại thời điểm đó
total_notificationsintTổng số thông báo dự kiến gửi
in_app_countintSố tin nhắn hiện trong ứng dụng
background_countintSố tin nhắn đẩy nền (Push)
sent_countintSố lượng tin gửi thành công
`error_count"intSố lượng tin bị lỗi
`pending_count"intSố lượng tin đang chờ
seen_countintTổng lượt hiển thị thực tế
read_count`int"Tổng lượt người dùng click
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian

Bảng DAILY_NOTIFICATION_CLIENT_STATS#

Mô tả: Cấu trúc bảng DAILY_NOTIFICATION_CLIENT_STATS.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
datedate (FK)Khóa ngoại
campaign_idint (FK)Khóa ngoại
client_idint (FK)Khóa ngoại
total_notificationsbigint
sent_countbigint
error_countbigint
pending_countbigint
seen_countbigint
read_countbigint
in_app_countbigint
background_countbigint
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian

Bảng SUBSCRIBER_STATISTICS_V2#

Mô tả: Cấu trúc bảng SUBSCRIBER_STATISTICS_V2.
Cột (Field)Kiểu (Type)Mục đích
idbigint (PK)Khóa chính
site_idbigint (FK)Khóa ngoại
datedate
keyvarchar
valuevarchar
totalint
created_attimestampLịch sử thời gian
updated_attimestampLịch sử thời gian
Modified at 2026-03-27 03:49:16
Previous
Code Structure
Next
Local
Built with