# MCH-013: Chat LLM Cliente ## Metadata - **Codigo:** MCH-013 - **Fase:** 3 - Asistente IA - **Prioridad:** P1 - **Estado:** Pendiente - **Fecha estimada:** Sprint 8-9 ## Descripcion Asistente IA para clientes del negocio via WhatsApp: consulta de precios, disponibilidad de productos, hacer pedidos, consultar saldo de fiado, y recibir promociones. ## Objetivos 1. Consulta de precios y disponibilidad 2. Hacer pedidos via chat 3. Consultar saldo de fiado 4. Recibir catalogo de productos 5. Atender preguntas frecuentes ## Alcance ### Incluido - "¿Tienen Coca de 2 litros?" - "¿Cuanto cuesta el pan Bimbo?" - "Quiero pedir 2 Cocas y unas Sabritas" - "¿Cuanto debo?" - "¿A que hora cierran?" - Catalogo de productos (imagen) ### Excluido - Pagos en linea (fase posterior) - Tracking de entrega en tiempo real - Cambios/devoluciones via chat ## Casos de Uso ### Consulta de Precio ``` Cliente: "¿Cuanto cuesta la Coca?" Bot: "Tenemos Coca-Cola en varios tamaños: - 355ml (lata): $15 - 600ml: $18 - 2L: $35 - 3L: $48 ¿Cual te gustaria?" ``` ### Consulta de Disponibilidad ``` Cliente: "¿Tienen pan Bimbo?" Bot: "Si, tenemos: ✓ Pan Blanco Grande - $48 ✓ Pan Integral - $52 ✗ Pan Tostado - Agotado ¿Quieres agregar alguno a tu pedido?" ``` ### Hacer Pedido ``` Cliente: "Quiero 2 Cocas de 600 y unas Sabritas" Bot: "Tu pedido: - 2x Coca-Cola 600ml = $36 - 1x Sabritas Original = $18 Total: $54 ¿Lo confirmas? [Confirmar] [Agregar mas] [Cancelar]" Cliente: [Confirmar] Bot: "¡Pedido confirmado! 🎉 Numero: #123 Estara listo en 10 minutos. Te avisamos cuando puedas pasar." ``` ### Consulta de Fiado ``` Cliente: "¿Cuanto debo?" Bot: "Hola Juan, tu saldo actual es de $180. Ultimo movimiento: $45 el 5 de enero. Puedes pasar a abonar cuando gustes." ``` ### Horarios y Ubicacion ``` Cliente: "¿A que hora abren?" Bot: "Tiendita Don Jose 🏪 📍 Calle Principal #123 Horario: Lun-Sab: 7am - 10pm Dom: 8am - 8pm ¿Te puedo ayudar en algo mas?" ``` ## Flujo Tecnico ``` 1. Cliente envia mensaje a numero del negocio 2. WhatsApp Service recibe 3. Identifica como cliente (no dueno) 4. Envia a MCP Server con contexto: - tenant_id - customer_phone - customer_id (si existe) - tools: limitados para cliente 5. MCP procesa con LLM 6. Ejecuta tools (consultas/pedido) 7. Genera respuesta amigable 8. Envia respuesta al cliente ``` ## Tools Limitados para Cliente ```typescript // Tools habilitados para clientes const customerTools = [ 'search_products', 'get_product_price', 'check_availability', 'create_order', 'get_my_balance', 'get_business_info', 'get_promotions' ]; // Tools NO disponibles para clientes // - update_product_price // - get_sales_report // - send_payment_reminder // - etc. ``` ## Intents del Cliente | Intent | Ejemplo | Accion | |--------|---------|--------| | CONSULTA_PRECIO | "Cuanto cuesta..." | search_products | | CONSULTA_DISPONIBILIDAD | "Tienen..." | check_availability | | HACER_PEDIDO | "Quiero pedir..." | create_order | | CONSULTA_SALDO | "Cuanto debo" | get_my_balance | | HORARIOS | "A que hora..." | get_business_info | | UBICACION | "Donde estan" | get_business_info | | PROMOCIONES | "Que ofertas tienen" | get_promotions | ## Modelo de Datos ### Asociacion Cliente-Telefono ```typescript // Al recibir mensaje de numero nuevo 1. Buscar en customers por phone 2. Si existe: asociar conversacion 3. Si no existe: crear customer temporal 4. Si hace pedido: pedir nombre ``` ## Limites y Seguridad - Clientes NO pueden ver info de otros clientes - Clientes NO pueden modificar precios - Clientes NO pueden ver reportes - Rate limit: 20 mensajes/hora por cliente - Tokens: descontados de cuota del tenant ## Entregables | Entregable | Estado | Archivo | |------------|--------|---------| | Customer chat flow | Pendiente | `whatsapp-service/flows/customer.flow.ts` | | MCP tools (limited) | Pendiente | `mcp-server/tools/customer/` | | Order creation | Pendiente | `backend/modules/orders/` | | FAQ responses | Pendiente | `whatsapp-service/faq/` | ## Dependencias ### Depende de - MCH-010 (MCP Server) - MCH-011 (WhatsApp Service) - MCH-014 (Gestion Clientes) ### Bloquea a - MCH-015 (Pedidos via WhatsApp) ## Criterios de Aceptacion - [ ] Consultas de precio funcionan - [ ] Consultas de disponibilidad funcionan - [ ] Pedidos se crean correctamente - [ ] Saldo de fiado se muestra - [ ] Info del negocio se muestra - [ ] No hay fuga de informacion ## Personalizacion por Tenant ```typescript // tenant_settings { whatsapp_bot: { greeting: "¡Hola! Bienvenido a {{business_name}}", farewell: "¡Gracias por tu preferencia!", tone: "friendly", // formal, friendly, casual auto_suggest_products: true, show_promotions: true } } ``` --- **Ultima actualizacion:** 2026-01-07