1. Architecture
Traffic Tool
  • Traffic Tool Docs
    • Tổng Quan
    • project
      • admin
        • Hướng dẫn sử dung
          • Đăng Nhập & Xác Thực Hai Bước
          • Thống Kê Hệ Thống
          • Thống Kê Hàng Ngày
          • Tìm Kiếm Tự Động
          • Trung Tâm Báo Cáo
          • Quản Lý Tài Khoản
          • Quản Lý Server
          • Quản Lý Proxy
          • Quản Lý Gói Proxy
          • Quản Lý Nhà Cung Cấp Proxy
          • Quản Lý Backup Proxy
          • Quản Lý Tài Khoản Google
      • api + tool
        • Hướng dẫn sử dụng
          • User Guide
          • Setup Guide
        • Bussiness | Logic
          • 1. Thống kê hàng ngày (Daily Statistics)
          • 2. Thống kê hệ thống (System Statistics)
          • 3. Tìm kiếm tự động (Automated Discovery)
          • 4. Trung tâm Báo cáo (Report Center)
          • 5. Quản lý tài khoản (Account Management)
          • 6. Quản lý Hệ thống (System Management)
          • 7. Quản lý tài khoản Google (Google Account Management)
        • Architecture
          • Database Schema
          • System Architecture
          • Code Structure
          • Logs and Monitoring
          • Environment & Configuration
        • Deployment
          • Local
          • Staging
          • Product
  • Traffic Backend API
    • 🔑 Identity & Session
      • Đăng nhập hệ thống (Login)
      • Đăng ký tài khoản mới (Public)
      • Lấy danh sách người dùng (Phân trang)
      • Admin tạo người dùng mới
      • Lấy thông tin cá nhân hiện tại
      • Khởi tạo bảo mật 2FA
      • Xác thực mã OTP
      • Chi tiết người dùng theo ID
      • Cập nhật thông tin người dùng
      • Xóa tài khoản người dùng
      • Đổi mật khẩu
      • Kiểm tra Cấu hình Thông báo Telegram Toàn hệ thống
      • Bật/Tắt Thông báo Telegram Toàn cục
    • 📁 Campaign Management
      • Danh sách Chiến dịch Toàn cầu
      • Khởi tạo Chiến dịch Mới
      • Chi tiết Chiến dịch
      • Cập nhật Chiến dịch
      • Xóa Chiến dịch
      • Tắt/Mở Chiến dịch (Hàng loạt)
      • Dữ liệu Hình mẫu SEO (Negative SEO)
    • ⚙️ Project Mechanics
      • Danh sách Dự án (Projects List)
      • Khởi tạo Kịch bản Mô phỏng
      • Lấy chi tiết cấu hình Dự án
      • Cập nhật Kịch bản chạy
      • Xóa Dự án
      • Chỉnh sửa Hàng loạt (Bulk)
      • Bật/Tắt Dự án
    • 👤 Profile Management
      • Danh sách Vân tay số (Profiles Data)
      • Tạo Hồ sơ Đơn lẻ (Tạo Vân tay mới)
      • Nhập kho Tài khoản Email (Bulk Import)
      • Chi tiết Session/Cookies
      • Chỉnh sửa Hồ sơ/Ghi chú
      • Xóa Vân tay số và Dữ liệu Local
      • Mở khóa Captcha/Trạng thái Blocked
      • Tra cứu Kho Profile Khả dụng
      • Báo cáo Sức khỏe Kho Tài Khoản
    • 🦾 Worker Interface
      • Đăng ký Khởi tạo Node (Handshake)
      • Nhịp Tim Khảo Sát Tình Trạng (Heartbeat)
      • Nhận Cấu hình Bypass & Hệ thống
      • Kéo (PULL) Nhiệm vụ Traffic SEO
      • Báo cáo Sự cố Node (Crash Report)
    • 📊 Report: Execution
      • Kéo Công việc Báo cáo (Worker Pull)
      • Quản lý Giám sát Nhiệm vụ (Task Dashboard)
      • Bắn Lại Báo Cáo Thất Bại (Manual Retry)
    • 📊 Report: Discovery
      • Danh sách Tên miền Chờ Xử Lý (Discovery Pool)
      • Nhập Mục Tiêu Thủ Công (Manual Insert)
      • Kích hoạt Heuristic Scanner (Cào tự động)
      • Chi tiết Bằng Chứng (Evidence Data)
      • Dán nhãn Vi Phạm / Cập nhật Screenshot
      • Loại Bỏ Mục Tiêu
      • Duyệt Yêu Cầu (Approve to Execution)
    • 📊 Report: Platforms Configuration
      • Truy vấn Danh sách Nền tảng Đối tác (Vendor)
      • Tạo Nền tảng Vendor Báo cáo Mới
      • Bật/Tắt Trang báo cáo theo Loại
      • Cập nhật Metadata Trang
      • Xóa Trang Báo Cáo
      • Lấy Cài đặt LLM cho Vendor cụ thể
      • Cập nhật Cài đặt Tạo mẫu LLM
      • Lấy Cấu hình Schema Biểu mẫu cho Vendor
      • Cập nhật Yêu cầu Trường Biểu mẫu
    • 📊 Report: Email Automation
      • Danh sách SMTP/Mailer Server
      • Thêm kết nối SMTP Mới
      • Nhật ký Nhiệm vụ Gửi Mail (Email Log)
      • Phân tích Tỉ lệ Chuyển đổi (Email Delivery Analytics)
    • 🌐 Global Proxies
      • Danh sách Kho Proxy Phân trang (Proxy Pool)
      • Thêm mới Tuyến IP (Bulk Import)
      • Cập nhật Thông tin máy chủ Proxy
      • Xóa Proxy (Thu hồi tài nguyên)
      • Kích hoạt Xoay vòng (Rotate IP) Cưỡng bức
    • 📈 System Intelligence
      • Báo cáo Luồng Bảo mật Hợp nhất (Colossal Report)
      • Bản Đồ Lưu Lượng GeoIP (Heatmap)
    • 🪝 Webhook Integrations
      • Callback Hoàn tất Gói Lưu lượng SEO (Traffic Node)
      • Callback Thông báo Hoàn tất Bắn Report AI
    • Schemas
      • AppError
      • LoginRequest
      • UserResponseDto
      • UserModel
      • CreateUserRequest
      • UpdateUserRequest
      • PagingInfo
      • ProfileModel
      • CreateProfileRequest
      • BulkImportProfileReq
      • UpdateProfileRequest
      • CampaignModel
      • CampaignConfigs
      • CreateCampaignRequest
      • UpdateCampaignRequest
      • BulkUpdateCampaignStatusReq
      • NegativeSeoData
      • CreateProjectRequest
      • UpdateProjectRequest
      • ProjectModel
      • BulkUpdateProjectRequest
      • ProjectAttribute
      • WorkerHandshakeRequest
      • WorkerHandshakeResponse
      • WorkerHeartbeatPayload
      • WorkerGlobalSettings
      • TaskPullRequest
      • WorkerFatalLog
      • TaskModel
      • TaskTrafficType
      • TaskUpdateDto
      • ReportTaskModel
      • ReportTaskResult
      • PCReportResponse
      • SummaryStats
      • DailyStats
      • BrandStats
      • ProfileStats
      • ReportTaskItem
      • ReportSiteItem
      • CreateReportSiteRequest
      • GPTConfig
      • ResponseConfig
      • FieldConfig
      • ReportDomainsResponse
      • ReportDomainItem
      • AddReportDomainRequest
      • UpdateReportDomainRequest
      • BulkUpdateDashboardRequest
      • ProxyModel
      • CreateProxyRequest
      • UpdateProxyRequest
      • SMTPServerConfig
      • EmailTaskLog
      • GeoLocation
  • Traffic Tools V2 API
    • Tasks
      • Lọc và Truy vấn Nhật ký Phiên Duyệt lẻ
      • Get all tasks
      • Nạp Kết Quả Chạy của Puppeteer (Update Callback)
      • Xóa toàn bộ Tasks lẻ
      • Get all tasks
      • Xóa một Task (ID)
    • Group task
      • Đẩy nhóm công việc Traffic theo lô (Batch Pipeline Task Creation)
      • Lấy sơ đồ trạng thái hàng đợi Group Tasks
      • Endpoint /api/task-traffics/
      • Clear/Flush Hàng đợi Group Task (Kill Queue)
      • Endpoint /api/task-traffics/
      • Xóa 1 nhóm nhiệm vụ (Theo ObjectID Mongoose)
      • Parse chuỗi Proxy
    • Test
      • Kiểm tra Proxy hoạt động ngầm
      • Endpoint /api/test
      • Kho Fingerprint Thử Nghiệm
      • Endpoint /api/test/account-stats
      • Endpoint /api/test/session-recommendation
      • Endpoint /api/test/check-browser
      • Endpoint /api/test/clear-browser-sessions
    • Proxies
      • Lấy kho Proxy server
      • Khai báo Pool Tuyến Proxy mới
      • Get all proxies
      • Get all proxies
      • Xóa toàn bộ Proxy
      • Get all proxies
      • Xóa Proxy theo ID
      • Reset lại số đếm tiến trình (Cron Proxy Thread)
    • Report Platforms
      • Submit report to multiple platforms
      • Submit report to specific platform
      • Get available platforms
      • Get platform statistics
      • Health check
    • Reports
      • Create a new report
      • Create a new report
      • Get report by ID
      • Get report by ID
      • Get report statistics
      • Get report groups
      • Get report groups
      • Get report group
      • Add report to group
      • Bulk add reports to group
      • Get report group statistics
      • Get analytics data
      • Get platform success rates
      • Get reports by platform
      • Get reports by group
      • Create test reports in bulk
    • Test Report
      • Test Microsoft report submission
      • Test AdGuard report submission
      • Test Google Ads report submission
      • Test Spamhaus report submission
      • Test ESET report submission
      • Test multi-platform report submission
      • Get available platforms
    • ESET Test
      • Simple test
      • Minimal POST test
      • Generate ESET report content
      • Get sample test data
      • Test form filling
      • Test full form submission
    • Spamhaus Test
      • Simple test
      • Minimal POST test
      • Generate Spamhaus report content
      • Get sample test data
      • Test Spamhaus form filling
      • Test full Spamhaus form submission
    • Report Scheduler
      • Get report scheduler statistics
      • Process ad detection result
      • Submit a scheduled report
      • Start report scheduler
      • Stop report scheduler
      • Get scheduler status
      • Process scheduled reports
      • Test browser session (non-headless)
      • Test report submission (non-headless)
    • Comprehensive Analytics
      • Get comprehensive dashboard analytics
      • Get overview statistics
      • Get brand-wise statistics
      • Get daily statistics
      • Get platform success rates
      • Get account performance
      • Get summary report
    • Search
      • Ra lệnh Máy Lọc Dữ Liệu TOP SEO Hàng Loại (Scraper Engine)
      • Đếm tổng số dòng tìm kiếm (Length)
    • Report Tasks
      • Tạo chiến dịch Report (Auto Spawn 14 tasks)
      • Tạo chiến dịch Report Form hàng loạt (Bulk Abuse Report)
      • Create Direct Report (Từ API hệ thống thay vì Frontend)
      • Tạo Nhiệm Vụ Sinh Email Khiếu nại (Automated Bulk Mail Spam)
      • Worker Pull - Lấy task Báo cáo đang Pending
      • Worker Trả kết quả (Report Status)
      • Danh mục Platfoms & Providers
      • Dashboard Statistic Báo Cáo
      • Force Run Cronjob
    • Monitor
      • Xuất dữ liệu đo đếm Hardware (Telemetry OS Watchdog)
    • Schemas
      • CreateTask
      • UpdateTask
      • CreateTaskGroupRequest
      • CreateProxy
      • CreateSearch
      • ReportTaskCreation
      • CreateEmail
      • CreateMultipleSearchRequest
      • CreateMultipleReportRequest
      • UpdateReportStatusRequest
      • TestProxyRequest
  1. Architecture

