Aula virtual (Zoom)¶
Las clases en directo de Didacta usan Zoom (API Server-to-Server + SDK Web) a través del módulo mod.zoom-live: sesiones, inscripción con enlace compartible, acceso al joinUrl y a la grabación controlado por matrícula, y asistencia reconciliada contra la API de Zoom.
Credenciales: por tenant, no por entorno¶
Las credenciales Server-to-Server OAuth de Zoom (Account ID, Client ID, Client Secret) no son variables de entorno: se configuran por organización en el panel de administración y se guardan cifradas at-rest (de ahí la importancia de TENANT_SETTINGS_ENC_KEY).
Necesitas una app Server-to-Server OAuth creada en el Zoom App Marketplace de tu cuenta, con permisos de reuniones y grabaciones.
Webhook de Zoom¶
Para que Didacta reciba eventos (inicio/fin de reunión, grabaciones disponibles, asistencia):
- En tu app de Zoom, configura el endpoint de webhook apuntando a tu instancia:
- Copia el Secret Token de Zoom en la variable:
Didacta verifica la firma HMAC-SHA256 de cada evento contra el cuerpo crudo de la petición; sin el secret, los eventos se rechazan.
Trabajos programados¶
| Variable | Default | Qué controla |
|---|---|---|
ZOOM_REMINDER_CRON |
*/5 * * * * |
Frecuencia del worker de recordatorios de clase. |
ZOOM_REMINDER_HOURS_BEFORE |
2 |
Horas de antelación del recordatorio por email. |
ZOOM_ATTENDANCE_SYNC_CRON |
*/10 * * * * |
Reconciliación de asistencia contra la API de Zoom. |
Los recordatorios y la reconciliación requieren Redis operativo (son workers BullMQ).
Encuestas post-clase¶
Si el módulo mod.surveys está activo, puede disparar encuestas NPS automáticamente al terminar cada clase en directo (ver SURVEYS_REMINDER_* en la referencia de variables).