LunApp + Meta
Modelo de coexistencia de WhatsApp
Base operativa segun la documentacion oficial de Meta, mayo 2026.
Esta pantalla deja a LunApp lista para lanzar el Embedded Signup de coexistencia, validar el webhook de Meta y capturar los identificadores que devuelve el onboarding de WhatsApp Business App.
Checklist del App Dashboard
Meta exige dominio HTTPS, un callback verificable y un flujo de Facebook Login for Business personalizado con featureType=whatsapp_business_app_onboarding.
Webhook URL de LunApp
https://lunapp.monteluna.cl/api/meta/webhooks/whatsapp
Dominios/OAuth
Usa lunapp.monteluna.cl y el mismo origen en OAuth valid redirect URIs.
Campos de webhook a suscribir
Para coexistencia, Meta pide mantener los campos normales de negocio y sumar estos cuatro para sincronizar alta, historial y mensajes emitidos desde la app:
El endpoint GET devuelve el hub.challenge y el POST acepta las notificaciones firmadas con X-Hub-Signature-256.
Embedded Signup
Conectar un numero existente de WhatsApp Business App
Este boton usa el flujo oficial de Meta para coexistencia. Si la empresa completa el proceso, la sesion devuelve el code de intercambio y el evento de sesion FINISH_WHATSAPP_BUSINESS_APP_ONBOARDING con los IDs del activo.
Configura NEXT_PUBLIC_META_APP_ID y NEXT_PUBLIC_META_CONFIG_IDpara habilitar el boton.
Evento de sesion
Aun no recibido
WABA ID
Pendiente
Phone Number ID
Pendiente
Business ID
Pendiente
Trazas rapidas
Cuando inicies el flujo, aqui veras la secuencia de callbacks y eventos.
Limitaciones funcionales
Los numeros en coexistencia quedan con throughput fijo de 20 mps.
Los chats grupales no se sincronizan.
Los mensajes temporales, view-once y ubicacion en tiempo real dejan de estar soportados por la API.
Las listas de difusion quedan deshabilitadas en la app despues del onboarding.
Secuencia recomendada
1. Configurar Facebook Login for Business con un CONFIG_ID valido y dominio HTTPS.
2. Verificar el webhook de LunApp en el App Dashboard antes de exponer el flujo a clientes.
3. Canjear el code devuelto por Meta en backend y suscribir la app a /<WABA_ID>/subscribed_apps.
4. Sincronizar el historial dentro de la ventana recomendada por Meta y procesar cargas grandes en forma asincrona.