Database Schema

Database Schema — Complete Reference#


Mục lục#

MongoDB (DB: tool-traffic-api — dùng bởi API Golang)#

1.
proxies
2.
tasks (API)
3.
profiles
4.
profile_sessions
5.
keywords
6.
keyword_results
7.
keyword_schedules
8.
task_logs
9.
proxy_packages
10.
proxy_providers
11.
proxy_ip_logs
12.
backup_proxies
13.
free_proxies
14.
coccoc_tokens

MongoDB (DB: traffic-tool — dùng bởi Tools V2)#

15.
task_groups
16.
tasks (Tools V2)
17.
proxies (Tools V2)
18.
search
19.
report_tasks

MySQL (DB: tool_traffic_api — dùng bởi API Golang)#

20.
users
21.
campaigns
22.
projects
23.
project_details
24.
project_settings
25.
servers
26.
server_hourly_reports
27.
activity_logs
28.
system_settings
29.
setup_fires

Sơ đồ quan hệ#

Enum & Hằng số#


MongoDB — DB: tool-traffic-api (API Golang)#


📦 Collection: proxies (API)#

Quản lý toàn bộ pool Proxy xoay vòng của hệ thống. Mỗi document là 1 Proxy đang hoạt động.
FieldKiểuRequiredDefaultMô tả
_idObjectID✅autoID Proxy
ipstring✅—IP nội bộ Proxy
portint✅—Port Proxy
usernamestring✅—Username xác thực
passwordstring✅—Password xác thực
ip_publicstring✅—IP Public thực tế
rotate_urlstring✅—URL API xoay IP (zingproxy, enode...)
rotate_timeint0Chu kỳ xoay (giây)
next_rotatedatetime—Thời điểm xoay tiếp theo
last_used_atdatetime—Lần sử dụng cuối
in_useint0Task đang dùng đồng thời
used_countint0Tổng số lần dùng
domain_usedarray[TaskUseProxy][]Log domain đã truy cập qua Proxy
domain_blocksarray[string][]Domain bị block với Proxy này
is_activebooltrueProxy đang hoạt động
is_rotatingboolfalseĐang trong quá trình xoay IP
is_captchaboolfalseGặp Captcha lần cuối
is_errorboolfalseĐang gặp lỗi
is_successboolfalseLần cuối thành công
error_countint0Số lỗi liên tiếp
disable_auto_rotateboolfalseTắt tự động xoay
auth_tokenstring?nullJWT Token nếu dùng Auth provider
areastring"global"Khu vực IP: global hoặc vn
regionstring""Vùng địa lý chi tiết
package_namestring?nullTên gói Proxy đã mua
proxy_package_idObjectID—FK → proxy_packages._id
proxy_pricefloat64?nullGiá Proxy
expired_atdatetime?nullNgày hết hạn gói
rotate_serverstring?nullServer xoay IP
created_byint0User ID người tạo
updated_byint0User ID người cập nhật
created_atdatetimeautoNgày tạo
updated_atdatetimeautoNgày cập nhật
Sub-document: TaskUseProxy (bên trong domain_used)
FieldKiểuMô tả
task_idstringID Task đã dùng Proxy
domainstringDomain đã truy cập
organic_engineint?Engine tìm kiếm (0=GoogleVN, 1=Google, 2=CocCoc)

