Der Endpunkt create stellt ein neues Meeting auf dem BigBlueButton-Server bereit. Wenn bereits ein Meeting mit derselben meetingID existiert, gibt der Server die vorhandenen Meeting-Daten zurück, anstatt ein Duplikat zu erstellen (idempotentes Verhalten).
Endpunkt
POST GET
https://api-guide.bbbserver.com/bigbluebutton/api/create?<parameters>&checksum=replace-with-checksum
Erforderliche Parameter
| Parameter | Typ | Beschreibung |
meetingID | String | Eindeutige Meeting-Kennung (2 bis 256 Zeichen, keine Kommata). |
name | String | Anzeigename des Meetings (2 bis 256 Zeichen). Erforderlich seit BBB 2.4. |
Optionale Parameter
Allgemein
| Parameter | Typ | Standard | Beschreibung |
attendeePW Deprecated | String | (auto) | Passwort für den Teilnehmerzugang. Veraltet seit BBB 3.0 — wird automatisch erzeugt. |
moderatorPW Deprecated | String | (auto) | Passwort für den Moderatorzugang. Veraltet seit BBB 3.0 — wird automatisch erzeugt. |
welcome | String | — | Willkommensnachricht, die im Chat angezeigt wird. Unterstützt Platzhalter: %%CONFNAME%%, %%DIALNUM%%, %%CONFNUM%%. |
moderatorOnlyMessage | String | — | Nachricht, die im Chat nur für Moderatoren sichtbar ist. |
dialNumber | String | — | Einwahlnummer für die telefonische Teilnahme. |
voiceBridge | String | (auto) | Fünf zufällige Ziffern (können mit 0 beginnen, z. B. 07382), werden automatisch erzeugt. Müssen pro Meeting eindeutig sein. |
maxParticipants | Number | 0 (unlimited) | Maximale Anzahl an Teilnehmenden. Auf bbbserver.de wird dieser Wert für die Kapazitätsreservierung verwendet (siehe Hinweise zu bbbserver.de unten). |
duration | Number | 0 (unlimited) | Maximale Dauer in Minuten. In standardmäßigem BBB endet das Meeting automatisch, wenn die Zeit abgelaufen ist. Auf bbbserver.de wird dies nur für die Kapazitätsplanung verwendet (siehe Hinweise zu bbbserver.de unten). |
logoutURL | String | — | URL, zu der der Benutzer nach dem Logout weitergeleitet wird. BBB 3.0+ |
loginURL | String | — | URL, die den Benutzern während des Meetings zugänglich gemacht wird. BBB 3.0+ |
record | Boolean | false | Aufzeichnung von Medien und Ereignissen aktivieren. |
autoStartRecording | Boolean | false | Die Aufzeichnung startet automatisch, wenn die erste Person beitritt. |
allowStartStopRecording | Boolean | true | Benutzern erlauben, die Aufzeichnung manuell zu starten und zu stoppen. |
recordFullDurationMedia | Boolean | false | Medien für die gesamte Dauer des Meetings aufzeichnen. BBB 2.6.9+ |
muteOnStart | Boolean | true | Alle Teilnehmer stummschalten, wenn sie beitreten. |
guestPolicy | Enum | ALWAYS_ACCEPT | Gastrichtlinie: ALWAYS_ACCEPT, ALWAYS_DENY oder ASK_MODERATOR. |
webVoice Undocumented | String | (= telVoice) | Kennung der Sprachkonferenz für VoIP-Nutzer. Standardmäßig wird der Wert von telVoice verwendet, wenn nichts gesetzt ist. |
meetingEndedURL Undocumented | String | — | Callback-URL, die aufgerufen wird, wenn das Meeting endet. Anders als meta_endCallbackUrl bleibt diese serverseitig und wird nicht an den Client oder in die Aufzeichnungsmetadaten weitergegeben. |
logoutTimer Undocumented | Number | 0 (disabled) | Zeitüberschreitung in Minuten vor automatischer Abmeldung. |
Layout & Erscheinungsbild
| Parameter | Typ | Standard | Beschreibung |
meetingLayout | Enum | CUSTOM_LAYOUT | Standardlayout. Mögliche Werte: UNIFIED_LAYOUT, CUSTOM_LAYOUT, SMART_LAYOUT, PRESENTATION_FOCUS, VIDEO_FOCUS, CAMERAS_ONLY, PARTICIPANTS_AND_CHAT_ONLY, PRESENTATION_ONLY, MEDIA_ONLY. |
logo | String | — | URL eines Logo-Bildes, das oberhalb der Teilnehmerliste angezeigt wird. BBB 2.4+ |
bannerText | String | — | Im Client angezeigter Banner-Text. BBB 2.0+ |
bannerColor | String | — | Hintergrundfarbe des Banners als Hex-Wert, z. B. #FF0000. BBB 2.0+ |
darklogo Undocumented | String | — | URL eines Logo-Bildes für den Dunkelmodus. BBB 3.0+ |
copyright Undocumented | String | — | Im Client angezeigter Urheberrechtstext. BBB 3.0+ |
Berechtigungen & Sperreinstellungen
| Parameter | Typ | Standard | Beschreibung |
webcamsOnlyForModerator | Boolean | false | Webcams nur für Moderatoren sichtbar. |
allowModsToUnmuteUsers | Boolean | false | Moderatoren erlauben, die Stummschaltung anderer Nutzer aufzuheben. BBB 2.2+ |
allowModsToEjectCameras | Boolean | false | Moderatoren erlauben, die Kameras anderer Nutzer zu schließen. BBB 2.4+ |
allowPromoteGuestToModerator | Boolean | false | Erlauben, Gäste zur Moderatorrolle zu befördern. BBB 2.7.9+ |
lockSettingsDisableCam | Boolean | false | Kamerafreigabe für Teilnehmer sperren. BBB 2.2+ |
lockSettingsDisableMic | Boolean | false | Mikrofon für Teilnehmer sperren (nur zuhören). BBB 2.2+ |
lockSettingsDisablePrivateChat | Boolean | false | Privaten Chat für Teilnehmer sperren. BBB 2.2+ |
lockSettingsDisablePublicChat | Boolean | false | Öffentlichen Chat für Teilnehmer sperren. BBB 2.2+ |
lockSettingsDisableNotes | Boolean | false | Geteilte Notizen für Teilnehmer sperren. BBB 2.2+ |
lockSettingsHideUserList | Boolean | false | Teilnehmerliste vor Zuschauern verbergen. BBB 2.2+ |
lockSettingsHideViewersCursor | Boolean | false | Cursor anderer Zuschauer auf dem Whiteboard verbergen. BBB 2.5+ |
lockSettingsHideViewersAnnotation Undocumented | Boolean | false | Whiteboard-Anmerkungen anderer Zuschauer verbergen. BBB 2.6+ |
lockSettingsLockOnJoin | Boolean | true | Sperreinstellungen sofort anwenden, wenn ein Nutzer beitritt. BBB 2.2+ |
lockSettingsLockOnJoinConfigurable | Boolean | false | Die Anwendung der Einstellung lockSettingsLockOnJoin aktivieren. BBB 2.2+ |
Webcam
| Parameter | Typ | Standard | Beschreibung |
userCameraCap | Number | 3 | Maximale Anzahl gleichzeitiger Webcams pro Nutzer. BBB 2.4.5+ |
meetingCameraCap | Number | 0 (unlimited) | Maximale Anzahl gleichzeitiger Webcams im Meeting. BBB 2.5+ |
maxPinnedCameras Undocumented | Number | 3 | Maximale Anzahl angehefteter Webcams. BBB 3.0+ |
Funktionen deaktivieren
| Parameter | Typ | Standard | Beschreibung |
disabledFeatures | String | — | Kommagetrennte Liste der zu deaktivierenden Funktionen. BBB 2.5+ |
disabledFeaturesExclude | String | — | Kommagetrennte Liste der für dieses Meeting wieder zu aktivierenden Funktionen (überschreibt serverseitige Standardwerte). BBB 2.6.9+ |
Verfügbare Werte für disabledFeatures:
| Wert | Beschreibung |
breakoutRooms | Gruppenräume |
captions | Untertitel |
chat | Öffentlicher und privater Chat |
privateChat | Nur privater Chat |
deleteChatMessage | Chatnachrichten löschen BBB 3.0+ |
editChatMessage | Chatnachrichten bearbeiten BBB 3.0+ |
replyChatMessage | Auf Chatnachrichten antworten BBB 3.0+ |
chatMessageReactions | Reaktionen auf Chatnachrichten BBB 3.0+ |
chatEmojiPicker | Emoji-Auswahl im Chat BBB 3.0+ |
downloadPresentationWithAnnotations | Annotierte Präsentation herunterladen |
downloadPresentationConvertedToPdf | Konvertierte Präsentation herunterladen |
downloadPresentationOriginalFile | Originale Präsentationsdatei herunterladen |
snapshotOfCurrentSlide | Schnappschuss der aktuellen Folie |
externalVideos | Externes Video teilen |
importPresentationWithAnnotationsFromBreakoutRooms | Präsentation aus Gruppenräumen importieren |
importSharedNotesFromBreakoutRooms | Geteilte Notizen aus Gruppenräumen importieren |
layouts | Layout-Auswahl (nur Standardlayout) |
learningDashboard | Dashboard für Lernanalysen |
learningDashboardDownloadSessionData | Dashboard-Sitzungsdaten herunterladen |
polls | Umfragen |
screenshare | Bildschirmfreigabe |
sharedNotes | Geteilte Notizen |
virtualBackgrounds | Virtuelle Hintergründe |
customVirtualBackgrounds | Benutzerdefinierte virtuelle Hintergründe hochladen |
liveTranscription | Live-Transkription |
presentation | Präsentation |
cameraAsContent | Kamera als Inhalt |
timer | Timer |
infiniteWhiteboard | Unendliches Whiteboard BBB 3.0+ |
raiseHand | Hand heben BBB 3.0+ |
userReactions | Benutzerreaktionen BBB 3.0+ |
reactions | Emoji-Statusreaktionen (anders als userReactions) BBB 3.0+ |
quizzes | Quizze BBB 3.0+ |
Meeting-Lebenszyklus
| Parameter | Typ | Standard | Beschreibung |
endWhenNoModerator | Boolean | false | Das Meeting automatisch beenden, wenn kein Moderator anwesend ist. BBB 2.3+ |
endWhenNoModeratorDelayInMinutes | Number | 1 | Verzögerung in Minuten vor der automatischen Beendigung, wenn kein Moderator anwesend ist. BBB 2.2+ |
meetingExpireIfNoUserJoinedInMinutes | Number | 5 | Das Meeting beenden, wenn innerhalb von so vielen Minuten niemand beitritt. BBB 2.5+ |
meetingExpireWhenLastUserLeftInMinutes | Number | 1 | Das Meeting X Minuten, nachdem der letzte Benutzer gegangen ist, beenden. 0 = deaktiviert. BBB 2.5+ |
meetingKeepEvents | Boolean | false | Ereignisse beibehalten, auch wenn das Meeting nicht aufgezeichnet wird. BBB 2.3+ |
learningDashboardCleanupDelayInMinutes | Number | 2 | Verzögerung vor dem Löschen des Learning-Analytics-Dashboards. BBB 2.4+ |
allowRequestsWithoutSession | Boolean | false | Beitritt ohne Sitzungscookie erlauben. BBB 2.4.3+ |
Präsentation
| Parameter | Typ | Standard | Beschreibung |
preUploadedPresentation | String | — | URL einer Präsentationsdatei zum Vorab-Upload. BBB 2.7.2+ |
preUploadedPresentationName | String | — | Name für die vorab hochgeladene Präsentation. BBB 2.7.2+ |
preUploadedPresentationOverrideDefault | Boolean | true | Die Standardpräsentation unterdrücken (default.pdf). BBB 2.5+ |
maxNumPages | Number | 200 | Maximale Anzahl von Seiten pro Präsentation. BBB 3.0+ |
presentationUploadExternalUrl | String | — | URL einer externen Dateiauswahl-Anwendung. BBB 2.6+ |
presentationUploadExternalDescription | String | — | Beschreibung für die externe Upload-Anwendung. BBB 2.6+ |
presentationConversionCacheEnabled | Boolean | — | Präsentations-Cache aktivieren, wenn S3-Speicher verwendet wird. BBB 3.0+ |
Aufzeichnung
| Parameter | Typ | Standard | Beschreibung |
notifyRecordingIsOn | Boolean | false | Einen modalen Dialog für die Aufzeichnungszustimmung anzeigen. BBB 2.6+ |
Whiteboard
| Parameter | Typ | Standard | Beschreibung |
multiUserWhiteboardEnabled | Boolean | — | Whiteboard-Zugriff automatisch für alle Benutzer aktivieren. Standardmäßig true in Gruppenräumen. BBB 3.0+ |
Plugins
| Parameter | Typ | Standard | Beschreibung |
pluginManifests | JSON | — | Liste der Plugin-Manifeste für die Sitzung. BBB 3.0+ |
pluginManifestsFetchUrl | String | — | URL einer JSON-Datei, die Plugin-Manifest-URLs enthält. BBB 3.0+ |
Gruppenräume
Diese Parameter sind relevant, wenn ein Meeting als Breakout-Raum erstellt wird:
| Parameter | Typ | Standard | Beschreibung |
isBreakout | Boolean | — | Muss für Gruppenräume true sein. |
parentMeetingID | String | — | Meeting-ID des übergeordneten Meetings (erforderlich für Breakout-Räume). |
sequence | Number | — | Sequenznummer des Breakout-Raums (erforderlich für Breakout-Räume). |
freeJoin | Boolean | — | Teilnehmern erlauben, ihren Breakout-Raum frei zu wählen. |
breakoutRoomsPrivateChatEnabled | Boolean | true | Privaten Chat in Breakout-Räumen aktivieren. |
breakoutRoomsRecord | Boolean | false | Breakout-Räume aufzeichnen. |
breakoutRoomsCaptureSlides | Boolean | false | Folien aus Breakout-Räumen erfassen, wenn sie enden. |
breakoutRoomsCaptureNotes | Boolean | false | Notizen aus Breakout-Räumen erfassen, wenn sie enden. |
breakoutRoomsCaptureSlidesFilename | String | — | Dateiname für erfasste Folien. |
breakoutRoomsCaptureNotesFilename | String | — | Dateiname für erfasste Notizen. |
groups | JSON | — | Vordefinierte Gruppenzuweisungen als JSON-Array. |
Format für groups:
[
{"id": "1", "name": "Group A", "roster": ["userId1", "userId2"]},
{"id": "2", "name": "Group B", "roster": ["userId3"]},
{"id": "3", "roster": []}
]
Überschreibung der Client-Einstellungen
| Parameter | Typ | Standard | Beschreibung |
allowOverrideClientSettingsOnCreateCall | Boolean | false | Aktiviert den Parameter clientSettingsOverride im POST-Body. BBB 3.0+ |
clientSettingsOverride | JSON | — | Überschreibt Client-Einstellungen aus settings.yml. BBB 3.0+ |
Der Parameter clientSettingsOverride ist aus Sicherheitsgründen standardmäßig deaktiviert. Seine Werte haben eine höhere Priorität als die serverseitige Konfiguration, und der POST-Body ist nicht durch die checksum geschützt.
Beispiel als XML im POST-Body:
<modules>
<module name="clientSettingsOverride">
<![CDATA[
{
"public": {
"app": {
"appName": "My Conference",
"helpLink": "https://api-guide.bbbserver.com/help"
}
}
}
]]>
</module>
</modules>
Bruecken
| Parameter | Typ | Standard | Beschreibung |
cameraBridge Undocumented | String | — | Endpunkt fuer die Kamerabruecke. |
screenShareBridge Undocumented | String | — | Endpunkt fuer die Bildschirmfreigabe-Bruecke. |
audioBridge Undocumented | String | — | Endpunkt fuer die Audiobruecke. |
Meta-Parameter
Beliebige Metadaten koennen als meta_<key>=<value> uebergeben werden. Einige Meta-Parameter haben besondere Bedeutungen:
| Meta-Parameter | Beschreibung |
meta_endCallbackUrl | URL für einen GET-Callback, wenn das Meeting endet. Parameter: meetingID, recordingmarks. |
meta_bbb-recording-ready-url | URL für einen POST-Callback, wenn die Aufzeichnung bereit ist (JWT-signiert). |
meta_analytics-callback-url | URL für einen POST-Callback mit Analysedaten beim Meeting-Ende (JSON). |
meta_bbb-anonymize-chat | Chat-Absender in Aufzeichnungen anonymisieren (nur Teilnehmer). |
meta_bbb-anonymize-chat-moderators | Chat-Absender in Aufzeichnungen anonymisieren (einschliesslich Moderatoren). |
Zusaetzlich zu den meta_*-Parametern werden auch plugin_*-Parameter unterstuetzt. Diese werden als Plugin-Metadaten verarbeitet und koennen Platzhalter in Plugin-Manifest-URLs ersetzen. Undocumented
Beispielanfrage
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
Beispielantwort
<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>
Wenn bereits ein Meeting mit derselben ID existiert, enthaelt die Antwort eine Warnung ueber ein Duplikat:
<response>
<returncode>SUCCESS</returncode>
<meetingID>replace-with-meeting-id</meetingID>
<!-- ... same fields ... -->
<messageKey>duplicateWarning</messageKey>
<message>This conference was already in existence...</message>
</response>
Präsentationen über den POST-Body hochladen
Präsentationen können als XML-Body mit der Anfrage POST übermittelt werden:
<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>
Attribute pro <document>-Element:
| Attribut | Typ | Standard | Beschreibung |
url | String | — | URL der externen Datei. |
filename | String | — | Hilft bei der Erkennung des Dateityps, wenn die URL keine Erweiterung hat. |
name | String | — | Name für Base64-eingebettete Dokumente. |
downloadable | Boolean | false | Benutzern erlauben, die Praesentation herunterzuladen. |
removable | Boolean | true | Benutzern erlauben, die Praesentation zu entfernen. |
current | Boolean | — | Diese Praesentation wird zuerst geladen. |
Wenn mehrere Dokumente bereitgestellt werden, wird das erste im Client geladen, waehrend die uebrigen im Hintergrund konvertiert werden.
bbbserver.de Hinweise
Zusaetzlicher Parameter
| Parameter | Typ | Standard | Beschreibung |
deactivateBbbserverDefaultChatTexts | Boolean | false | Wenn auf false gesetzt (Standard), fügt bbbserver.de automatisch Chat-Texte ein (Einwahlnummern, Hosting-Hinweis). Ihre eigenen Texte welcome und moderatorOnlyMessage werden danach angehängt. Setzen Sie es auf true, um die bbbserver.de-Texte zu unterdrücken (White-Labeling). |
Kapazitaetsreservierung
Auf bbbserver.de haben die Parameter maxParticipants und duration eine besondere Bedeutung und verhalten sich anders als im Standard-BigBlueButton.
Beim Erstellen eines Meetings reserviert bbbserver.de Hardware-Kapazität:
- Die angegebene Teilnehmerzahl wird fuer die angegebene Dauer garantiert und auf einem Server reserviert.
- Die reservierte Kapazitaet wird von Ihrem gebuchten Kontingent gleichzeitiger Verbindungen abgezogen.
- Wenn nicht angegeben, gelten Standardwerte: 5 Teilnehmer und 60 Minuten (konfigurierbar im Admin-Panel unter „Customer Settings → IntegrationAPI“).
- Nach Ablauf der Dauer läuft das Meeting weiter, aber die Kapazität ist nicht mehr reserviert. bbbserver.de kann das Meeting automatisch beenden, wenn ein neues Meeting die Kapazität benötigt.
- Der Parameter
duration beendet Meetings nicht. Anders als beim Standard-BBB müssen Sie einen end-API-Aufruf senden, um ein Meeting nach einer bestimmten Zeit zu beenden.
Seit BBB 3.0 sind die Parameter attendeePW und moderatorPW veraltet. Verwenden Sie stattdessen den Parameter role im Endpunkt join, um Rollen zuzuweisen.
Häufig gestellte Fragen
Der Server gibt die Daten des bestehenden Meetings zurück, anstatt ein neues zu erstellen. Die Antwort enthält zur Kennzeichnung einen duplicateWarning-Nachrichtenschlüssel.
Nein. Seit BBB 3.0 sind diese Passwörter veraltet und werden automatisch erzeugt. Verwenden Sie den Parameter role im Endpunkt join, um Teilnehmer- oder Moderatorrollen zuzuweisen.
Senden Sie eine POST-Anfrage mit einem XML-Body, der ein modules/module-Element mit Dokumenteinträgen enthält. Jedes Dokument kann auf eine externe URL verweisen oder Base64-kodierte Dateidaten enthalten.
meta_endCallbackUrl ist ein Standard-Meta-Parameter, der an den Client und in die Aufzeichnungsmetadaten weitergegeben werden kann. meetingEndedURL ist ein undokumentierter serverseitiger Callback, der intern bleibt und nicht an Clients offengelegt wird.
Wenn Sie ein Meeting erstellen, reserviert bbbserver.de Hardware-Kapazität auf Basis der Werte maxParticipants und duration. Die reservierten Plätze werden von Ihrem Kontingent gleichzeitiger Verbindungen abgezogen. Nach Ablauf der Dauer läuft das Meeting weiter, ist aber nicht mehr davor geschützt, beendet zu werden, wenn die Kapazität anderswo benötigt wird.
Ja, indem Sie allowOverrideClientSettingsOnCreateCall auf true setzen und ein clientSettingsOverride JSON im POST-Body übergeben. Dies ist aus Sicherheitsgründen standardmäßig deaktiviert, da der POST-Body nicht durch die checksum abgedeckt ist.