michangarrito/backups/docs-backup-2026-01-10/docs/01-epicas/MCH-013-chat-llm-cliente.md
rckrdmrd 97f407c661 [MIGRATION-V2] feat: Migrar michangarrito a estructura v2
- Prefijo v2: MCH
- TRACEABILITY-MASTER.yml creado
- Listo para integracion como submodulo

Workspace: v2.0.0 | SIMCO: v4.0.0
2026-01-10 11:28:54 -06:00

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

  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

// 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