🧩 WhatsApp + Chatwoot Blueprint (v2.0)
ESTADO: STANDBY — No implementado. Planificado para v2.x.
Este documento es el mapa de ruta para la evolución de las comunicaciones en MenuQR. Define el paso de un sistema de notificaciones manuales a un ecosistema de automatización omnicanal.
📌 Estado Actual
Actualmente, las notificaciones de pedidos se realizan de forma manual mediante redirecciones a wa.me con plantillas predefinidas. El merchant hace clic en un botón y se abre WhatsApp Web/App con el mensaje pre-llenado.
Lo que funciona hoy:
- Plantillas de estado de pedido (confirmado, en camino, entregado)
- Chat general con el cliente
- Notificaciones sonoras en el dashboard del merchant (Web Audio API)
Lo que NO funciona aún:
- Envío automático de mensajes sin intervención del merchant
- Recepción de mensajes del cliente en el dashboard
- Integración con Chatwoot
🌟 Visión General
Sustituir la dependencia de redirecciones manuales (wa.me) por una infraestructura propia basada en:
- WAHA: Motor de API para WhatsApp.
- Chatwoot: Plataforma de atención omnicanal.
🏗️ Arquitectura del Sistema
Componentes Core
- Orquestador (MenuQR): Gestiona la lógica de negocio y los triggers de Supabase.
- Motor (WAHA): Maneja los contenedores de sesión de WhatsApp Web.
- Escritorio (Chatwoot): Centraliza los chats para Merchants y SuperAdmin.
📈 Fases de Implementación
Fase 0: Soporte SaaS Interno
Caso de uso: Chat entre Merchant y Soporte MenuQR.
- El chat actual de Supabase Realtime se complementa con un puente de WhatsApp.
- El SuperAdmin gestiona todo desde Chatwoot.
Fase 1: Automatización OMS (Merchant-Cliente)
Caso de uso: Notificaciones automáticas de estados de pedido.
Pedido Confirmado→ WhatsApp Automático.En camino→ WhatsApp Automático.
🛠️ Especificaciones Técnicas (Notas para el futuro)
- Infraestructura: Docker Compose es mandatorio.
- Base de Datos: Requiere nueva tabla
saas_whatsapp_sessions. - Memoria RAM: Considerar 150MB - 300MB por cada sesión de WhatsApp activa (instancias de Chromium).
Estatus actual: STANDBY (Planificado para v2.x) Referencia: Backlog