📦 Collection: tasks (API)#

Task điều phối từ hệ thống Admin gửi xuống Workers.
FieldKiểuRequiredMô tả
_idObjectID✅MongoDB ID
project_idint✅FK → MySQL projects.id
proxy_urlstring✅Webhook lấy Proxy
webhook_urlstring✅Webhook nhận kết quả
result_statusint0=Unknown, 1=Success, -1=Error, -2=NotFound, -3=Captcha
result_status_tmpintTrạng thái tạm thời
result_errorstringThông báo lỗi
traffic_typeobject[TrafficType]✅Cấu hình luồng traffic
traffic_deviceint✅0=Desktop, 1=Mobile
device_osintOS thiết bị
statusint0=Pending, 1=Processing, 2=Completed
page_viewarray[PageView]Thời gian đọc trang
geolocationobject[GeoLocation]Tọa độ GPS
campaign_idintID chiến dịch
project_detail_idintID project detail
execution_timeintThời gian thực thi (ms)
markstring?Nhãn đánh dấu
profile_idstring?Profile Fingerprint ID
server_idint?ID Worker Server
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

📦 Collection: profiles#

Kho lưu trữ thông tin nhân vật (Persona Fingerprint) dùng để gửi report, click traffic.
FieldKiểuRequiredMô tả
_idObjectID✅MongoDB ID
profile_idstring✅Profile Business ID (e.g. UUID)
server_idstringID Server đang giữ Profile
proxy_idstringProxy ID gán cho Profile
used_forstringMục đích: report, traffic
namestring✅Tên đầy đủ của Persona
emailstring✅Email tài khoản Google
passwordstring✅Mật khẩu email
app_passwordstring?App Password Gmail (SMTP)
refresh_tokenstring?OAuth2 Refresh Token
client_idstring?OAuth2 Client ID
recovery_emailstringEmail khôi phục
is_activeboolCó đang hoạt động không
failed_login_attemptsintSố lần đăng nhập lỗi
last_failed_login_atdatetime?Lần đăng nhập lỗi cuối
last_used_atdatetime?Lần sử dụng cuối
cooldown_enddatetime?Kết thúc thời gian nghỉ ngơi
cooldown_untildatetime?Cooldown đến khi nào
cooldownintThời gian cooldown (phút)
server_regionstringVùng server
proxy_regionstringVùng proxy
profile_namestringTên hiển thị Profile
phonestringSố điện thoại
countrystringQuốc gia
timezonestringMúi giờ
device_typestringLoại thiết bị
browser_typestringLoại trình duyệt
operating_systemstringOS
screen_resolutionstringĐộ phân giải màn hình
user_agentstringUser-Agent HTTP Header
ip_addressstringIP đang gán
locationstringĐịa chỉ dạng text
latitudefloat64Vĩ độ GPS
longitudefloat64Kinh độ GPS
total_clicksintTổng số lần click
total_searchesintTổng số lần tìm kiếm
last_activitydatetime?Hoạt động cuối
profile_ageintTuổi Profile (ngày)
is_verifiedboolĐã xác minh chưa
is_blockedboolBị block chưa
block_reasonstring?Lý do bị block
notesstring?Ghi chú
deleted_atdatetime?Soft delete
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

