michangarrito/backups/docs-backup-2026-01-10/docs/01-epicas/MCH-013-chat-llm-cliente.md
rckrdmrd 928eb795e6 [SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios apps
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Cambios en backend y frontend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:05 -06:00

216 lines
4.8 KiB
Markdown

# 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