Кінцева точка create створює нову зустріч на сервері BigBlueButton. Якщо зустріч із таким самим meetingID уже існує, сервер повертає дані наявної зустрічі замість створення дубліката (ідемпотентна поведінка).
Ендпоінт
POST GET
https://api-guide.bbbserver.com/bigbluebutton/api/create?<parameters>&checksum=replace-with-checksum
Обов’язкові параметри
| Параметр | Тип | Опис |
meetingID | String | Унікальний ідентифікатор зустрічі (від 2 до 256 символів, без ком). |
name | String | Відображувана назва зустрічі (від 2 до 256 символів). Обов’язково, починаючи з BBB 2.4. |
Необов’язкові параметри
Загальне
| Параметр | Тип | За замовчуванням | Опис |
attendeePW Deprecated | String | (auto) | Пароль для доступу учасників. Застаріло з BBB 3.0 — генерується автоматично. |
moderatorPW Deprecated | String | (auto) | Пароль для доступу модератора. Застаріло з BBB 3.0 — генерується автоматично. |
welcome | String | — | Привітальне повідомлення, що відображається в чаті. Підтримує заповнювачі: %%CONFNAME%%, %%DIALNUM%%, %%CONFNUM%%. |
moderatorOnlyMessage | String | — | Повідомлення, видиме лише модераторам у чаті. |
dialNumber | String | — | Номер для підключення телефоном. |
voiceBridge | String | (auto) | П’ять випадкових цифр (може починатися з 0, наприклад 07382), генерується автоматично. Має бути унікальним для кожної зустрічі. |
maxParticipants | Number | 0 (unlimited) | Максимальна кількість учасників. На bbbserver.de це значення використовується для резервування місткості (див. примітки bbbserver.de нижче). |
duration | Number | 0 (unlimited) | Максимальна тривалість у хвилинах. У стандартному BBB зустріч автоматично завершується після закінчення часу. На bbbserver.de це використовується лише для планування місткості (див. примітки bbbserver.de нижче). |
logoutURL | String | — | URL, на який користувача буде перенаправлено після виходу. BBB 3.0+ |
loginURL | String | — | URL, доступний користувачам під час зустрічі. BBB 3.0+ |
record | Boolean | false | Увімкнути запис медіа та подій. |
autoStartRecording | Boolean | false | Запис починається автоматично, коли приєднується перша особа. |
allowStartStopRecording | Boolean | true | Дозволити користувачам вручну запускати та зупиняти запис. |
recordFullDurationMedia | Boolean | false | Записувати медіа протягом усього часу зустрічі. BBB 2.6.9+ |
muteOnStart | Boolean | true | Вимикати мікрофон усім учасникам під час входу. |
guestPolicy | Enum | ALWAYS_ACCEPT | Політика гостей: ALWAYS_ACCEPT, ALWAYS_DENY або ASK_MODERATOR. |
webVoice Undocumented | String | (= telVoice) | Ідентифікатор голосової конференції для користувачів VoIP. Якщо не задано, за замовчуванням використовується значення telVoice. |
meetingEndedURL Undocumented | String | — | URL зворотного виклику, що викликається після завершення зустрічі. На відміну від meta_endCallbackUrl, він залишається на стороні сервера і не передається клієнту або в метадані запису. |
logoutTimer Undocumented | Number | 0 (disabled) | Тайм-аут у хвилинах до автоматичного виходу. |
Макет і вигляд
| Параметр | Тип | За замовчуванням | Опис |
meetingLayout | Enum | CUSTOM_LAYOUT | Макет за замовчуванням. Можливі значення: UNIFIED_LAYOUT, CUSTOM_LAYOUT, SMART_LAYOUT, PRESENTATION_FOCUS, VIDEO_FOCUS, CAMERAS_ONLY, PARTICIPANTS_AND_CHAT_ONLY, PRESENTATION_ONLY, MEDIA_ONLY. |
logo | String | — | URL зображення логотипа, що відображається над списком учасників. BBB 2.4+ |
bannerText | String | — | Текст банера, що відображається в клієнті. BBB 2.0+ |
bannerColor | String | — | Колір фону банера у hex-форматі, наприклад #FF0000. BBB 2.0+ |
darklogo Undocumented | String | — | URL зображення логотипа для темного режиму. BBB 3.0+ |
copyright Undocumented | String | — | Текст авторських прав, що відображається в клієнті. BBB 3.0+ |
Дозволи та налаштування блокування
| Параметр | Тип | За замовчуванням | Опис |
webcamsOnlyForModerator | Boolean | false | Вебкамери видимі лише модераторам. |
allowModsToUnmuteUsers | Boolean | false | Дозволити модераторам вмикати звук іншим користувачам. BBB 2.2+ |
allowModsToEjectCameras | Boolean | false | Дозволити модераторам вимикати камери інших користувачів. BBB 2.4+ |
allowPromoteGuestToModerator | Boolean | false | Дозволити підвищення гостей до ролі модератора. BBB 2.7.9+ |
lockSettingsDisableCam | Boolean | false | Заблокувати доступ учасникам до поширення камери. BBB 2.2+ |
lockSettingsDisableMic | Boolean | false | Заблокувати мікрофон для учасників (лише прослуховування). BBB 2.2+ |
lockSettingsDisablePrivateChat | Boolean | false | Заблокувати приватний чат для учасників. BBB 2.2+ |
lockSettingsDisablePublicChat | Boolean | false | Заблокувати публічний чат для учасників. BBB 2.2+ |
lockSettingsDisableNotes | Boolean | false | Заблокувати спільні нотатки для учасників. BBB 2.2+ |
lockSettingsHideUserList | Boolean | false | Приховати список учасників від глядачів. BBB 2.2+ |
lockSettingsHideViewersCursor | Boolean | false | Приховати курсори інших глядачів на дошці. BBB 2.5+ |
lockSettingsHideViewersAnnotation Undocumented | Boolean | false | Приховати анотації інших глядачів на дошці. BBB 2.6+ |
lockSettingsLockOnJoin | Boolean | true | Застосовувати налаштування блокування одразу, коли користувач приєднується. BBB 2.2+ |
lockSettingsLockOnJoinConfigurable | Boolean | false | Увімкніть параметр lockSettingsLockOnJoin, щоб його можна було застосувати. BBB 2.2+ |
Вебкамера
| Параметр | Тип | За замовчуванням | Опис |
userCameraCap | Number | 3 | Максимальна кількість одночасних вебкамер на одного користувача. BBB 2.4.5+ |
meetingCameraCap | Number | 0 (unlimited) | Максимальна кількість одночасних вебкамер у зустрічі. BBB 2.5+ |
maxPinnedCameras Undocumented | Number | 3 | Максимальна кількість закріплених вебкамер. BBB 3.0+ |
Вимкнення функцій
| Параметр | Тип | За замовчуванням | Опис |
disabledFeatures | String | — | Список функцій для вимкнення, розділений комами. BBB 2.5+ |
disabledFeaturesExclude | String | — | Список функцій для повторного ввімкнення для цієї зустрічі, розділений комами (перевизначає серверні значення за замовчуванням). BBB 2.6.9+ |
Доступні значення для disabledFeatures:
| Значення | Опис |
breakoutRooms | Сесійні кімнати |
captions | Субтитри |
chat | Публічний і приватний чат |
privateChat | Лише приватний чат |
deleteChatMessage | Видалення повідомлень чату BBB 3.0+ |
editChatMessage | Редагування повідомлень чату BBB 3.0+ |
replyChatMessage | Відповідь на повідомлення чату BBB 3.0+ |
chatMessageReactions | Реакції на повідомлення чату BBB 3.0+ |
chatEmojiPicker | Вибір емодзі в чаті BBB 3.0+ |
downloadPresentationWithAnnotations | Завантажити анотовану презентацію |
downloadPresentationConvertedToPdf | Завантажити конвертовану презентацію |
downloadPresentationOriginalFile | Завантажити оригінальний файл презентації |
snapshotOfCurrentSlide | Знімок поточного слайда |
externalVideos | Поширити зовнішнє відео |
importPresentationWithAnnotationsFromBreakoutRooms | Імпортувати презентацію з сесійних залів |
importSharedNotesFromBreakoutRooms | Імпортувати спільні нотатки з сесійних залів |
layouts | Вибір макета (лише макет за замовчуванням) |
learningDashboard | Панель аналітики навчання |
learningDashboardDownloadSessionData | Завантажити дані сеансу панелі керування |
polls | Опитування |
screenshare | Спільний доступ до екрана |
sharedNotes | Спільні нотатки |
virtualBackgrounds | Віртуальні фони |
customVirtualBackgrounds | Завантажити власні віртуальні фони |
liveTranscription | Жива транскрипція |
presentation | Презентація |
cameraAsContent | Камера як вміст |
timer | Таймер |
infiniteWhiteboard | Безмежна дошка BBB 3.0+ |
raiseHand | Піднята рука BBB 3.0+ |
userReactions | Реакції користувачів BBB 3.0+ |
reactions | Реакції статусу емодзі (відрізняються від userReactions) BBB 3.0+ |
quizzes | Вікторини BBB 3.0+ |
Життєвий цикл зустрічі
| Параметр | Тип | За замовчуванням | Опис |
endWhenNoModerator | Boolean | false | Автоматично завершувати зустріч, якщо модератор відсутній. BBB 2.3+ |
endWhenNoModeratorDelayInMinutes | Number | 1 | Затримка в хвилинах перед автоматичним завершенням, якщо модератор відсутній. BBB 2.2+ |
meetingExpireIfNoUserJoinedInMinutes | Number | 5 | Завершити зустріч, якщо ніхто не приєднається протягом такої кількості хвилин. BBB 2.5+ |
meetingExpireWhenLastUserLeftInMinutes | Number | 1 | Завершити зустріч через X хвилин після виходу останнього користувача. 0 = вимкнено. BBB 2.5+ |
meetingKeepEvents | Boolean | false | Зберігати події, навіть якщо зустріч не записується. BBB 2.3+ |
learningDashboardCleanupDelayInMinutes | Number | 2 | Затримка перед видаленням панелі аналітики навчання. BBB 2.4+ |
allowRequestsWithoutSession | Boolean | false | Дозволити приєднання без cookie сеансу. BBB 2.4.3+ |
Презентація
| Параметр | Тип | За замовчуванням | Опис |
preUploadedPresentation | String | — | URL файлу презентації для попереднього завантаження. BBB 2.7.2+ |
preUploadedPresentationName | String | — | Назва для попередньо завантаженої презентації. BBB 2.7.2+ |
preUploadedPresentationOverrideDefault | Boolean | true | Придушити стандартну презентацію (default.pdf). BBB 2.5+ |
maxNumPages | Number | 200 | Максимальна кількість сторінок на презентацію. BBB 3.0+ |
presentationUploadExternalUrl | String | — | URL зовнішнього застосунку вибору файлів. BBB 2.6+ |
presentationUploadExternalDescription | String | — | Опис зовнішнього застосунку завантаження. BBB 2.6+ |
presentationConversionCacheEnabled | Boolean | — | Увімкнути кеш презентації при використанні сховища S3. BBB 3.0+ |
Запис
| Параметр | Тип | За замовчуванням | Опис |
notifyRecordingIsOn | Boolean | false | Показувати модальне вікно для згоди на запис. BBB 2.6+ |
Дошка
| Параметр | Тип | За замовчуванням | Опис |
multiUserWhiteboardEnabled | Boolean | — | Автоматично надати доступ до дошки всім користувачам. За замовчуванням true у кімнатах для групової роботи. BBB 3.0+ |
Розширення
| Параметр | Тип | За замовчуванням | Опис |
pluginManifests | JSON | — | Список маніфестів плагінів для сеансу. BBB 3.0+ |
pluginManifestsFetchUrl | String | — | URL-адреса файла JSON, що містить URL-адреси маніфестів плагінів. BBB 3.0+ |
Сесійні кімнати
Ці параметри мають значення під час створення зустрічі як сесійної кімнати:
| Параметр | Тип | За замовчуванням | Опис |
isBreakout | Boolean | — | Для кімнат для групової роботи має бути true. |
parentMeetingID | String | — | ID зустрічі батьківської зустрічі (обов’язково для сесійних кімнат). |
sequence | Number | — | Порядковий номер сесійної кімнати (обов’язково для сесійних кімнат). |
freeJoin | Boolean | — | Дозволити учасникам вільно обирати свою сесійну кімнату. |
breakoutRoomsPrivateChatEnabled | Boolean | true | Увімкнути приватний чат у сесійних кімнатах. |
breakoutRoomsRecord | Boolean | false | Записувати сесійні кімнати. |
breakoutRoomsCaptureSlides | Boolean | false | Захоплювати слайди із сесійних кімнат після їх завершення. |
breakoutRoomsCaptureNotes | Boolean | false | Захоплювати нотатки із сесійних кімнат після їх завершення. |
breakoutRoomsCaptureSlidesFilename | String | — | Ім’я файлу для захоплених слайдів. |
breakoutRoomsCaptureNotesFilename | String | — | Ім’я файлу для захоплених нотаток. |
groups | JSON | — | Попередньо визначені призначення груп у вигляді масиву JSON. |
Формат для groups:
[
{"id": "1", "name": "Group A", "roster": ["userId1", "userId2"]},
{"id": "2", "name": "Group B", "roster": ["userId3"]},
{"id": "3", "roster": []}
]
Перевизначення налаштувань клієнта
| Параметр | Тип | За замовчуванням | Опис |
allowOverrideClientSettingsOnCreateCall | Boolean | false | Увімкнює параметр clientSettingsOverride у тілі POST. BBB 3.0+ |
clientSettingsOverride | JSON | — | Перевизначає налаштування клієнта з settings.yml. BBB 3.0+ |
Параметр clientSettingsOverride за замовчуванням вимкнений з міркувань безпеки. Його значення мають вищий пріоритет, ніж конфігурація на стороні сервера, а тіло POST не захищене checksum.
Приклад як XML у тілі POST:
<modules>
<module name="clientSettingsOverride">
<![CDATA[
{
"public": {
"app": {
"appName": "My Conference",
"helpLink": "https://api-guide.bbbserver.com/help"
}
}
}
]]>
</module>
</modules>
Мости
| Параметр | Тип | За замовчуванням | Опис |
cameraBridge Undocumented | String | — | Кінцева точка для моста камери. |
screenShareBridge Undocumented | String | — | Кінцева точка для моста спільного доступу до екрана. |
audioBridge Undocumented | String | — | Кінцева точка для аудіомоста. |
Мета-параметри
Довільні метадані можна передавати як meta_<key>=<value>. Деякі мета-параметри мають особливе значення:
| Мета-параметр | Опис |
meta_endCallbackUrl | URL-адреса для зворотного виклику GET, коли зустріч завершується. Параметри: meetingID, recordingmarks. |
meta_bbb-recording-ready-url | URL-адреса для зворотного виклику POST, коли запис готовий (підписаний JWT). |
meta_analytics-callback-url | URL-адреса для зворотного виклику POST з аналітичними даними наприкінці зустрічі (JSON). |
meta_bbb-anonymize-chat | Анонімізувати відправників чату в записах (лише учасники). |
meta_bbb-anonymize-chat-moderators | Анонімізувати відправників чату в записах (включно з модераторами). |
Окрім параметрів meta_*, також підтримуються параметри plugin_*. Вони обробляються як метадані плагіна й можуть замінювати заповнювачі в URL маніфесту плагіна. Undocumented
Приклад запиту
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
Приклад відповіді
<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>
Якщо зустріч з таким самим ID уже існує, відповідь містить попередження про дублікат:
<response>
<returncode>SUCCESS</returncode>
<meetingID>replace-with-meeting-id</meetingID>
<!-- ... same fields ... -->
<messageKey>duplicateWarning</messageKey>
<message>This conference was already in existence...</message>
</response>
Завантаження презентацій через тіло POST
Презентації можна надсилати як тіло XML разом із запитом 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>
Атрибути для кожного елемента <document>:
| Атрибут | Тип | За замовчуванням | Опис |
url | String | — | URL зовнішнього файлу. |
filename | String | — | Допомагає визначити тип файлу, якщо URL не має розширення. |
name | String | — | Назва для документів, вбудованих у Base64. |
downloadable | Boolean | false | Дозволити користувачам завантажувати презентацію. |
removable | Boolean | true | Дозволити користувачам видаляти презентацію. |
current | Boolean | — | Ця презентація завантажується першою. |
Коли надано кілька документів, перший завантажується в клієнті, тоді як решта конвертуються у фоновому режимі.
bbbserver.de Примітки
Додатковий параметр
| Параметр | Тип | За замовчуванням | Опис |
deactivateBbbserverDefaultChatTexts | Boolean | false | Якщо встановлено false (типово), bbbserver.de автоматично вставляє тексти чату (номери для дозвону, повідомлення про хостинг). Ваші власні тексти welcome і moderatorOnlyMessage додаються після них. Встановіть true, щоб приховати тексти bbbserver.de (white-labelling). |
Резервування місткості
На bbbserver.de параметри maxParticipants і duration мають особливе значення та поводяться інакше, ніж у стандартному BigBlueButton.
Під час створення зустрічі bbbserver.de резервує апаратну місткість:
- Указана кількість учасників гарантується й резервується на сервері на вказану тривалість.
- Зарезервована місткість віднімається з вашої заброньованої квоти одночасних підключень.
- Якщо не вказано, застосовуються значення за замовчуванням: 5 учасників і 60 хвилин (налаштовується в панелі адміністратора в розділі "Customer Settings → IntegrationAPI").
- Після завершення тривалості зустріч продовжує працювати, але місткість більше не резервується. bbbserver.de може автоматично завершити зустріч, якщо новій зустрічі знадобиться ця місткість.
- Параметр
duration не завершує зустрічі. На відміну від стандартного BBB, ви повинні надіслати API-виклик end, щоб завершити зустріч через певний час.
Починаючи з BBB 3.0, параметри attendeePW і moderatorPW є застарілими. Натомість використовуйте параметр role у кінцевій точці join для призначення ролей.
Поширені запитання
Сервер повертає дані наявної зустрічі замість створення нової. Відповідь містить ключ повідомлення duplicateWarning, який на це вказує.
Ні. Починаючи з BBB 3.0, ці паролі є застарілими й генеруються автоматично. Використовуйте параметр role у кінцевій точці join для призначення ролей учасника або модератора.
Надішліть запит POST із тілом XML, що містить елемент modules/module із записами документів. Кожен документ може посилатися на зовнішню URL-адресу або містити дані файла в кодуванні Base64.
meta_endCallbackUrl — це стандартний метапараметр, який може бути переданий клієнту та в метадані запису. meetingEndedURL — це недокументований серверний зворотний виклик, який залишається внутрішнім і не розкривається клієнтам.
Коли ви створюєте зустріч, bbbserver.de резервує апаратну місткість на основі значень maxParticipants і duration. Зарезервовані слоти віднімаються з вашої квоти одночасних підключень. Після завершення тривалості зустріч триває, але більше не захищена від завершення, якщо місткість знадобиться в іншому місці.
Так, установивши allowOverrideClientSettingsOnCreateCall у true і передавши clientSettingsOverride JSON у тілі POST. За замовчуванням це вимкнено з міркувань безпеки, оскільки тіло POST не охоплюється checksum.