📦 Collection: profile_sessions#

Phiên đăng nhập của Profile vào Google.
FieldKiểuMô tả
_idObjectIDID
profile_idObjectIDFK → profiles._id
session_idstringSession định danh
user_agentstringUser-Agent của phiên
ip_addressstringIP đang dùng
statusstringTrạng thái phiên
is_activeboolĐang hoạt động
is_validboolSession còn hợp lệ
created_atdatetimeNgày tạo
expires_atdatetimeNgày hết hạn
last_activitydatetimeHoạt động cuối

📦 Collection: keywords#

Từ khóa tìm kiếm được quản lý cho tính năng theo dõi thứ hạng SERP.
FieldKiểuRequiredMô tả
_idObjectID✅ID
keywordstring✅Chuỗi từ khóa
statusint0=Disable, 1=Enable
sortintĐộ ưu tiên sắp xếp
devicearray[int]Thiết bị cần quét: [0]=Desktop, [1]=Mobile
device_osmap[string][]intMap OS theo device
enginearray[int]Engine quét: 0=GoogleVN, 1=Google, 2=CocCoc
result_numintSố kết quả SERP cần cào
is_runningboolĐang chạy Cron
created_byintUser ID tạo
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

📦 Collection: keyword_results#

Lưu kết quả SERP cào được theo từng lần chạy.
FieldKiểuRequiredMô tả
_idObjectID✅ID
keywordstring✅Từ khóa
keyword_idstringFK string → keywords
keyword_schedule_idObjectIDFK → keyword_schedules._id
deviceint0=Desktop, 1=Mobile
device_osintOS
engineint0=GoogleVN, 1=Google, 2=CocCoc
result_numintSố kết quả đã cào
geolocationobjectTọa độ GPS
is_scan_domainboolCó quét domain không
search_dataobject[SearchData]Dữ liệu kết quả
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật
Sub-document: SearchData
FieldKiểuMô tả
adsarray[SearchResult]Kết quả Quảng cáo
searcharray[SearchResult]Kết quả tự nhiên
Sub-document: SearchResult
FieldKiểuMô tả
urlstringURL kết quả
rankintThứ hạng (1 = đầu tiên)
typestringcompany hoặc competitors
action_statusstringunknow, kill, killed
confirm_statusboolĐã xác nhận chưa
labelstringNhãn
created_atdatetimeNgày tạo entry này

📦 Collection: keyword_schedules#

Lịch quét SERP tự động theo từng từ khóa + Engine.
FieldKiểuMô tả
_idObjectIDID
keyword_idstringFK → keywords
engineintEngine quét (0/1/2)
scan_desktopintSố lần quét Desktop đã thực hiện
scan_mbintSố lần quét Mobile đã thực hiện
created_atdatetimeNgày tạo

📦 Collection: task_logs#

Log tóm tắt mỗi lượt Traffic thực thi.
FieldKiểuMô tả
_idObjectIDID
keywordstringTừ khóa đã dùng
user_agentstringUser-Agent Browser
linkstringURL đã truy cập
datedatetimeThời điểm ghi log

📦 Collection: proxy_packages#

Gói Proxy đã mua từ các nhà cung cấp (ZingProxy, Enode,...).
FieldKiểuMô tả
_idObjectIDID
codestringMã code gói
namestringTên gói
priceintGiá (VNĐ hoặc USD)
notestringGhi chú
proxy_provider_idObjectID?FK → proxy_providers._id
proxy_providerembed{id, name}Thông tin provider (denormalized)
activeboolGói đang kích hoạt
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

📦 Collection: proxy_providers#

Nhà cung cấp Proxy (ZingProxy, Enode, M2Proxy,...).
FieldKiểuMô tả
_idObjectIDID
namestringTên nhà cung cấp
accountstringTài khoản đăng nhập
domainstringDomain nhà cung cấp
activeboolĐang sử dụng
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

📦 Collection: proxy_ip_logs#

