Un chatbot interactivo para consultas sobre seguros que permite seleccionar aseguradora y plan antes de realizar consultas.
- 🏢 Selección de aseguradora (actualmente incluye RIMAC)
- 📋 Selección de plan (PLATINUM, PREMIUM, PLUS)
- 💬 Chat interactivo con respuestas en tiempo real
- 🔗 Integración con API endpoint
- 📱 Diseño responsive
- ⚡ Interfaz moderna y amigable
ChatBotAseguradoras/
│
├── index.html # Estructura principal del chatbot
├── style.css # Estilos y diseño
├── script.js # Lógica del chatbot y API
└── README.md # Este archivo
El chatbot está configurado para usar el endpoint:
https://n8nasistent.sytes.net/webhook-test/consulta
{
"user_id": "user_1722988800123_5678",
"aseguradora": "aseguradora1",
"plan": "plan1",
"consulta": "¿Qué plan es?"
}
- ID automático: Se genera un ID único para cada usuario al cargar la página
- Formato:
user_{timestamp}_{numeroAleatorio}
- Persistencia: El ID se mantiene durante toda la sesión
- Tracking: Permite rastrear consultas por usuario en el backend
Actualmente incluye:
- Aseguradora: RIMAC
- Planes: PLATINUM, PREMIUM, PLUS
- Abrir
index.html
en un navegador web - Seleccionar una aseguradora del primer combobox
- Seleccionar un plan del segundo combobox
- Escribir la consulta en el campo de texto
- Hacer clic en enviar o presionar Enter
- Ver la respuesta del bot en el chat
Para agregar más aseguradoras, modifica el objeto segurosData
en script.js
:
const segurosData = {
'RIMAC': {
nameAseguradora: 'RIMAC',
planes: [
{ id: 'PLATINUM', namePlan: 'PLATINUM' },
{ id: 'PREMIUM', namePlan: 'PREMIUM' },
{ id: 'PLUS', namePlan: 'PLUS' }
]
},
'NUEVA_ASEGURADORA': {
nameAseguradora: 'Nueva Aseguradora',
planes: [
{ id: 'BASICO', namePlan: 'BÁSICO' },
{ id: 'ESTANDAR', namePlan: 'ESTÁNDAR' }
]
}
};
Modifica la constante API_ENDPOINT
en script.js
:
const API_ENDPOINT = 'tu-nuevo-endpoint-aqui';
- Mensajes del usuario aparecen a la derecha (azul)
- Respuestas del bot aparecen a la izquierda (blanco)
- Formato de texto enriquecido:
**texto**
se convierte en negrita*texto*
se convierte en cursiva
- Indicador de escritura: Muestra "ChatBot está escribiendo..." con puntos animados
- Chat bloqueado: Se desactiva el input mientras se espera respuesta
- Timestamps en cada mensaje
- Scroll automático a los mensajes nuevos
- No se puede enviar mensajes hasta seleccionar aseguradora y plan
- Validación de campos requeridos
- Manejo de errores de red
- Loading spinner durante las consultas
- Mensajes de error claros
- Confirmación visual de selección
- HTML5
- CSS3 (con Flexbox y Grid)
- JavaScript ES6+
- Fetch API para las peticiones HTTP
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
// Obtener el ID del usuario actual
const currentUserId = ChatBot.getUserId();
// Regenerar ID de usuario (nueva sesión)
const newUserId = ChatBot.regenerateUserId();
// Agregar nueva aseguradora
ChatBot.addAseguradora('NUEVA_ASEGURADORA', 'Nueva Aseguradora', 'aseguradora2', [
{ id: 'BASICO', namePlan: 'BÁSICO', planId: 'plan1' },
{ id: 'ESTANDAR', namePlan: 'ESTÁNDAR', planId: 'plan2' }
]);
// Cargar datos desde API
await ChatBot.loadDataFromAPI();
// Acceder a datos actuales
console.log(ChatBot.segurosData);
- Cargar datos desde API
- Historial de conversaciones
- Modo oscuro
- Exportar conversaciones
- Múltiples idiomas
- Búsqueda en el chat
Para reportar problemas o sugerir mejoras, contacta al equipo de desarrollo.