*/ public static function all(): array { return [ [ 'scenario' => 'admin_payment_received', 'name' => '[Admin] Khách hàng thanh toán', 'subject' => '[ADMIN] Khách hàng thanh toán {{payment_type}} #{{reference}}', 'body' => T::title('Khách hàng vừa thanh toán') . T::paragraph('Hệ thống {{company_name}} vừa ghi nhận một khoản thanh toán mới.') . T::infoTable([ 'Loại thanh toán' => '{{payment_type}}', 'Mã tham chiếu' => '#{{reference}}', 'Số hóa đơn' => '{{invoice_number}}', 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', 'Số tiền vừa trả' => '{{amount_formatted}}', 'Còn thiếu' => '{{outstanding_formatted}}', 'Trạng thái' => '{{payment_status}}', 'Thời gian' => '{{created_at}}', ]), ], [ 'scenario' => 'admin_service_renewed', 'name' => '[Admin] Dịch vụ được gia hạn', 'subject' => '[ADMIN] {{admin_name}} gia hạn dịch vụ {{product_name}} — {{customer_email}}', 'body' => T::title('Dịch vụ vừa được gia hạn') . T::paragraph('Nhân viên {{admin_name}} vừa gia hạn dịch vụ cho khách hàng.') . T::infoTable([ 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', 'Dịch vụ' => '{{product_name}}{{server_name_suffix}}', 'Thời gian gia hạn' => '{{months_label}}', 'Hạn sử dụng trước' => '{{old_expires_at}}', 'Hạn sử dụng mới' => '{{expires_at}}', 'Hoá đơn' => '{{invoice_number}}', 'Số tiền' => '{{amount_formatted}}', 'Thanh toán' => '{{payment_method_label}}', ]), ], [ 'scenario' => 'admin_order_notification', 'name' => '[Admin] Đơn hàng mới', 'subject' => '[ADMIN] Đơn hàng mới #{{order_num}} — {{customer_email}}', 'body' => T::title('Đơn hàng mới') . T::paragraph('Có đơn hàng mới vừa được đặt trên hệ thống {{company_name}}.') . T::heading('Thông tin khách hàng') . T::infoTable([ 'Mã đơn hàng' => '#{{order_num}}', 'Thời gian' => '{{created_at}}', 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', ], '{{client_ip_row}}') . T::heading('Thông tin sản phẩm') . T::infoTable([ 'Sản phẩm' => '{{product_name}}', 'Loại' => '{{product_type}}', 'Chu kỳ thanh toán' => '{{billing_cycle}}', 'Tổng tiền' => '{{total_formatted}}', ]) . '{{vm_block}}', ], [ 'scenario' => 'admin_domain_order_new', 'name' => '[Admin] Đơn đăng ký tên miền mới', 'subject' => '[ADMIN] Đơn đăng ký tên miền mới - {{domain_name}}', 'body' => T::title('Đơn đăng ký tên miền mới') . T::paragraph('Có đơn đăng ký tên miền mới trên hệ thống {{company_name}}, cần kiểm tra và đăng ký thủ công.') . T::infoTable([ 'Tên miền' => '{{domain_name}}', 'Mã đơn hàng' => '{{order_num}}', 'Tổng tiền' => '{{order_total}}', 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', 'Thời gian' => '{{created_at}}', ]) . T::button('{{admin_url}}', 'XEM ĐƠN HÀNG'), ], [ 'scenario' => 'admin_hosting_account_created', 'name' => '[Admin] Hosting account mới', 'subject' => '[ADMIN] Hosting account mới — {{domain_name}}', 'body' => T::title('Hosting account mới') . T::paragraph('Hệ thống {{company_name}} vừa khởi tạo hosting cho khách hàng.') . T::heading('Thông tin dịch vụ') . T::infoTable([ 'Tên miền' => '{{domain_name}}', 'Gói hosting' => '{{hosting_plan}}', 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', 'Thời gian' => '{{created_at}}', ]) . T::heading('Máy chủ Plesk') . T::infoTable([ 'Máy chủ' => '{{server_name}}', 'IP' => '{{server_ip}}', 'Client ID' => '{{plesk_client_id}}', 'Subscription ID' => '{{plesk_subscription_id}}', ]) . T::heading('Thông tin truy cập') . T::infoTable( ['FTP Username' => '{{ftp_username}}'], '{{ftp_password_row}}' . T::row('Plesk Panel', '{{plesk_panel_url}}') . T::row('Plesk Login', '{{plesk_login}}') . '{{plesk_password_row}}', ), ], [ 'scenario' => 'admin_trial_registration_request', 'name' => '[Admin] Yêu cầu dùng thử VPS', 'subject' => '[ADMIN] Yêu cầu dùng thử Cloud VPS - {{customer_name}}', 'body' => T::title('Yêu cầu dùng thử Cloud VPS') . T::paragraph('Có khách hàng vừa gửi yêu cầu dùng thử Cloud VPS trên hệ thống {{company_name}}.') . T::heading('Thông tin khách hàng') . T::infoTable([ 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', 'Số điện thoại' => '{{customer_phone}}', 'Thời gian' => '{{created_at}}', ]) . T::heading('Cấu hình yêu cầu') . T::infoTable([ 'CPU' => '{{cpu}}', 'RAM' => '{{ram}}', 'SSD' => '{{ssd}}', 'Hệ điều hành' => '{{os}}', ], '{{other_row}}'), ], [ 'scenario' => 'admin_manual_deposit_pending', 'name' => '[Admin] Yêu cầu nạp tiền chờ duyệt', 'subject' => '[ADMIN] Yêu cầu nạp tiền chờ duyệt - {{transaction_code}}', 'body' => T::title('Yêu cầu nạp tiền chờ duyệt') . T::paragraph('Có yêu cầu nạp tiền thủ công mới trên hệ thống {{company_name}}, vui lòng kiểm tra chứng từ và duyệt trong trang quản trị.') . T::infoTable([ 'Mã giao dịch' => '{{transaction_code}}', 'Số tiền' => '{{amount_formatted}}', 'Thời gian' => '{{created_at}}', 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', ], '{{customer_phone_row}}{{client_ip_row}}{{proof_row}}'), ], [ 'scenario' => 'admin_ticket_notification', 'name' => '[Admin] Ticket hỗ trợ mới', 'subject' => '[ADMIN] Ticket mới #{{ticket_num}} — {{customer_email}}', 'body' => T::title('Ticket hỗ trợ mới') . T::infoTable([ 'Mã ticket' => '#{{ticket_num}}', 'Tiêu đề' => '{{subject_text}}', 'Phòng ban' => '{{room}}', 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', ]) . T::note('{{description}}', 'Nội dung:') . T::button('{{ticket_url}}', 'XEM TICKET'), ], [ 'scenario' => 'admin_customer_service_renewed', 'name' => '[Admin] Khách hàng gia hạn dịch vụ', 'subject' => '[ADMIN] {{customer_name}} gia hạn dịch vụ {{product_name}}', 'body' => T::title('Khách hàng vừa gia hạn dịch vụ') . T::paragraph('Một dịch vụ trên hệ thống {{company_name}} vừa được gia hạn thành công.') . T::infoTable([ 'Hình thức' => '{{renewal_source_label}}', 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', 'Dịch vụ' => '{{product_name}}{{server_name_suffix}}', 'Thời gian gia hạn' => '{{months_label}}', 'Hạn sử dụng trước' => '{{old_expires_at}}', 'Hạn sử dụng mới' => '{{expires_at}}', 'Hoá đơn' => '{{invoice_number}}', 'Số tiền' => '{{amount_formatted}}', 'Thanh toán' => '{{payment_method_label}}', ]) . T::button('{{admin_url}}', 'XEM DỊCH VỤ'), ], [ 'scenario' => 'admin_service_cancellation_request', 'name' => '[Admin] Khách yêu cầu hủy dịch vụ', 'subject' => '[ADMIN] {{customer_name}} yêu cầu hủy dịch vụ {{product_name}}', 'body' => T::title('Khách hàng yêu cầu hủy dịch vụ') . T::paragraph('Khách hàng vừa gửi yêu cầu hủy dịch vụ trên hệ thống {{company_name}}. Dịch vụ chưa bị hủy, cần nhân viên liên hệ và xử lý.') . T::infoTable([ 'Khách hàng' => '{{customer_name}}', 'Email' => '{{customer_email}}', 'Dịch vụ' => '{{product_name}}', 'Tên dịch vụ' => '{{server_name}}', 'Ngày hết hạn' => '{{expires_at}}', 'Lý do hủy' => '{{cancel_reason}}', 'Thời gian' => '{{created_at}}', 'Địa chỉ IP' => '{{client_ip}}', ]) . T::button('{{admin_url}}', 'XEM DỊCH VỤ'), ], [ 'scenario' => 'admin_login_alert', 'name' => '[Admin] Có người đăng nhập trang quản trị', 'subject' => '[ADMIN] {{admin_username}} đăng nhập trang quản trị từ IP {{client_ip}}', 'body' => T::title('Có người vừa đăng nhập trang quản trị') . T::paragraph('Tài khoản quản trị trên hệ thống {{company_name}} vừa đăng nhập thành công.') . T::infoTable([ 'Nhân viên' => '{{admin_name}}', 'Tài khoản' => '{{admin_username}}', 'Thời gian' => '{{login_time}}', 'Địa chỉ IP' => '{{client_ip}}', 'Trình duyệt' => '{{user_agent}}', ]) . T::note('Nếu đây không phải nhân sự của công ty, hãy đổi mật khẩu tài khoản này và khoá tài khoản ngay trong mục Nhân sự.', 'Lưu ý:'), ], ]; } }