Lịch sử IP Public của mỗi Proxy sau mỗi lần xoay.
FieldKiểuMô tả
_idObjectIDID
proxy_idObjectID?FK → proxies._id
ipstringIP Public sau khi xoay
supplierstringTên nhà cung cấp proxy
regionstring?Vùng địa lý
totalintSố lần xoay ra IP này
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

📦 Collection: backup_proxies#

Kho Proxy dự phòng khi Proxy chính lỗi.
FieldKiểuMô tả
_idObjectIDID
hoststringIP Proxy
portintPort
usernamestringUsername
passwordstringPassword
typestringhttp, https, socks4, socks5
countrystringQuốc gia
regionstringVùng địa lý
ip_publicstringIP Public
is_workingboolCó hoạt động không
last_testeddatetimeLần kiểm tra cuối
success_countintSố lần thành công
failure_countintSố lần thất bại (≥3 → is_working=false)
sourcestringNguồn: GitHub repo URL, tên nhà cung cấp
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

📦 Collection: free_proxies#

Proxy miễn phí thu thập từ các nguồn công cộng (GitHub,...).
FieldKiểuMô tả
_idObjectIDID
hoststringIP Proxy
portintPort
usernamestringUsername (thường trống)
passwordstringPassword (thường trống)
typestringhttp, https, socks4, socks5
countrystringQuốc gia
regionstringVùng
is_workingboolĐang hoạt động
last_testeddatetimeLần test cuối
success_countintSố lần thành công
failure_countintSố lần thất bại (≥5 → is_working=false)
sourcestringNguồn GitHub URL
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

📦 Collection: coccoc_tokens#

Quản lý Token đăng nhập CocCoc cho tính năng click quảng cáo CocCoc Ads.
FieldKiểuMô tả
_idObjectIDID
tokenobject{cc_t, uid}Token CocCoc (cc_t + uid)
lockedObjectID?TaskID đang giữ lock (null = rảnh)
usedintSố lần dùng trong ngày (reset khi unlock)
success_countintSố lần thành công trong ngày
error_countintSố lần lỗi trong ngày
used_totalintTổng số lần dùng mọi thời điểm
first_used_atdatetime?Lần đầu sử dụng
last_used_atdatetime?Lần sử dụng cuối
unlock_atdatetime?Thời điểm tự động unlock
created_atdatetimeNgày tạo
updated_atdatetimeNgày cập nhật

MongoDB — DB: traffic-tool (Tools V2 / ElysiaJS)#


📦 Collection: task_groups (Tools V2)#

Nhóm Task được đẩy xuống từ API Admin tới Worker. Worker sẽ kéo từng group về để chạy.
FieldKiểuRequiredDefaultMô tả
_idstring (hex)✅autoID nhóm
proxy_webhookstring✅—URL API lấy Proxy assignment
statusint00=PENDING, 1=PROCESSING, 2=COMPLETED
proxyobject[Proxy]nullProxy đang dùng cho nhóm
proxy_idstringnullProxy ObjectId đã gán
user_agentstringnullUser-Agent Browser
geolocationobject{lat, lng}nullTọa độ GPS ghi đè
tasksarray[Task]✅—Mảng Task con (embed)
retries_totalint0Số lần đặt lại về PENDING
createdAtdatetimeautoNgày tạo
updatedAtdatetimeautoNgày cập nhật
Sub-document: Proxy bên trong task_groups
FieldKiểuMô tả
hoststringIP nội bộ Proxy
portintPort
usernamestring?Username
passwordstring?Password
typestring?http, https, socks4, socks5

📦 Collection: tasks (Tools V2)#

Chi tiết từng lượt chạy Traffic của Worker. Có thể embedded trong task_groups.tasks hoặc truy vấn độc lập.
FieldKiểuRequiredDefaultMô tả
_idstring (hex)✅autoDB ID
idstring✅—Business ID từ Admin (e.g. task-aituvi-1234)
project_idint✅—FK → MySQL projects.id
proxy_urlstring✅—Webhook lấy Proxy
webhook_urlstring✅—Webhook trả kết quả
call_webhook_countint0Số lần đã gọi webhook
page_viewarray[PageView]✅—Khoảng thời gian đọc trang
traffic_typeobject[TrafficType]✅—Config luồng traffic
traffic_deviceint✅—0=Desktop, 1=Mobile
device_osint?nullOS thiết bị
result_statusint00=Unknown, 1=Success, -1=Error, -2=NotFound, -3=Captcha
result_errorstringnullThông báo lỗi từ Worker
ip_publicstringnullIP thực tế khi chạy
rankintnullThứ hạng tìm thấy trên Google
execution_timeint0Thời gian thực thi (ms)
user_agentstringnullUser-Agent đã dùng
geolocationobject{lat, lng}nullTọa độ GPS
ads_relationsarray[AdsRelation][]Config click quảng cáo chéo
resolved_projectsarray[ResolvedProject]nullProject đã giải quyết
screenshot_urlstringnullURL ảnh chụp màn hình
screenshot_keystringnullStorage key ảnh chụp
profile_idstringnullProfile Fingerprint ID
retry_countint0Số lần retry
createdAtdatetimeauto—
updatedAtdatetimeauto—
Sub-document: TrafficType
FieldKiểuRequiredMô tả
methodint✅0=DIRECT, 1=ORGANIC
organic_engineint?0=Google.vn, 1=Google, 2=CocCoc
search_keywordstring?Từ khóa tìm kiếm
only_adsbool✅Chỉ click quảng cáo
is_killbool✅Click Fraud / giết ngân sách
linksarray[string]✅Danh sách URL đích
ads_relationsarray[AdsRelation]?Config click chéo quảng cáo
Sub-document: PageView
FieldKiểuMô tả
time_minintThời gian tối thiểu đọc trang (giây)
time_maxintThời gian tối đa đọc trang (giây)
Sub-document: AdsRelation
FieldKiểuMô tả
project_idintID Project partner
project_detail_idintID Project Detail
linkstringURL quảng cáo partner
Sub-document: ResolvedProject
FieldKiểuMô tả
is_parentboolLà project cha
project_idintID Project
project_detail_idintID Project Detail
linkstringURL

