IA WhatsApp: añade condiciones de cobertura por compañía (coverage_rules) al prompt
This commit is contained in:
14
server.js
14
server.js
@@ -1610,6 +1610,16 @@ async function procesarConIA(ownerId, mensajeCliente, datosExpediente) {
|
||||
const instruccionesExtra = settings.ai_custom_prompt || "";
|
||||
const empresaNombre = userData?.full_name || "nuestra empresa";
|
||||
|
||||
// 🧾 Condiciones de cobertura por compañía: cada regla tiene una "keyword" corta
|
||||
// (ej. "santander") que buscamos DENTRO del campo Compañía del expediente, sin
|
||||
// mayúsculas ni tildes. Así da igual si el texto viene envuelto en cosas de
|
||||
// Multiasistencia/HomeServe (ej. "MULTI - Siniestros - Santander Generales
|
||||
// proyecto Gesca") — con que contenga la palabra clave, coincide.
|
||||
const normalizarTexto = (str) => String(str || "").toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g, "");
|
||||
const coverageRules = Array.isArray(settings.coverage_rules) ? settings.coverage_rules : [];
|
||||
const companiaNormalizada = normalizarTexto(datosExpediente.compania);
|
||||
const reglaCobertura = coverageRules.find(r => r.keyword && companiaNormalizada.includes(normalizarTexto(r.keyword)));
|
||||
|
||||
if (!settings.wa_ai_enabled) return null;
|
||||
|
||||
const pSettings = userData?.portal_settings || {};
|
||||
@@ -1998,6 +2008,10 @@ Eres el coordinador humano de "${empresaNombre}". Hablas de tú, de forma natura
|
||||
- ⛔ REGLA DE ORO DEL HORARIO: NUNCA propongas horas fuera de ese horario ni cruces el tramo de comer.
|
||||
- Fines de semana solo si es una urgencia.
|
||||
- Localidad del cliente actual: ${datosExpediente.poblacion || 'Localidad no especificada'}.
|
||||
${reglaCobertura ? `
|
||||
--- 🧾 CONDICIONES DE COBERTURA PARA ESTA COMPAÑÍA (${datosExpediente.compania}) ---
|
||||
${reglaCobertura.text}
|
||||
Menciona esto SOLO si el cliente pregunta por costes, materiales, o qué cubre el seguro. No lo repitas si no viene a cuento.` : ''}
|
||||
|
||||
--- ✅ HUECOS EXACTOS CALCULADOS POR EL SISTEMA ---
|
||||
${agendaDisponibleTexto}
|
||||
|
||||
Reference in New Issue
Block a user