El endpoint create aprovisiona una nueva reunión en el servidor BigBlueButton. Si ya existe una reunión con el mismo meetingID, el servidor devuelve los datos de la reunión existente en lugar de crear un duplicado (comportamiento idempotente).
Endpoint
POST GET
https://api-guide.bbbserver.com/bigbluebutton/api/create?<parameters>&checksum=replace-with-checksum
Parámetros obligatorios
| Parámetro | Tipo | Descripción |
meetingID | String | Identificador único de la reunión (de 2 a 256 caracteres, sin comas). |
name | String | Nombre para mostrar de la reunión (de 2 a 256 caracteres). Obligatorio desde BBB 2.4. |
Parámetros opcionales
General
| Parámetro | Tipo | Predeterminado | Descripción |
attendeePW Deprecated | String | (auto) | Contraseña para acceso de asistentes. Obsoleta desde BBB 3.0 — se genera automáticamente. |
moderatorPW Deprecated | String | (auto) | Contraseña para acceso de moderadores. Obsoleta desde BBB 3.0 — se genera automáticamente. |
welcome | String | — | Mensaje de bienvenida que se muestra en el chat. Admite marcadores de posición: %%CONFNAME%%, %%DIALNUM%%, %%CONFNUM%%. |
moderatorOnlyMessage | String | — | Mensaje visible solo para los moderadores en el chat. |
dialNumber | String | — | Número de acceso telefónico para participación por teléfono. |
voiceBridge | String | (auto) | Cinco dígitos aleatorios (pueden empezar por 0, por ejemplo 07382), generados automáticamente. Deben ser únicos por reunión. |
maxParticipants | Number | 0 (unlimited) | Número máximo de participantes. En bbbserver.de este valor se utiliza para la reserva de capacidad (consulta las notas de bbbserver.de más abajo). |
duration | Number | 0 (unlimited) | Duración máxima en minutos. En BBB estándar la reunión termina automáticamente cuando se agota el tiempo. En bbbserver.de esto se usa solo para la planificación de capacidad (consulta las notas de bbbserver.de más abajo). |
logoutURL | String | — | URL a la que se redirige al usuario después de cerrar sesión. BBB 3.0+ |
loginURL | String | — | URL puesta a disposición de los usuarios durante la reunión. BBB 3.0+ |
record | Boolean | false | Habilitar la grabación de medios y eventos. |
autoStartRecording | Boolean | false | La grabación comienza automáticamente cuando se une la primera persona. |
allowStartStopRecording | Boolean | true | Permitir que los usuarios inicien y detengan manualmente la grabación. |
recordFullDurationMedia | Boolean | false | Grabar los medios durante toda la duración de la reunión. BBB 2.6.9+ |
muteOnStart | Boolean | true | Silenciar a todos los participantes cuando se unan. |
guestPolicy | Enum | ALWAYS_ACCEPT | Política de invitados: ALWAYS_ACCEPT, ALWAYS_DENY o ASK_MODERATOR. |
webVoice Undocumented | String | (= telVoice) | Identificador de conferencia de voz para usuarios de VoIP. De forma predeterminada, usa el valor de telVoice si no se establece. |
meetingEndedURL Undocumented | String | — | URL de devolución de llamada invocada cuando finaliza la reunión. A diferencia de meta_endCallbackUrl, esta permanece del lado del servidor y no se propaga al cliente ni a los metadatos de la grabación. |
logoutTimer Undocumented | Number | 0 (disabled) | Tiempo de espera en minutos antes del cierre de sesión automático. |
Diseño y apariencia
| Parámetro | Tipo | Predeterminado | Descripción |
meetingLayout | Enum | CUSTOM_LAYOUT | Diseño predeterminado. Valores posibles: UNIFIED_LAYOUT, CUSTOM_LAYOUT, SMART_LAYOUT, PRESENTATION_FOCUS, VIDEO_FOCUS, CAMERAS_ONLY, PARTICIPANTS_AND_CHAT_ONLY, PRESENTATION_ONLY, MEDIA_ONLY. |
logo | String | — | URL de una imagen de logotipo mostrada encima de la lista de participantes. BBB 2.4+ |
bannerText | String | — | Texto del banner mostrado en el cliente. BBB 2.0+ |
bannerColor | String | — | Color de fondo del banner como valor hexadecimal, p. ej. #FF0000. BBB 2.0+ |
darklogo Undocumented | String | — | URL de una imagen de logotipo para el modo oscuro. BBB 3.0+ |
copyright Undocumented | String | — | Texto de derechos de autor mostrado en el cliente. BBB 3.0+ |
Permisos y configuración de bloqueo
| Parámetro | Tipo | Predeterminado | Descripción |
webcamsOnlyForModerator | Boolean | false | Cámaras web visibles solo para los moderadores. |
allowModsToUnmuteUsers | Boolean | false | Permitir que los moderadores reactiven el micrófono de otros usuarios. BBB 2.2+ |
allowModsToEjectCameras | Boolean | false | Permitir que los moderadores cierren las cámaras de otros usuarios. BBB 2.4+ |
allowPromoteGuestToModerator | Boolean | false | Permitir ascender a los invitados al rol de moderador. BBB 2.7.9+ |
lockSettingsDisableCam | Boolean | false | Bloquear el uso compartido de cámara para los asistentes. BBB 2.2+ |
lockSettingsDisableMic | Boolean | false | Bloquear el micrófono para los asistentes (solo escucha). BBB 2.2+ |
lockSettingsDisablePrivateChat | Boolean | false | Bloquear el chat privado para los asistentes. BBB 2.2+ |
lockSettingsDisablePublicChat | Boolean | false | Bloquear el chat público para los asistentes. BBB 2.2+ |
lockSettingsDisableNotes | Boolean | false | Bloquear las notas compartidas para los asistentes. BBB 2.2+ |
lockSettingsHideUserList | Boolean | false | Ocultar la lista de participantes a los espectadores. BBB 2.2+ |
lockSettingsHideViewersCursor | Boolean | false | Ocultar los cursores de otros espectadores en la pizarra. BBB 2.5+ |
lockSettingsHideViewersAnnotation Undocumented | Boolean | false | Ocultar las anotaciones de la pizarra de otros espectadores. BBB 2.6+ |
lockSettingsLockOnJoin | Boolean | true | Aplicar la configuración de bloqueo inmediatamente cuando un usuario se una. BBB 2.2+ |
lockSettingsLockOnJoinConfigurable | Boolean | false | Habilitar la aplicación de la configuración lockSettingsLockOnJoin. BBB 2.2+ |
Cámara web
| Parámetro | Tipo | Predeterminado | Descripción |
userCameraCap | Number | 3 | Número máximo de cámaras web simultáneas por usuario. BBB 2.4.5+ |
meetingCameraCap | Number | 0 (unlimited) | Número máximo de cámaras web simultáneas en la reunión. BBB 2.5+ |
maxPinnedCameras Undocumented | Number | 3 | Número máximo de cámaras web fijadas. BBB 3.0+ |
Desactivación de funciones
| Parámetro | Tipo | Predeterminado | Descripción |
disabledFeatures | String | — | Lista de funciones que se desactivarán, separadas por comas. BBB 2.5+ |
disabledFeaturesExclude | String | — | Lista de funciones que se volverán a habilitar para esta reunión, separadas por comas (anula los valores predeterminados del servidor). BBB 2.6.9+ |
Valores disponibles para disabledFeatures:
| Valor | Descripción |
breakoutRooms | Salas de grupos |
captions | Subtítulos |
chat | Chat público y privado |
privateChat | Solo chat privado |
deleteChatMessage | Eliminar mensajes del chat BBB 3.0+ |
editChatMessage | Editar mensajes del chat BBB 3.0+ |
replyChatMessage | Responder a mensajes del chat BBB 3.0+ |
chatMessageReactions | Reacciones en los mensajes del chat BBB 3.0+ |
chatEmojiPicker | Selector de emoji en el chat BBB 3.0+ |
downloadPresentationWithAnnotations | Descargar presentación anotada |
downloadPresentationConvertedToPdf | Descargar presentación convertida |
downloadPresentationOriginalFile | Descargar archivo original de la presentación |
snapshotOfCurrentSlide | Instantánea de la diapositiva actual |
externalVideos | Compartir video externo |
importPresentationWithAnnotationsFromBreakoutRooms | Importar presentación desde salas para grupos pequeños |
importSharedNotesFromBreakoutRooms | Importar notas compartidas desde salas para grupos pequeños |
layouts | Selección de diseño (solo diseño predeterminado) |
learningDashboard | Panel de análisis del aprendizaje |
learningDashboardDownloadSessionData | Descargar datos de sesión del panel |
polls | Encuestas |
screenshare | Compartir pantalla |
sharedNotes | Notas compartidas |
virtualBackgrounds | Fondos virtuales |
customVirtualBackgrounds | Subir fondos virtuales personalizados |
liveTranscription | Transcripción en vivo |
presentation | Presentación |
cameraAsContent | Cámara como contenido |
timer | Temporizador |
infiniteWhiteboard | Pizarra infinita BBB 3.0+ |
raiseHand | Levantar la mano BBB 3.0+ |
userReactions | Reacciones de usuario BBB 3.0+ |
reactions | Reacciones de estado con emoji (diferentes de userReactions) BBB 3.0+ |
quizzes | Cuestionarios BBB 3.0+ |
Ciclo de vida de la reunión
| Parámetro | Tipo | Predeterminado | Descripción |
endWhenNoModerator | Boolean | false | Finalizar automáticamente la reunión cuando no haya ningún moderador presente. BBB 2.3+ |
endWhenNoModeratorDelayInMinutes | Number | 1 | Retraso en minutos antes de la finalización automática cuando no haya ningún moderador presente. BBB 2.2+ |
meetingExpireIfNoUserJoinedInMinutes | Number | 5 | Finalizar la reunión si nadie se une dentro de este número de minutos. BBB 2.5+ |
meetingExpireWhenLastUserLeftInMinutes | Number | 1 | Finalizar la reunión X minutos después de que el último usuario se vaya. 0 = deshabilitado. BBB 2.5+ |
meetingKeepEvents | Boolean | false | Mantener los eventos incluso si la reunión no se está grabando. BBB 2.3+ |
learningDashboardCleanupDelayInMinutes | Number | 2 | Retraso antes de eliminar el panel de análisis de aprendizaje. BBB 2.4+ |
allowRequestsWithoutSession | Boolean | false | Permitir unirse sin una cookie de sesión. BBB 2.4.3+ |
Presentación
| Parámetro | Tipo | Predeterminado | Descripción |
preUploadedPresentation | String | — | URL de un archivo de presentación para precargar. BBB 2.7.2+ |
preUploadedPresentationName | String | — | Nombre de la presentación precargada. BBB 2.7.2+ |
preUploadedPresentationOverrideDefault | Boolean | true | Suprime la presentación predeterminada (default.pdf). BBB 2.5+ |
maxNumPages | Number | 200 | Número máximo de páginas por presentación. BBB 3.0+ |
presentationUploadExternalUrl | String | — | URL de una aplicación externa de selección de archivos. BBB 2.6+ |
presentationUploadExternalDescription | String | — | Descripción de la aplicación externa de carga. BBB 2.6+ |
presentationConversionCacheEnabled | Boolean | — | Habilita la caché de presentaciones al usar almacenamiento S3. BBB 3.0+ |
Grabación
| Parámetro | Tipo | Predeterminado | Descripción |
notifyRecordingIsOn | Boolean | false | Mostrar un cuadro de diálogo modal para el consentimiento de grabación. BBB 2.6+ |
Pizarra
| Parámetro | Tipo | Predeterminado | Descripción |
multiUserWhiteboardEnabled | Boolean | — | Habilita automáticamente el acceso a la pizarra para todos los usuarios. El valor predeterminado es true en las salas de grupos. BBB 3.0+ |
Complementos
| Parámetro | Tipo | Predeterminado | Descripción |
pluginManifests | JSON | — | Lista de manifiestos de complementos para la sesión. BBB 3.0+ |
pluginManifestsFetchUrl | String | — | URL de un archivo JSON que contiene URL de manifiestos de complementos. BBB 3.0+ |
Salas de grupos
Estos parámetros son relevantes al crear una reunión como sala de grupos:
| Parámetro | Tipo | Predeterminado | Descripción |
isBreakout | Boolean | — | Debe ser true para salas de grupos. |
parentMeetingID | String | — | ID de la reunión principal (obligatorio para las salas de grupos). |
sequence | Number | — | Número de secuencia de la sala de grupos (obligatorio para las salas de grupos). |
freeJoin | Boolean | — | Permitir que los participantes elijan libremente su sala de grupos. |
breakoutRoomsPrivateChatEnabled | Boolean | true | Habilitar el chat privado en las salas de grupos. |
breakoutRoomsRecord | Boolean | false | Grabar las salas de grupos. |
breakoutRoomsCaptureSlides | Boolean | false | Capturar las diapositivas de las salas de grupos cuando finalicen. |
breakoutRoomsCaptureNotes | Boolean | false | Capturar las notas de las salas de grupos cuando finalicen. |
breakoutRoomsCaptureSlidesFilename | String | — | Nombre de archivo para las diapositivas capturadas. |
breakoutRoomsCaptureNotesFilename | String | — | Nombre de archivo para las notas capturadas. |
groups | JSON | — | Asignaciones de grupos predefinidas como un array JSON. |
Formato para groups:
[
{"id": "1", "name": "Group A", "roster": ["userId1", "userId2"]},
{"id": "2", "name": "Group B", "roster": ["userId3"]},
{"id": "3", "roster": []}
]
Anulación de la configuración del cliente
| Parámetro | Tipo | Predeterminado | Descripción |
allowOverrideClientSettingsOnCreateCall | Boolean | false | Habilita el parámetro clientSettingsOverride en el cuerpo POST. BBB 3.0+ |
clientSettingsOverride | JSON | — | Anula la configuración del cliente desde settings.yml. BBB 3.0+ |
El parámetro clientSettingsOverride está deshabilitado de forma predeterminada por motivos de seguridad. Sus valores tienen mayor prioridad que la configuración del lado del servidor, y el cuerpo POST no está protegido por checksum.
Ejemplo como XML en el cuerpo POST:
<modules>
<module name="clientSettingsOverride">
<![CDATA[
{
"public": {
"app": {
"appName": "My Conference",
"helpLink": "https://api-guide.bbbserver.com/help"
}
}
}
]]>
</module>
</modules>
Puentes
| Parámetro | Tipo | Predeterminado | Descripción |
cameraBridge Undocumented | String | — | Punto de conexión para el puente de cámara. |
screenShareBridge Undocumented | String | — | Punto de conexión para el puente de compartición de pantalla. |
audioBridge Undocumented | String | — | Punto de conexión para el puente de audio. |
Metaparámetros
Se pueden pasar metadatos arbitrarios como meta_<key>=<value>. Algunos metaparámetros tienen significados especiales:
| Metaparámetro | Descripción |
meta_endCallbackUrl | URL para una devolución de llamada GET cuando finaliza la reunión. Parámetros: meetingID, recordingmarks. |
meta_bbb-recording-ready-url | URL para una devolución de llamada POST cuando la grabación esté lista (firmada con JWT). |
meta_analytics-callback-url | URL para una devolución de llamada POST con datos analíticos al final de la reunión (JSON). |
meta_bbb-anonymize-chat | Anonimizar los remitentes del chat en las grabaciones (solo asistentes). |
meta_bbb-anonymize-chat-moderators | Anonimizar los remitentes del chat en las grabaciones (incluidos los moderadores). |
Además de los parámetros meta_*, también se admiten parámetros plugin_*. Estos se procesan como metadatos del plugin y pueden reemplazar marcadores de posición en las URL del manifiesto del plugin. Undocumented
Ejemplo de solicitud
GET https://api-guide.bbbserver.com/bigbluebutton/api/create?name=Demo&meetingID=replace-with-meeting-id&attendeePW=replace-with-password&moderatorPW=replace-with-password&checksum=replace-with-checksum
Respuesta de ejemplo
<response>
<returncode>SUCCESS</returncode>
<meetingID>replace-with-meeting-id</meetingID>
<internalMeetingID>replace-with-internal-meeting-id</internalMeetingID>
<parentMeetingID>bbb-none</parentMeetingID>
<attendeePW>replace-with-password</attendeePW>
<moderatorPW>replace-with-password</moderatorPW>
<createTime>1715261728123</createTime>
<voiceBridge>70066</voiceBridge>
<dialNumber>613-555-1234</dialNumber>
<createDate>Thu May 09 13:35:28 UTC 2024</createDate>
<hasUserJoined>false</hasUserJoined>
<duration>0</duration>
<hasBeenForciblyEnded>false</hasBeenForciblyEnded>
</response>
Si ya existe una reunión con el mismo ID, la respuesta incluye una advertencia de duplicado:
<response>
<returncode>SUCCESS</returncode>
<meetingID>replace-with-meeting-id</meetingID>
<!-- ... same fields ... -->
<messageKey>duplicateWarning</messageKey>
<message>This conference was already in existence...</message>
</response>
Carga de presentaciones mediante cuerpo POST
Las presentaciones pueden enviarse como un cuerpo XML con la solicitud POST:
<modules>
<module name="presentation">
<document url="https://api-guide.bbbserver.com/files/slides.pdf" filename="slides.pdf"
downloadable="true" removable="false" current="true"/>
<document url="https://api-guide.bbbserver.com/files/extras.pdf" filename="extras.pdf"/>
<document name="inline.pdf">
JVBERi0xLjQK... (Base64-encoded content)
</document>
</module>
</modules>
Atributos por elemento <document>:
| Atributo | Tipo | Predeterminado | Descripción |
url | String | — | URL del archivo externo. |
filename | String | — | Ayuda con la detección del tipo de archivo cuando la URL no tiene extensión. |
name | String | — | Nombre para documentos incrustados en Base64. |
downloadable | Boolean | false | Permitir a los usuarios descargar la presentación. |
removable | Boolean | true | Permitir a los usuarios eliminar la presentación. |
current | Boolean | — | Esta presentación se carga primero. |
Cuando se proporcionan varios documentos, el primero se carga en el cliente mientras que los restantes se convierten en segundo plano.
bbbserver.de Notas
Parámetro adicional
| Parámetro | Tipo | Predeterminado | Descripción |
deactivateBbbserverDefaultChatTexts | Boolean | false | Cuando se establece en false (predeterminado), bbbserver.de inserta automáticamente textos de chat (números de acceso telefónico, aviso de alojamiento). Tus propios textos welcome y moderatorOnlyMessage se añaden después de estos. Establécelo en true para suprimir los textos bbbserver.de (marca blanca). |
Reserva de capacidad
En bbbserver.de, los parámetros maxParticipants y duration tienen un significado especial y se comportan de forma distinta a BigBlueButton estándar.
Al crear una reunión, bbbserver.de reserva capacidad de hardware:
- El número especificado de participantes está garantizado y reservado en un servidor durante la duración especificada.
- La capacidad reservada se deduce de tu cuota contratada de conexiones simultáneas.
- Si no se especifica, se aplican los valores predeterminados: 5 participantes y 60 minutos (configurable en el panel de administración en "Customer Settings → IntegrationAPI").
- Después de que expire la duración, la reunión sigue en ejecución, pero la capacidad ya no está reservada. bbbserver.de puede finalizar la reunión automáticamente si una nueva reunión requiere esa capacidad.
- El parámetro
duration no finaliza reuniones. A diferencia de BBB estándar, debes enviar una llamada de API end para finalizar una reunión después de cierto tiempo.
Desde BBB 3.0, los parámetros attendeePW y moderatorPW están obsoletos. Usa el parámetro role en el endpoint join para asignar roles.
Preguntas frecuentes
El servidor devuelve los datos de la reunión existente en lugar de crear una nueva. La respuesta incluye una clave de mensaje duplicateWarning para indicarlo.
No. Desde BBB 3.0 estas contraseñas están obsoletas y se generan automáticamente. Usa el parámetro role en el endpoint join para asignar roles de asistente o moderador.
Envía una solicitud POST con un cuerpo XML que contenga un elemento modules/module con entradas de documentos. Cada documento puede hacer referencia a una URL externa o contener datos de archivo codificados en Base64.
meta_endCallbackUrl es un metaparámetro estándar que puede propagarse al cliente y a los metadatos de grabación. meetingEndedURL es una devolución de llamada interna del lado del servidor no documentada que permanece interna y no se expone a los clientes.
Cuando creas una reunión, bbbserver.de reserva capacidad de hardware según los valores de maxParticipants y duration. Las plazas reservadas se descuentan de tu cuota de conexiones simultáneas. Después de que expire la duración, la reunión continúa pero ya no está protegida contra su finalización si se necesita capacidad en otro lugar.
Sí, estableciendo allowOverrideClientSettingsOnCreateCall en true y pasando un clientSettingsOverride JSON en el cuerpo POST. Esto está deshabilitado de forma predeterminada por motivos de seguridad, ya que el cuerpo POST no está cubierto por checksum.