📦 Collection: proxies (Tools V2)#

Proxy pool cục bộ của Worker server, khác với proxies của API.
FieldKiểuRequiredDefaultMô tả
_idstring✅autoID
ipstring✅—IP Proxy
portint✅—Port
usernamestring—Username xác thực
passwordstring—Password xác thực
ip_publicstring✅—IP Public
webhook_urlstring✅—URL thông báo kết quả
rotate_urlstring✅—URL xoay Proxy
auth_tokenstring?nullJWT Token provider
statusint00=PENDING, 1=PROCESSING, 2=COMPLETED
in_useint0Số Task đang dùng
is_activebooltrueĐang hoạt động
is_errorboolfalseĐang lỗi
is_successboolfalseLần cuối thành công
is_captchaboolfalseGặp Captcha
error_countint0Số lỗi liên tiếp
used_countint0Tổng số lần dùng
call_webhook_countint0Số lần gọi webhook
retry_countint0Số lần retry
disable_auto_rotateboolfalseTắt tự động xoay
last_used_atdatetime?nullLần dùng cuối
expired_atdatetime?nullNgày hết hạn
areastring""Khu vực
regionstring""Vùng địa lý
package_namestring""Tên gói
proxy_pricefloat0Giá Proxy
domain_usedarraynullDomain đã dùng
domain_blocksarray[string][]Domain bị block
status_codeint?—HTTP status code
responsestring?—HTTP Response
created_atdatetimeautoNgày tạo
updated_atdatetimeautoNgày cập nhật

📦 Collection: search#

Task cào kết quả SERP tự động (SEO Tool).
FieldKiểuRequiredDefaultMô tả
_idstring✅autoID
keywordstring✅—Từ khóa tìm kiếm
engineint✅—0=Google.vn, 1=Google, 2=CocCoc
deviceint✅—0=Desktop, 1=Mobile
device_osint?nullOS
result_numint✅—Số kết quả SERP cào
web_hook_urlstring✅—Webhook nhận kết quả SERP
web_hook_sentint0Đã gửi Webhook (0=chưa, 1=đã gửi)
proxy_urlstring✅—Webhook lấy Proxy
statusint00=PENDING, 1=RUNNING, 2=COMPLETED
search_dataobject[SearchData]nullKết quả SERP
proxyobjectnullProxy đã dùng
geolocationobject{lat, lng}nullTọa độ GPS
createdAtdatetimeauto—
updatedAtdatetimeauto—
Sub-document: SearchData
FieldKiểuMô tả
adsarray[{url, rank}]Quảng cáo tìm thấy
searcharray[{url, rank}]Kết quả tự nhiên

📦 Collection: report_tasks#

Mỗi document là 1 yêu cầu báo cáo domain lên 1 tổ chức bảo mật cụ thể.
FieldKiểuRequiredDefaultMô tả
_idstring✅autoID
domainstring✅—Domain cần báo cáo
keywordstring✅—Từ khóa liên quan
platformstring✅—Tên tổ chức nhận báo cáo
report_typestring✅—BROWSER_BASED hoặc EMAIL_BASED
platform_urlstringnullURL form báo cáo
statusstring✅PENDINGPENDING, IN_PROGRESS, COMPLETED, FAILED, CANCELLED
priorityint1Ưu tiên (1-10, cao = chạy trước)
report_domain_idstringnullLiên kết domain trong API
domain_typestringnormalnormal hoặc google_ads
profile_countrystringVietnamQuốc gia của Profile
proxy_urlstring?nullWebhook lấy Proxy
profile_urlstring?nullWebhook lấy Profile
assigned_account_idstring?nullGoogle Account ID đã gán
assigned_proxy_idstring?nullProxy ObjectId đã gán
assigned_profile_idstring?nullProfile ID đã gán
report_datestring✅—Ngày báo cáo YYYY-MM-DD
unique_keystring✅ unique—Khoá duy nhất chống trùng
scheduled_fordatetime✅—Thời điểm lên lịch chạy
retry_countint0Số lần retry hiện tại
max_retriesint3Giới hạn retry
started_atdatetime?nullThời điểm bắt đầu
completed_atdatetime?nullThời điểm hoàn thành
execution_timeint?nullThời gian thực thi (ms)
resultobject[ReportTaskResult]nullKết quả chi tiết
errorstring?nullThông báo lỗi
proxy_snapshotobject[ProxySnapshot]nullProxy snapshot lúc tạo
use_proxy_snapshotbooltrueDùng snapshot thay live proxy
fallback_proxy_idstring?nullProxy dự phòng
callback_sentboolfalseĐã gọi callback về API chưa
callback_sent_atdatetime?nullThời điểm gọi callback
callback_responsestring?nullResponse API callback
callback_retry_countint0Số lần retry callback
webhook_urlstring?nullWebhook nhận kết quả
api_task_idstring?nullTask ID gốc từ API
platform_typestring?nullbrowser, email
serverstring?nullServer đang thực thi
gpt_raw_promptstring?nullRaw GPT prompt (debug)
image_urlsarray[string][]Hình ảnh bằng chứng
video_urlsarray[string][]Video bằng chứng
createdAtdatetimeauto—
updatedAtdatetimeauto—
Sub-document: ReportTaskResult
FieldKiểuMô tả
successboolThành công hay không
messagestringThông điệp kết quả
reportIdstring?ID báo cáo từ platform
platformstringTên platform
reportTypestringBROWSER_BASED / EMAIL_BASED
submittedAtdatetimeThời điểm submit
urlstringURL đã submit
errorstring?Lỗi nếu có
responseTimeint?Thời gian phản hồi (ms)
executionTimeint?Thời gian thực thi (ms)
screenshotUrlstring?URL ảnh chụp màn hình
screenshotKeystring?Storage key
emailRecipientsarray[string]?Danh sách email đã gửi
emailSuccessCountint?Số email gửi thành công
emailFailureCountint?Số email gửi thất bại
emailResultsarray[{recipient, success, messageId?, error?}]?Chi tiết từng email
aiMetadataobject[AIGenerationMetadata]?Metadata GPT
profileEmailstring?Email Profile đã dùng

