getMeetings – Listar todas las reuniones
El endpoint getMeetings devuelve una lista de todas las reuniones que existen actualmente en el servidor BigBlueButton, incluidos los detalles de los participantes y los metadatos. Es la herramienta principal para crear paneles de administración, supervisar la carga del servidor y realizar planificación de capacidad en toda tu infraestructura.
Endpoint
GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getMeetings?checksum=replace-with-checksum Este endpoint no requiere parámetros adicionales aparte de la suma de verificación. Devuelve todas las reuniones del servidor en una sola respuesta.
Parámetros
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
checksum | String | Sí | — | Suma de verificación de seguridad calculada a partir del nombre de la llamada de API y del secreto compartido. |
Ejemplo de solicitud
https://api-guide.bbbserver.com/bigbluebutton/api/getMeetings?checksum=replace-with-checksum Respuesta de ejemplo
Reuniones encontradas
<response>
<returncode>SUCCESS</returncode>
<meetings>
<meeting>
<meetingName>Demo Meeting</meetingName>
<meetingID>replace-with-meeting-id</meetingID>
<internalMeetingID>a0715c95...</internalMeetingID>
<createTime>1531241258036</createTime>
<createDate>Tue Jul 10 16:47:38 UTC 2018</createDate>
<voiceBridge>70066</voiceBridge>
<dialNumber>613-555-1234</dialNumber>
<attendeePW>ap</attendeePW>
<moderatorPW>mp</moderatorPW>
<running>true</running>
<duration>0</duration>
<hasUserJoined>true</hasUserJoined>
<recording>false</recording>
<hasBeenForciblyEnded>false</hasBeenForciblyEnded>
<startTime>1531241258074</startTime>
<endTime>0</endTime>
<participantCount>5</participantCount>
<listenerCount>2</listenerCount>
<voiceParticipantCount>3</voiceParticipantCount>
<videoCount>2</videoCount>
<maxUsers>0</maxUsers>
<moderatorCount>1</moderatorCount>
<attendees>
<attendee>
<userID>w_ftcrsyuh44oj</userID>
<fullName>Max Mustermann</fullName>
<role>MODERATOR</role>
<isPresenter>true</isPresenter>
<isListeningOnly>false</isListeningOnly>
<hasJoinedVoice>true</hasJoinedVoice>
<hasVideo>true</hasVideo>
<clientType>HTML5</clientType>
</attendee>
</attendees>
<metadata/>
<isBreakout>false</isBreakout>
</meeting>
</meetings>
</response> No se encontraron reuniones
<response>
<returncode>SUCCESS</returncode>
<meetings/>
<messageKey>noMeetings</messageKey>
<message>no meetings were found on this server</message>
</response> Campos de respuesta por reunión
| Campo | Tipo | Descripción |
|---|---|---|
meetingName | String | Nombre para mostrar de la reunión. |
meetingID | String | ID externo de la reunión según se especificó durante la creación. |
internalMeetingID | String | ID único interno generado por el servidor. |
createTime | Number | Marca de tiempo de creación en milisegundos desde la época Unix. |
createDate | String | Cadena de fecha de creación legible por humanos. |
voiceBridge | String | Número de puente de voz para conferencias de audio. |
dialNumber | String | Número de acceso telefónico para la reunión. |
attendeePW | String | Contraseña de asistente. Solo está presente si se ha establecido. Obsoleto en BBB 3.0. |
moderatorPW | String | Contraseña de moderador. Solo está presente si se ha establecido. Obsoleto en BBB 3.0. |
running | Boolean | Indica si la reunión está activa actualmente. |
duration | Number | Duración máxima en minutos. 0 significa ilimitada. |
hasUserJoined | Boolean | Indica si al menos un usuario se ha unido a la reunión. |
recording | Boolean | Indica si la grabación está habilitada para esta reunión. |
hasBeenForciblyEnded | Boolean | Indica si la reunión fue finalizada forzosamente mediante la API. |
startTime | Number | Marca de tiempo de inicio en milisegundos desde la época Unix. |
endTime | Number | Marca de tiempo de finalización. 0 si la reunión sigue en curso. |
participantCount | Number | Número actual de participantes en la reunión. |
listenerCount | Number | Número de participantes en modo solo escucha. |
voiceParticipantCount | Number | Número de participantes con audio activo. |
videoCount | Number | Número de cámaras web activas. |
maxUsers | Number | Número máximo de participantes permitidos. 0 significa ilimitado. |
moderatorCount | Number | Número de moderadores actualmente en la reunión. |
attendees | List | Lista de todos los participantes con detalles como userID, fullName, role y estado de medios. |
metadata | Object | Todos los parámetros de metadatos personalizados pasados durante la llamada create. |
isBreakout | Boolean | Indica si esta es una sala de grupos. |
parentMeetingID | String | ID de la reunión principal. Solo se muestra para las salas de grupos. |
sequence | Number | Número de secuencia de la sala de grupos. Solo se muestra para las salas de grupos. |
freeJoin | Boolean | Indica si los participantes pueden elegir libremente esta sala de grupos. Solo se muestra para las salas de grupos. |
breakoutRooms | List | Lista de IDs de salas de grupos. Solo se muestra cuando la reunión tiene salas de grupos activas. |
Detalles del asistente
Cada entrada de la lista attendees contiene los siguientes campos:
| Campo | Tipo | Descripción |
|---|---|---|
userID | String | Identificador interno único del usuario. |
fullName | String | Nombre para mostrar del participante. |
role | String | Rol del participante: MODERATOR o VIEWER. |
isPresenter | Boolean | Indica si el participante es actualmente el presentador. |
isListeningOnly | Boolean | Indica si el participante se unió en modo solo escucha. |
hasJoinedVoice | Boolean | Indica si el participante se ha unido a la conferencia de voz. |
hasVideo | Boolean | Indica si el participante tiene una cámara web activa. |
clientType | String | Tipo de cliente usado por el participante (por ejemplo, HTML5). |
La lista de asistentes devuelta por getMeetings incluye a todos los usuarios que alguna vez se han unido a la reunión, incluidos los que ya se fueron. Esto es diferente de getMeetingInfo, que solo devuelve los usuarios conectados actualmente. Téngalo en cuenta al calcular el número de participantes activos.
Casos de uso comunes
- Panel de administración — muestra una vista general de todas las reuniones en ejecución y su número de participantes.
- Planificación de capacidad — calcula el número total de participantes activos en todas las reuniones del servidor.
- Supervisión — identifica reuniones sin moderador o reuniones que presentan problemas.
- Limpieza automática — encuentra reuniones que han existido durante mucho tiempo sin participantes.
Consejos y mejores prácticas
Dado que getMeetings devuelve todas las reuniones del servidor (no solo las que están en ejecución), filtra los resultados por el campo running si solo necesitas reuniones activas.
La respuesta contiene información sensible como nombres de participantes, IDs de usuario y contraseñas. Llame siempre a este endpoint solo desde código del lado del servidor. Nunca lo exponga a aplicaciones del lado del cliente ni a usuarios finales.
No hay soporte de paginación para este endpoint. En servidores con muchas reuniones concurrentes, la respuesta puede llegar a ser muy grande y afectar al rendimiento. Considere almacenar en caché los resultados si consulta con frecuencia.
Preguntas frecuentes
running si solo necesitas reuniones activas.getMeetings devuelve un resumen de todas las reuniones del servidor, mientras que getMeetingInfo devuelve información detallada de una única reunión específica. Además, la lista de asistentes en getMeetings incluye a todos los usuarios que se han unido alguna vez (incluidos los que se fueron), mientras que getMeetingInfo solo enumera a los usuarios conectados actualmente.isBreakout. Si es true, la reunión es una sala de grupos e incluirá campos adicionales como parentMeetingID, sequence y freeJoin. La reunión principal tendrá una lista breakoutRooms que contiene los ID de sus salas de grupos.getMeetings. Todas las reuniones se devuelven en una sola respuesta. Para servidores con un número muy grande de reuniones, considera implementar caché o llamar al endpoint con menos frecuencia para reducir la carga del servidor.