diff --git a/backend/app/Models/DriverOcrData.php b/backend/app/Models/DriverOcrData.php index d129e5f..3e72bf1 100644 --- a/backend/app/Models/DriverOcrData.php +++ b/backend/app/Models/DriverOcrData.php @@ -130,6 +130,7 @@ class DriverOcrData extends BaseModel `vehicle_license_back_ocr` TEXT DEFAULT NULL, `criminal_record_url` VARCHAR(512) DEFAULT NULL, `status` VARCHAR(50) NOT NULL DEFAULT 'pending', + `syro_driver_id` VARCHAR(100) DEFAULT NULL, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, UNIQUE KEY `unique_company_driver_phone` (`company_id`, `phone_hash`), diff --git a/backend/migrate_telegram_sessions.php b/backend/migrate_telegram_sessions.php new file mode 100644 index 0000000..a820e49 --- /dev/null +++ b/backend/migrate_telegram_sessions.php @@ -0,0 +1 @@ +[{"/app/bootstrap.php":"use AppCoreDatabase;\n\ntry {\n $pdo = Database::getConnection();\n\n echo","Migrations":"Telegram Bot Integration ===","\n CREATE TABLE IF NOT EXISTS `telegram_sessions` (\n `id` INT AUTO_INCREMENT PRIMARY KEY,\n `company_id` INT NOT NULL,\n `name` VARCHAR(255) NOT NULL COMMENT 'e.g., Support Bot, Sales Bot',\n `bot_token` TEXT NOT NULL COMMENT 'Encrypted using AES-256-GCM',\n `bot_username` VARCHAR(255) DEFAULT NULL,\n `bot_id` BIGINT DEFAULT NULL COMMENT 'Telegram Bot ID from getMe',\n `webhook_url` TEXT DEFAULT NULL,\n `status` ENUM('connected', 'disconnected', 'error') DEFAULT 'disconnected',\n `allowed_updates` JSON DEFAULT NULL COMMENT 'Array of update types to receive',\n `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n FOREIGN KEY (`company_id`) REFERENCES `companies`(`id`) ON DELETE CASCADE,\n UNIQUE KEY `company_bot_unique` (`company_id`, `bot_username`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;":"Database::execute($createSessionsTableSql);\n echo","telegram_sessions":"erified/created.","Database":"select(","telegram_session_id":"if (empty($columns)) {\n Database::execute(","meta_session_id`":"Database::execute(","✅ Added 'telegram_session_id' column and foreign key constraint to 'messages_log'.":""},{"ℹ️ Column 'telegram_session_id' already exists in 'messages_log'. Skipping.":""},{"Database":"execute(","session_id`":"Database::execute(","✅ Added 'telegram_session_id' column to 'chatbot_rules'.":""},{"ℹ️ Column 'telegram_session_id' already exists in 'chatbot_rules'. Skipping.":""},{"Database":"execute(","company_id`":"Database::execute(","✅ Added 'telegram_session_id' column to 'conversation_states'.":""},{"ℹ️ Column 'telegram_session_id' already exists in 'conversation_states'. Skipping.":""},{"Database":"execute(","✅ Added 'telegram_requests' column to 'company_subscription_usage'.":""},{"ℹ️ Column 'telegram_requests' already exists in 'company_subscription_usage'. Skipping.":""},{"❌ Migration error: \" . $e->getMessage() . \"":""}] \ No newline at end of file diff --git a/backend/public/landing.html b/backend/public/landing.html index fb27671..f51e622 100644 --- a/backend/public/landing.html +++ b/backend/public/landing.html @@ -23,6 +23,7 @@ --success: #34a853; /* Google Green */ --warning: #fbbc05; /* Google Yellow */ --danger: #ea4335; /* Google Red */ + --telegram: #229ED9; /* Telegram Blue */ --text-main: #202124; --text-muted: #5f6368; @@ -200,6 +201,29 @@ display: block; } + /* Channel Pills */ + .channel-pills { + display: flex; + flex-wrap: wrap; + gap: 0.5rem; + margin-top: 1rem; + margin-bottom: 1.5rem; + } + .channel-pill { + display: inline-flex; + align-items: center; + gap: 0.4rem; + padding: 0.35rem 0.85rem; + border-radius: 999px; + background: #f1f3f4; + color: var(--text-muted); + font-size: 0.8rem; + font-weight: 700; + } + .channel-pill.telegram { background: rgba(34, 158, 217, 0.1); color: var(--telegram); } + .channel-pill.whatsapp { background: rgba(52, 168, 83, 0.1); color: var(--success); } + .channel-pill.meta { background: rgba(26, 115, 232, 0.1); color: var(--primary); } + /* Features Section */ .features { padding: 5rem 0; @@ -253,8 +277,9 @@ .feature-card:nth-child(2) .feature-icon { background: rgba(52, 168, 83, 0.1); color: var(--success); } .feature-card:nth-child(3) .feature-icon { background: rgba(251, 188, 5, 0.1); color: var(--warning); } .feature-card:nth-child(4) .feature-icon { background: rgba(234, 67, 53, 0.1); color: var(--danger); } - .feature-card:nth-child(5) .feature-icon { background: rgba(26, 115, 232, 0.1); color: var(--primary); } - .feature-card:nth-child(6) .feature-icon { background: rgba(52, 168, 83, 0.1); color: var(--success); } + .feature-card:nth-child(5) .feature-icon { background: rgba(34, 158, 217, 0.1); color: var(--telegram); } + .feature-card:nth-child(6) .feature-icon { background: rgba(26, 115, 232, 0.1); color: var(--primary); } + .feature-card:nth-child(7) .feature-icon { background: rgba(52, 168, 83, 0.1); color: var(--success); } .feature-card h3 { font-size: 1.25rem; @@ -597,7 +622,13 @@
منصة نبيه تمنحك إمكانية ربط قنوات الاتصال والواتساب وتشغيل مساعد ذكي مدعوم بـ AI يقوم بقراءة الرسائل والصور والإجابة على العملاء فورياً لزيادة مبيعات متجرك وتفعيل أتمتة الدعم والعمليات بمعدل 5 أضعاف.
+منصة نبيه تمنحك إمكانية ربط قنوات الاتصال (واتساب، تيليجرام، ماسنجر، إنستغرام) وتشغيل مساعد ذكي مدعوم بـ AI يقوم بقراءة الرسائل والصور والإجابة على العملاء فورياً لزيادة مبيعات متجرك وتفعيل أتمتة الدعم والعمليات بمعدل 5 أضعاف.
+الربط المباشر مع سلة (Salla) و WooCommerce لإرسال تحديثات حالة الطلب تلقائياً وتذكير العملاء بالسلات المتروكة.
ربط بوتات التيليجرام مع المنصة لإدارة المحادثات الخاصة والمجموعات والقنوات، وتشغيل الردود التلقائية وأتمتة الدعم عبر Telegram Bot API.
+أتمتة المحادثات والرد التلقائي وإدارة مجموعات وقنوات التيليجرام بمساعد الذكاء الاصطناعي مباشرة.
+أتمتة المحادثات والرد التلقائي وإدارة مجموعات وقنوات التيليجرام بمساعد الذكاء الاصطناعي مباشرة. متاح للربط في جميع الباقات المدفوعة.