MySQL — DB: tool_traffic_api (API Golang)#


🗃️ Table: users#

ColumnKiểu SQLRequiredDefaultMô tả
idint AUTO_INCREMENT PK✅—User ID
namevarchar(255) NOT NULL✅—Họ tên đầy đủ
emailvarchar(255) UNIQUE NOT NULL✅—Email đăng nhập
passwordvarchar(255) NOT NULL✅—Hash bcrypt
first_namevarchar(255)—Tên
last_namevarchar(255)—Họ
secret_keyvarchar(255)—Secret key TOTP cho 2FA
two_factortinyint(1)0Bật 2FA
roleint10=Admin, 1=User
last_active_atdatetimeautoHoạt động cuối
device_tokenvarchar(255)—Token thiết bị đang đăng nhập
is_logged_intinyint(1)0Trạng thái đăng nhập hiện tại
created_atdatetimeauto—
updated_atdatetimeauto—
deleted_atdatetimenullSoft delete GORM

🗃️ Table: campaigns#

ColumnKiểu SQLRequiredMô tả
idint AUTO_INCREMENT PK✅ID
namevarchar(255) NOT NULL✅Tên chiến dịch
descriptionvarchar(255)Mô tả
user_idint FK→users.id✅Chủ chiến dịch
configsjsonConfig: { active, max, percent }
created_atdatetime—
updated_atdatetime—
JSON column configs:
{ "active": true, "max": 100, "percent": 80 }

🗃️ Table: projects#

Bảng trung tâm nhất của MySQL, lưu mỗi Domain target cần boost traffic.
ColumnKiểu SQLRequiredDefaultMô tả
idint AUTO_INCREMENT PK✅—ID
namevarchar(255) NOT NULL✅—Tên dự án
campaign_idint FK→campaigns.id✅—Thuộc chiến dịch nào
user_idint FK→users.id✅—Chủ sở hữu
statusint CHECK IN(0,1)✅10=Inactive, 1=Active
total_processint✅1Số lượt chạy mỗi ngày
traffic_typeint✅10=Direct, 1=Organic
traffic_deviceint✅10=Desktop, 1=Mobile
traffic_device_osint✅0OS thiết bị
organic_engineint?null0=Google.vn, 1=Google, 2=CocCoc
search_keywordvarchar(255)?nullTừ khóa tìm kiếm
keyword_idvarchar(255)—ID từ khóa quản lý
sortint1Thứ tự ưu tiên chạy
linksjson✅—Mảng URL đích
only_adstinyint(1)✅0Chỉ click Quảng Cáo
is_killtinyint(1)✅0Click Fraud
attributejson✅—time_frame[] + time_on_page[]
stateint CHECK IN(0,1,2)10=Unknown, 1=Kill, 2=Dead
state_timedatetime?nullThời điểm chuyển state
dead_timejson—Khung giờ dừng chạy
geolocationjson—{ lat, lng }
is_traffic_fixedtinyint(1)0Traffic cố định
testableint0Chế độ test
created_atdatetimeauto—
updated_atdatetimeauto—
Cấu trúc JSON attribute:
{
  "time_frame": [{ "time_start": "08:00", "time_end": "12:00", "process": 10 }],
  "time_on_page": [{ "time_min": 30, "time_max": 120 }]
}

🗃️ Table: project_details#

Thống kê lượt chạy traffic thực tế từng giờ của mỗi Project.
ColumnKiểu SQLRequiredDefaultMô tả
idint AUTO_INCREMENT PK✅—ID
project_idint FK→projects.id✅—Thuộc Project
total_processint0Tổng số lượt gửi
total_successint0Số lượt thành công
total_failint0Số lượt thất bại
hourint✅0Giờ (0–23)
datevarchar(10) NOT NULL✅—Ngày (YYYY-MM-DD)
rankint?nullThứ hạng Google trong giờ này
total_tmpint?nullSố lượt tạm (trung gian)

🗃️ Table: project_settings#

Cấu hình mapping giữa Project — Proxy — Server.
ColumnKiểu SQLRequiredMô tả
idint AUTO_INCREMENT PK✅ID
project_idint✅FK → projects.id
proxy_idint✅Proxy phân công
server_idint✅Worker Server phân công
created_atdatetime—
updated_atdatetime—
deleted_atdatetimeSoft delete

🗃️ Table: servers#

