| Resumen | Discourse Zoom permite a los administradores y usuarios de Discourse, con una suscripción de pago a Zoom, programar, gestionar y participar en webinars de Zoom directamente desde su plataforma Discourse. | |
| Enlace al repositorio | https://github.com/discourse/discourse-zoom | |
| Guía de instalación | Cómo instalar plugins en Discourse |
Descripción general
Este plugin integra webinars de Zoom en una instancia de Discourse. Los webinars de Zoom pueden asociarse con temas, los usuarios de Discourse pueden registrarse para los webinars y unirse a ellos cuando comiencen.
Debido a que Zoom ha descontinuado la autenticación JWT, a partir del 1 de agosto de 2023, el mecanismo de autenticación del plugin ha cambiado de JWT (ahora descontinuado, Zoom lo eliminará el 1 de septiembre) a OAuth de Servidor a Servidor. Los usuarios existentes del plugin deben actualizar su configuración.
Funcionalidades
- Cuando comienza un webinar de Zoom, el botón “Registrarse” cambia automáticamente a “Unirse”, y al hacer clic en él se lanza el webinar utilizando el SDK de Zoom en un punto de acceso dedicado dentro de tu comunidad de Discourse
- Envía recordatorios automáticos a los registrados N minutos antes del evento (N es configurable en la configuración del plugin, por defecto los recordatorios están desactivados)
- Los administradores pueden añadir panelistas a un webinar en Discourse
- Los administradores pueden añadir un enlace a las grabaciones de video del webinar en Discourse, que luego se muestra a los usuarios después de que el evento haya terminado
- Los organizadores y panelistas de eventos de Zoom se asocian con cuentas de usuario de Discourse
Uso
Para usar el plugin Discourse Zoom, primero debes instalarlo en tu instancia de Discourse y configurarlo con las credenciales de tu aplicación OAuth de Servidor a Servidor de Zoom. Una vez que el plugin esté configurado, puedes crear un nuevo webinar de Zoom creando un nuevo tema y asociándolo con el webinar. Los usuarios pueden entonces registrarse para el webinar directamente desde el tema.
Instalación
Paso 1: Instalar el plugin en tu instancia de Discourse
Puedes instalar el plugin en tu instancia de Discourse siguiendo las instrucciones aquí.
Paso 2: Crear una aplicación OAuth de Servidor a Servidor en el Marketplace de Zoom
Para comenzar, necesitarás crear una aplicación OAuth de Servidor a Servidor en el Marketplace de Zoom. Esta aplicación será necesaria para realizar solicitudes a la API de Zoom y recibir notificaciones de eventos a través de Webhooks.
Paso 3: Configurar el plugin
Una vez instalado el plugin, ve a la configuración de tu sitio de Discourse y marca la casilla zoom enabled (habilitar zoom) y guarda.
Desde el Marketplace de Zoom, ve a la pestaña App Credentials (Credenciales de la aplicación):
Luego copia y pega los valores en la configuración de sitio correspondiente en tu instancia de Discourse:
zoom s2s account idzoom s2s client idzoom s2s client secret
Paso 4: Establecer el token secreto del webhook
En la pestaña Feature (Funcionalidad) de tu aplicación OAuth de Servidor a Servidor de Zoom, copia el “Secret Token” (Token secreto) y añádelo a la configuración de sitio zoom webhooks secret token de tu sitio de Discourse.
Paso 5: Habilitar suscripciones de eventos
Mientras sigas en la pestaña Feature (Funcionalidad) de tu aplicación OAuth de Servidor a Servidor de Zoom, habilita “Event Subscriptions” (Suscripciones a eventos) y selecciona el botón Add Event Subscription (Añadir suscripción a evento):
A continuación, establece la “Event notification endpoint URL” (URL del punto de conexión de notificación de eventos) en:
https://YOURSITE.COM/zoom/webhooks/webinars.json
luego selecciona el botón + Add Events (Añadir eventos):
Abre la pestaña Webinar (Webinar) desde la lista de tipos de evento y marca todos los eventos que se enumeran. Si no puedes ver los permisos de evento de Webinar, consulta cómo habilitar los permisos.
Debajo de la “Event notification endpoint URL” (URL del punto de conexión de notificación de eventos) que estableciste anteriormente, encuentra el botón Validate (Validar):
Debería mostrar
si todo funcionó correctamente.
Finalmente, selecciona el botón Save (Guardar) en la parte inferior de la página.
Paso 6: Ámbitos (Scopes)
Una vez que hayas establecido las suscripciones de eventos, ve a la pestaña Scopes (Ámbitos) y haz clic en el botón Add Scopes (Añadir ámbitos). Aquí seleccionarás los siguientes ámbitos ya sea buscando por los valores dados en las tablas, manualmente o usando valores parciales, por ejemplo, en lugar de buscar webinar:read:list_panelists:admin busca webinar:read: esto reducirá los elementos mostrados para que sea más fácil encontrar los requeridos.
En la aplicación OAuth de Servidor a Servidor, bajo la pestaña de ámbitos, haz clic en el botón Add Scopes (Añadir ámbitos) y se abrirá una ventana:
En la búsqueda de ámbitos, busca por nombre completo o parcial. Para facilitar esto, puedes copiar y pegar cada uno de los ámbitos en las siguientes tablas o buscarlos bajo la pestaña correspondiente:
Usuarios
| scope | desc |
|---|---|
| user:read:user:admin | Ver un usuario |
| user:read:email:admin | Verificar el correo electrónico de un usuario |
| user:read:list_users:admin | Ver usuarios |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Ver los panelistas de un webinar |
| webinar:read:list_absentees:admin | Ver los ausentes de un webinar pasado |
| webinar:read:webinar:admin | Ver un webinar |
| webinar:read:registrant:admin | Ver el registrante de un webinar |
| webinar:read:list_registrants:admin | Ver los registrantes de un webinar |
| webinar:write:batch_registrants:admin | Añadir registrantes a un webinar |
| webinar:delete:webinar:admin | Eliminar un webinar |
| webinar:write:panelist | Añadir panelistas a un webinar |
| webinar:delete:registrant | Eliminar un registrante de un webinar |
| webinar:write:webinar | Crear un webinar para un usuario |
| webinar:update:status | Actualizar el estado de un webinar |
| webinar:delete:panelist | Eliminar un panelista de un webinar |
| webinar:update:webinar | Actualizar un webinar |
| webinar:write:registrant | Añadir un registrante a un webinar |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Ver los panelistas de un webinar |
| webinar:read:list_absentees:admin | Ver los ausentes de un webinar pasado |
| webinar:read:webinar:admin | Ver un webinar |
| webinar:read:registrant:admin | Ver el registrante de un webinar |
| webinar:read:list_registrants:admin | Ver los registrantes de un webinar |
| webinar:write:batch_registrants:admin | Añadir registrantes a un webinar |
| webinar:delete:webinar:admin | Eliminar un webinar |
| webinar:write:panelist | Añadir panelistas a un webinar |
| webinar:delete:registrant | Eliminar un registrante de un webinar |
| webinar:write:webinar | Crear un webinar para un usuario |
| webinar:update:status | Actualizar el estado de un webinar |
| webinar:delete:panelist | Eliminar un panelista de un webinar |
| webinar:update:webinar | Actualizar un webinar |
| webinar:write:registrant | Añadir un registrante a un webinar |
Paso 7: Crear una aplicación SDK de Reunión
Zoom ha realizado cambios en su lado, estamos trabajando en actualizar la guía.
La aplicación de reunión SDK autentica al usuario para que pueda unirse a la reunión del webinar.
Comienza creando una General App (Aplicación general) y, bajo Select how the app is managed (Selecciona cómo se gestiona la aplicación), elige User-managed (Gestionada por el usuario).
En la pestaña Basic Information (Información básica) de tu Aplicación general, copia y pega el Client ID/ SDK key (ID de cliente/Clave SDK) en el campo zoom sdk key (clave sdk de zoom), y el Client Secret/SDK secret (Secreto de cliente/Secreto SDK) en el campo zoom sdk secret (secreto sdk de zoom).
Al desplazarte hacia abajo, encontrarás la sección OAuth Information (Información OAuth). En OAuth Redirect URL (URL de redirección OAuth), coloca la URL de tu sitio, por ejemplo, https://YOURSITE.com.
Paso 8: Especificar el uso de tu aplicación
Bajo la pestaña Features (Funcionalidades), selecciona la subpestaña Embed (Incrustar) y habilita el Meeting SDK (SDK de reuniones).
Limitaciones
El plugin solo funciona con webinars que no requieren registro en Zoom.
Aviso sobre cambios importantes (Breaking Changes)
Debido a las descontinuaciones en la API de Zoom, las instancias antiguas del plugin necesitarán configurarse siguiendo los pasos mencionados en esta publicación.
¿Alojado por nosotros? Este plugin está disponible en nuestros planes Enterprise.
















