App: agente de post-análisis de la conversación de WhatsApp

POST /api/leads/:id/analizar lee toda la conversacion_whatsapp del lead, extrae
con un LLM (OpenRouter) los datos clave (tipoReforma, m2, calidad, urgencia,
presupuesto, viable + crudos) y los persiste en el lead de una pasada. Robusto
frente a la extracción turno-a-turno frágil del bot. El bot lo llamará al cerrar
la cualificación. Helper lib/ai/openrouter.ts + env OPENROUTER_API_KEY.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Carlos Narro
2026-06-10 11:51:25 +02:00
parent 50480b6fc5
commit 1471261a73
4 changed files with 149 additions and 0 deletions

View File

@@ -28,6 +28,9 @@ const schema = z.object({
WHATSAPP_START_WEBHOOK_URL: opcional,
// Base pública de la app, para construir enlaces (ej. el enlace al formulario en el email).
APP_URL: opcional,
// LLM (OpenRouter) para el post-análisis de la conversación de WhatsApp.
OPENROUTER_API_KEY: opcional,
OPENROUTER_MODEL_ANALISIS: opcional,
});
export const env = schema.parse({
@@ -45,6 +48,8 @@ export const env = schema.parse({
WHATSAPP_WEBHOOK_URL: process.env.WHATSAPP_WEBHOOK_URL,
WHATSAPP_START_WEBHOOK_URL: process.env.WHATSAPP_START_WEBHOOK_URL,
APP_URL: process.env.APP_URL,
OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY,
OPENROUTER_MODEL_ANALISIS: process.env.OPENROUTER_MODEL_ANALISIS,
});
// Mínimo para lanzar una llamada saliente: clave de API + número de origen. El agente puede