Đăng ký các Worker Server vào hệ thống quản lý.
ColumnKiểu SQLRequiredDefaultMô tả
idint AUTO_INCREMENT PK✅—ID
namevarchar(255) NOT NULL✅—Tên Worker Server
ipvarchar(255) NOT NULL✅—IP Server (dùng để gọi webhook)
is_activetinyint(1)0Đang online
limit_processint0Giới hạn Task chạy đồng thời
current_processint0Số Task đang chạy hiện tại
created_atdatetimeauto—
updated_atdatetimeauto—
deleted_atdatetimenullSoft delete

🗃️ Table: server_hourly_reports#

Thống kê kết quả Traffic từng giờ theo Server.
ColumnKiểu SQLRequiredDefaultMô tả
idint AUTO_INCREMENT PK✅—ID
server_idint? FK→servers.idnullServer (null = tổng hợp)
report_datedate NOT NULL✅—Ngày báo cáo
hour_starttinyint NOT NULL✅—Giờ (0–23)
processint0Tổng lượt xử lý
successint0Thành công
failint0Thất bại
waitingint0Đang chờ
captchaint0Gặp CAPTCHA
errorint0Lỗi kỹ thuật
notfoundint0Không tìm thấy URL
unknownint0Kết quả chưa xác định
r_successint0Thành công (Report task)
r_failint0Thất bại (Report task)
r_captchaint0CAPTCHA (Report task)
r_errorint0Lỗi (Report task)
r_notfoundint0Không tìm thấy (Report task)
r_unknownint0Chưa xác định (Report task)
total_taskint0Tổng task trong giờ
created_atdatetimeauto—
updated_atdatetimeauto—

🗃️ Table: activity_logs#

Audit log mọi thao tác CRUD của user trong hệ thống.
ColumnKiểu SQLRequiredMô tả
idint AUTO_INCREMENT PK✅ID
user_idint? FK→users.idNgười thực hiện
actionvarchar(255) NOT NULL✅Loại thao tác (tạo/sửa/xóa)
parameterjson?Tham số đầu vào
model_namevarchar(255) NOT NULL✅Tên entity bị tác động
model_idint NOT NULL✅ID của entity bị tác động
old_valuejson?Giá trị trước khi thay đổi
new_valuejson?Giá trị sau khi thay đổi
ip_addressvarchar(255)IP của user
user_agentvarchar(255)Browser User-Agent
created_atdatetime—
updated_atdatetime—

🗃️ Table: system_settings#

Key-Value store cho cài đặt hệ thống động.
ColumnKiểu SQLRequiredMô tả
idint AUTO_INCREMENT PK✅ID
keyvarchar(255) UNIQUE NOT NULL✅Tên cài đặt
valuetext NOT NULL✅Giá trị
created_atdatetime—
updated_atdatetime—
deleted_atdatetimeSoft delete
Keys được định nghĩa sẵn:
KeyMô tả
telegram_notification_enabledBật/tắt thông báo Telegram

🗃️ Table: setup_fires#

Cấu hình chiến dịch "fire" — bắn traffic vào chiến dịch Google Ads hoặc CocCoc Ads cụ thể.
ColumnKiểu SQLRequiredMô tả
idint AUTO_INCREMENT PK✅ID
campaign_gg_idint✅ID chiến dịch Google Ads
campaign_cc_idint✅ID chiến dịch CocCoc Ads
created_atdatetime—
updated_atdatetime—

Sơ đồ quan hệ#

MySQL (tool_traffic_api)                    MongoDB (tool-traffic-api)
══════════════════════                     ══════════════════════════
users ◄──── campaigns ◄──── projects       proxies ◄── proxy_packages
              │                │                         └── proxy_providers
              │                │            profiles ◄── profile_sessions
              │                ├──► project_details
              │                └──► project_settings──►servers     keyword_results
              │                                           ↑             │
              └──────────────── server_hourly_reports     │        keyword_schedules
users ◄── activity_logs                              task_logs    keywords
system_settings (key-value)                          tasks (API)
setup_fires                                          coccoc_tokens
                                                     proxy_ip_logs
                                                     backup_proxies
                                                     free_proxies

MongoDB (traffic-tool — Tools V2)
══════════════════════════════
task_groups ──► tasks[] (embed)
proxies (pool riêng)
search
report_tasks

Cross-DB Links:
projects.id ←→ tasks.project_id (Tools V2)
projects.id ←→ task_groups.tasks[].project_id

Enum & Hằng số#

EnumGiá trịMô tả
Traffic Method0 = Direct, 1 = OrganicCách tiếp cận domain
Traffic Engine0 = Google.vn, 1 = Google, 2 = CocCocCông cụ tìm kiếm
Traffic Device0 = Desktop, 1 = MobileLoại thiết bị
Desktop OS0 = Windows, 1 = MacOSOS Desktop
Mobile OS0 = Android, 1 = iPhoneOS Mobile
Task Status0 = Pending, 1 = Processing, 2 = CompletedTrạng thái Task
Task Result0 = Unknown, 1 = Success, -1 = Error, -2 = NotFound, -3 = CaptchaKết quả Task
Report StatusPENDING, IN_PROGRESS, COMPLETED, FAILED, CANCELLEDTrạng thái Report Task
Report TypeBROWSER_BASED, EMAIL_BASEDCách thức báo cáo
User Role0 = Admin, 1 = UserPhân quyền
Project State0 = Unknown, 1 = Kill, 2 = DeadTình trạng Project
Proxy Areaglobal, vnKhu vực Proxy
Domain Typecompany, competitorsLoại domain trong SERP
Action Statusunknow, kill, killedTrạng thái SERP action
Search Status0 = PENDING, 1 = RUNNING, 2 = COMPLETEDTrạng thái Search Task

Modified at 2026-03-25 07:00:26
Previous
7. Quản lý tài khoản Google (Google Account Management)
Next
System Architecture
Built with