michangarrito/docs/97-adr/ADR-0002-whatsapp-first-approach.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

201 lines
5.4 KiB
Markdown

---
id: ADR-0002
type: ADR
title: "WhatsApp como Canal Principal"
status: Accepted
decision_date: 2026-01-04
updated_at: 2026-01-10
simco_version: "3.8.0"
stakeholders:
- "Equipo MiChangarrito"
tags:
- whatsapp
- integracion
- ux
- canal-comunicacion
- meta
- chatbot
---
# ADR-0002: WhatsApp como Canal Principal
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | ADR-0002 |
| **Estado** | Accepted |
| **Fecha** | 2026-01-06 |
| **Autor** | Product Team |
| **Supersede** | - |
---
## Contexto
MiChangarrito esta dirigido a duenos de micro-negocios informales en Mexico (tiendas de abarrotes, puestos de comida, fondas). Este segmento tiene caracteristicas particulares:
- **Edad:** Mayores de 40 anos en promedio
- **Tecnologia:** Baja adopcion de apps nuevas
- **Dispositivos:** Smartphones basicos/medios
- **Usos digitales:** WhatsApp es la app mas usada
- **Tiempo:** Poco tiempo para aprender sistemas nuevos
La pregunta es: Cual debe ser la interfaz principal del sistema?
---
## Decision
**WhatsApp sera el canal principal de interaccion con el sistema.**
El dueno de la tienda puede:
- Consultar ventas, inventario, ganancias por chat
- Dar comandos por texto o voz
- Recibir alertas y notificaciones
- Gestionar pedidos de clientes
La app movil y dashboard web son complementarios, no el canal principal.
---
## Alternativas Consideradas
### Opcion 1: App Movil tradicional
- **Pros:**
- Control total de UX
- Funcionalidad completa
- Offline nativo
- **Cons:**
- Requiere descarga
- Curva de aprendizaje
- Competir por atencion con otras apps
- Actualizaciones requieren store
### Opcion 2: Web App (PWA)
- **Pros:**
- Sin descarga
- Facil de actualizar
- Cross-platform
- **Cons:**
- Requiere abrir navegador
- Performance limitada
- Notificaciones inconsistentes
### Opcion 3: WhatsApp First (Elegida)
- **Pros:**
- Ya instalado en el telefono
- Sin curva de aprendizaje
- Interfaz familiar
- Voz natural
- Alto engagement
- **Cons:**
- Dependencia de Meta
- Limitaciones de UI
- Costo de mensajes
- Rate limits
---
## Consecuencias
### Positivas
1. **Adopcion rapida:** Sin friccion de descarga/registro
2. **Engagement alto:** Ya usan WhatsApp diario
3. **Voz natural:** Pueden hablar al telefono
4. **Confianza:** Plataforma conocida
5. **Notificaciones:** Entrega casi garantizada
### Negativas
1. **Dependencia:** Riesgo si Meta cambia politicas
2. **Costos:** Mensajes tienen costo por volumen
3. **UI limitada:** Solo texto, botones basicos
4. **Rate limits:** Limites de mensajes
5. **Verificacion:** Proceso complejo para WhatsApp Business
### Neutrales
1. **App movil:** Sigue existiendo como complemento
2. **Web dashboard:** Para funciones avanzadas
---
## Implementacion
### Arquitectura
```
┌─────────────┐ ┌────────────────┐ ┌─────────────┐
│ Usuario │ --> │ WhatsApp Meta │ --> │ Webhook │
│ (WhatsApp) │ │ API │ │ Service │
└─────────────┘ └────────────────┘ └──────┬──────┘
v
┌────────────────┐ ┌─────────────┐
│ MCP Server │ <-- │ LLM │
│ (Funciones) │ │ (OpenRouter)│
└────────┬───────┘ └─────────────┘
v
┌────────────────┐
│ Backend │
│ (NestJS) │
└────────────────┘
```
### Flujo de Mensaje
1. Usuario envia mensaje a numero de WhatsApp
2. Meta envia webhook a nuestro servicio
3. Servicio procesa mensaje (texto o audio)
4. LLM interpreta intencion
5. MCP Server ejecuta funcion (consultar ventas, etc)
6. Respuesta se envia via WhatsApp
### Comandos Soportados
| Comando | Ejemplo | Funcion |
|---------|---------|---------|
| Ventas | "Cuanto vendi hoy?" | Consultar ventas |
| Inventario | "Cuantas cocas me quedan?" | Stock de producto |
| Agregar | "Agrega 10 cocas" | Actualizar inventario |
| Venta | "Vendi 3 doritos" | Registrar venta |
| Ganancias | "Cuanto gane esta semana?" | Reporte financiero |
---
## Validacion
### Metricas de Exito
| Metrica | Objetivo | Medicion |
|---------|----------|----------|
| Mensajes/dia/usuario | > 5 | Analytics |
| Retencion 7 dias | > 70% | Cohorte |
| NPS WhatsApp | > 8 | Encuesta |
| Tiempo respuesta | < 3s | Logs |
### Riesgos y Mitigaciones
| Riesgo | Mitigacion |
|--------|------------|
| Meta cambia politicas | App movil como backup |
| Costos altos | Optimizar mensajes, usar templates |
| Rate limits | Priorizar mensajes, throttling |
| Caida WhatsApp | Notificacion push, fallback app |
---
## Referencias
- [WhatsApp Business Platform](https://business.whatsapp.com/)
- [INT-001-whatsapp-meta.md](../02-integraciones/INT-001-whatsapp-meta.md)
- [Estadisticas WhatsApp Mexico](https://www.statista.com/topics/6039/whatsapp-in-mexico/)
---
**Fecha decision:** 2026-01-06
**Autores:** Product Team