CREATE TABLE IF NOT EXISTS `crm_auditoria_pagos` (`id` int(11) NOT NULL AUTO_INCREMENT, `fecha` datetime DEFAULT current_timestamp(), `origen` varchar(50) DEFAULT 'CRM_TELEGRAM', `estado` varchar(50) DEFAULT NULL, `cedula` varchar(20) DEFAULT NULL, `cliente` varchar(150) DEFAULT NULL, `id_cliente` varchar(50) DEFAULT NULL, `referencia` varchar(100) DEFAULT NULL, `monto` decimal(10,2) DEFAULT NULL, `banco` varchar(100) DEFAULT 'N/A', `tipo_operacion` varchar(100) DEFAULT 'N/A', `detalle` text DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `crm_bot_cache` (`hash_id` varchar(32) NOT NULL, `respuesta_ia` text DEFAULT NULL, `creado_en` timestamp NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`hash_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `crm_bot_flujos` (`id` int(11) NOT NULL AUTO_INCREMENT, `nombre` varchar(100) NOT NULL, `datos_json` longtext DEFAULT NULL, `is_active` tinyint(1) DEFAULT 0, `creado_en` timestamp NOT NULL DEFAULT current_timestamp(), `actualizado_en` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `crm_conexiones` (`id` int(11) NOT NULL AUTO_INCREMENT, `nombre` varchar(100) NOT NULL, `tipo` varchar(50) NOT NULL, `telefono` varchar(100) DEFAULT NULL, `url_api` varchar(255) NOT NULL, `token` text NOT NULL, `identificador` varchar(100) NOT NULL, `estado` varchar(20) DEFAULT 'conectado', `is_default` tinyint(1) DEFAULT 0, `creado_en` timestamp NOT NULL DEFAULT current_timestamp(), `waba_id` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `crm_configuraciones` (`id` int(11) NOT NULL AUTO_INCREMENT, `modulo` varchar(50) NOT NULL, `llave` varchar(100) NOT NULL, `valor` text NOT NULL, `descripcion` varchar(255) DEFAULT NULL, `actualizado_en` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `llave` (`llave`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `crm_logs` (`id` int(11) NOT NULL AUTO_INCREMENT, `origen` varchar(50) DEFAULT NULL, `nivel` enum('INFO','WARNING','ERROR') DEFAULT 'INFO', `sesion_id` varchar(100) DEFAULT NULL, `detalle` text DEFAULT NULL, `creado_en` datetime DEFAULT current_timestamp(), PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `crm_sesiones` (`id` varchar(100) NOT NULL, `canal` enum('telegram','whatsapp','web') NOT NULL, `chat_id` varchar(50) NOT NULL, `cliente_id` int(11) DEFAULT NULL, `cedula` varchar(20) DEFAULT NULL, `nombre_perfil` varchar(100) DEFAULT NULL, `estado_atencion` enum('bot','esperando_asesor','humano') DEFAULT 'bot', `flujo_actual` varchar(50) DEFAULT NULL, `paso_flujo` varchar(50) DEFAULT NULL, `etiqueta` varchar(50) DEFAULT NULL, `asesor_id` int(11) DEFAULT NULL, `creado_en` datetime DEFAULT current_timestamp(), `actualizado_en` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), `asesor_nombre` varchar(100) DEFAULT NULL, `id_conexion` int(11) DEFAULT NULL, `intentos_cedula` int(11) DEFAULT 0, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `crm_mensajes` (`id` int(11) NOT NULL AUTO_INCREMENT, `sesion_id` varchar(100) NOT NULL, `remitente` enum('cliente','bot','asesor','sistema') NOT NULL, `tipo_mensaje` enum('texto','imagen','documento','ubicacion') DEFAULT 'texto', `mensaje` text DEFAULT NULL, `url_adjunto` varchar(255) DEFAULT NULL, `leido` tinyint(1) DEFAULT 0, `creado_en` datetime DEFAULT current_timestamp(), `wamid` varchar(100) DEFAULT NULL, `estado_entrega` varchar(20) DEFAULT 'Enviado', PRIMARY KEY (`id`), KEY `sesion_id` (`sesion_id`), CONSTRAINT `crm_mensajes_ibfk_1` FOREIGN KEY (`sesion_id`) REFERENCES `crm_sesiones` (`id`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `crm_respuestas_rapidas` (`id` int(11) NOT NULL AUTO_INCREMENT, `atajo` varchar(50) NOT NULL, `mensaje` text NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `usuarios` (`id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(255) NOT NULL, `role` enum('admin','asesor') NOT NULL DEFAULT 'asesor', `active` tinyint(1) NOT NULL DEFAULT 1, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Variables de Configuración por defecto
INSERT IGNORE INTO `crm_configuraciones` (`modulo`, `llave`, `valor`, `descripcion`) VALUES 
('SISTEMA', 'BRAND_NAME', 'CRM360', 'Nombre de la Plataforma'),
('PBX WEBRTC', 'PBX_DOMAIN', '127.0.0.1', 'Dominio o IP de la centralita'),
('WEBHOOK', 'WEBHOOK_KEY', 'CRM360_KEY', 'Llave de seguridad para Webhooks');
