IA WhatsApp: añade condiciones de cobertura por compañía (coverage_rules) al prompt

This commit is contained in:
2026-08-28 20:53:41 +00:00
parent 59bc5b0130
commit a94f34884f

View File

@@ -1610,6 +1610,16 @@ async function procesarConIA(ownerId, mensajeCliente, datosExpediente) {
const instruccionesExtra = settings.ai_custom_prompt || ""; const instruccionesExtra = settings.ai_custom_prompt || "";
const empresaNombre = userData?.full_name || "nuestra empresa"; 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; if (!settings.wa_ai_enabled) return null;
const pSettings = userData?.portal_settings || {}; 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. - ⛔ 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. - Fines de semana solo si es una urgencia.
- Localidad del cliente actual: ${datosExpediente.poblacion || 'Localidad no especificada'}. - 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 --- --- ✅ HUECOS EXACTOS CALCULADOS POR EL SISTEMA ---
${agendaDisponibleTexto} ${agendaDisponibleTexto}