- Prefijo v2: MCH - TRACEABILITY-MASTER.yml creado - Listo para integracion como submodulo Workspace: v2.0.0 | SIMCO: v4.0.0
4.8 KiB
4.8 KiB
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
- Consulta de precios y disponibilidad
- Hacer pedidos via chat
- Consultar saldo de fiado
- Recibir catalogo de productos
- 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
// 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
// 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
// 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