WhatsApp experimental
:::warning No lo habilites como automatización de producción GymNova ya tiene una base técnica para Twilio, pero todavía no es un canal de producción. «Verificar conexión» o enviar al sandbox no valida plantillas, sender, consentimiento ni callbacks reales. :::
El backend puede cifrar el Auth Token, comprobar credenciales, enviar un body libre, verificar la firma del webhook y guardar estados. Estas funciones se usan únicamente para desarrollo o pruebas controladas.
Probar con el sandbox
- Entra a Ajustes → Mensajes a miembros.
- Abre Conectar WhatsApp.
- Configura Account SID, Auth Token y el número del sandbox.
- Añade un número de prueba que haya enviado el código
joinindicado por Twilio; ese opt-in es obligatorio en el sandbox. - Verifica la conexión y envía sólo una prueba controlada.
El sandbox no habilita un número de producción. Consulta la guía oficial del sandbox.
Qué falta para producción
- Un sender de WhatsApp Business registrado y aprobado.
- Plantillas aprobadas para mensajes iniciados por el gimnasio fuera de la ventana de 24 horas.
- Integrar esas plantillas con
ContentSidyContentVariables; el body libre actual no cubre ese escenario. Consulta la guía oficial de plantillas. - Un callback de estados accesible por HTTPS público. La app escucha en
127.0.0.1, por lo que no debe abrirse directamente a internet. - Configurar la URL pública exacta y validar
X-Twilio-Signature; consulta la guía oficial de seguridad de webhooks. - Una prueba E2E real: envío, callback firmado y estado final verificable.
- Consentimiento/opt-in verificable y mecanismo de baja. El modelo de datos actual no registra el consentimiento del miembro, así que éste es un bloqueo adicional, no una tarea administrativa pendiente.
Mantén desactivados los recordatorios hasta que el técnico documente todos esos puntos.
Plantillas y bitácora durante pruebas
Las plantillas locales pueden usar variables como {nombre}, {plan} y
{fecha_vencimiento}. Que una plantilla exista en GymNova no significa que
Twilio/Meta la haya aprobado.
La bitácora muestra solicitudes y callbacks recibidos. Un registro local no demuestra entrega si no existe callback firmado; los datos demo tampoco son evidencia de mensajes enviados.