Kapitel 3 GET POST

create – Meeting erstellen

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
breakoutRoomsGruppenräume
captionsUntertitel
chatÖffentlicher und privater Chat
privateChatNur privater Chat
deleteChatMessageChatnachrichten löschen BBB 3.0+
editChatMessageChatnachrichten bearbeiten BBB 3.0+
replyChatMessageAuf Chatnachrichten antworten BBB 3.0+
chatMessageReactionsReaktionen auf Chatnachrichten BBB 3.0+
chatEmojiPickerEmoji-Auswahl im Chat BBB 3.0+
downloadPresentationWithAnnotationsAnnotierte Präsentation herunterladen
downloadPresentationConvertedToPdfKonvertierte Präsentation herunterladen
downloadPresentationOriginalFileOriginale Präsentationsdatei herunterladen
snapshotOfCurrentSlideSchnappschuss der aktuellen Folie
externalVideosExternes Video teilen
importPresentationWithAnnotationsFromBreakoutRoomsPräsentation aus Gruppenräumen importieren
importSharedNotesFromBreakoutRoomsGeteilte Notizen aus Gruppenräumen importieren
layoutsLayout-Auswahl (nur Standardlayout)
learningDashboardDashboard für Lernanalysen
learningDashboardDownloadSessionDataDashboard-Sitzungsdaten herunterladen
pollsUmfragen
screenshareBildschirmfreigabe
sharedNotesGeteilte Notizen
virtualBackgroundsVirtuelle Hintergründe
customVirtualBackgroundsBenutzerdefinierte virtuelle Hintergründe hochladen
liveTranscriptionLive-Transkription
presentationPräsentation
cameraAsContentKamera als Inhalt
timerTimer
infiniteWhiteboardUnendliches Whiteboard BBB 3.0+
raiseHandHand heben BBB 3.0+
userReactionsBenutzerreaktionen BBB 3.0+
reactionsEmoji-Statusreaktionen (anders als userReactions) BBB 3.0+
quizzesQuizze 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.