Hoofdstuk 3 GET POST

create – Vergadering maken

Het endpoint create voorziet een nieuwe vergadering op de BigBlueButton-server. Als er al een vergadering met dezelfde meetingID bestaat, retourneert de server de bestaande vergadergegevens in plaats van een duplicaat aan te maken (idempotent gedrag).

Endpoint

POST GET

https://api-guide.bbbserver.com/bigbluebutton/api/create?<parameters>&checksum=replace-with-checksum

Vereiste parameters

Parameter Type Beschrijving
meetingID String Unieke vergaderingsidentifier (2 tot 256 tekens, geen komma's).
name String Weergavenaam van de vergadering (2 tot 256 tekens). Verplicht sinds BBB 2.4.

Optionele parameters

Algemeen

Parameter Type Standaard Beschrijving
attendeePW Deprecated String (auto) Wachtwoord voor toegang van deelnemers. Verouderd sinds BBB 3.0 — wordt automatisch gegenereerd.
moderatorPW Deprecated String (auto) Wachtwoord voor toegang van moderators. Verouderd sinds BBB 3.0 — wordt automatisch gegenereerd.
welcome String Welkomstbericht dat in de chat wordt weergegeven. Ondersteunt placeholders: %%CONFNAME%%, %%DIALNUM%%, %%CONFNUM%%.
moderatorOnlyMessage String Bericht dat alleen zichtbaar is voor moderators in de chat.
dialNumber String Inbelnummer voor deelname via de telefoon.
voiceBridge String (auto) Vijf willekeurige cijfers (mogen met 0 beginnen, bijv. 07382), automatisch gegenereerd. Moet uniek zijn per vergadering.
maxParticipants Number 0 (unlimited) Maximum aantal deelnemers. Op bbbserver.de wordt deze waarde gebruikt voor capaciteitsreservering (zie de opmerkingen over bbbserver.de hieronder).
duration Number 0 (unlimited) Maximale duur in minuten. In standaard BBB eindigt de vergadering automatisch wanneer de tijd om is. Op bbbserver.de wordt dit alleen gebruikt voor capaciteitsplanning (zie de opmerkingen over bbbserver.de hieronder).
logoutURL String URL waarnaar de gebruiker wordt doorgestuurd na het uitloggen. BBB 3.0+
loginURL String URL die tijdens de vergadering toegankelijk wordt gemaakt voor gebruikers. BBB 3.0+
record Boolean false Schakel opname van media en gebeurtenissen in.
autoStartRecording Boolean false De opname start automatisch wanneer de eerste persoon deelneemt.
allowStartStopRecording Boolean true Sta gebruikers toe om de opname handmatig te starten en te stoppen.
recordFullDurationMedia Boolean false Neem media op gedurende de volledige duur van de vergadering. BBB 2.6.9+
muteOnStart Boolean true Demp alle deelnemers wanneer ze deelnemen.
guestPolicy Enum ALWAYS_ACCEPT Gastbeleid: ALWAYS_ACCEPT, ALWAYS_DENY of ASK_MODERATOR.
webVoice Undocumented String (= telVoice) Identificatiecode voor spraakconferentie voor VoIP-gebruikers. Standaard op de waarde van telVoice als deze niet is ingesteld.
meetingEndedURL Undocumented String Callback-URL die wordt aangeroepen wanneer de vergadering eindigt. In tegenstelling tot meta_endCallbackUrl blijft deze server-side en wordt niet doorgegeven aan de client of opname-metadata.
logoutTimer Undocumented Number 0 (disabled) Time-out in minuten vóór automatische afmelding.

Lay-out en uiterlijk

Parameter Type Standaard Beschrijving
meetingLayout Enum CUSTOM_LAYOUT Standaardlay-out. Mogelijke waarden: UNIFIED_LAYOUT, CUSTOM_LAYOUT, SMART_LAYOUT, PRESENTATION_FOCUS, VIDEO_FOCUS, CAMERAS_ONLY, PARTICIPANTS_AND_CHAT_ONLY, PRESENTATION_ONLY, MEDIA_ONLY.
logo String URL van een logo-afbeelding die boven de deelnemerslijst wordt weergegeven. BBB 2.4+
bannerText String Bannertekst die in de client wordt getoond. BBB 2.0+
bannerColor String Achtergrondkleur van de banner als hexadecimale waarde, bijvoorbeeld #FF0000. BBB 2.0+
darklogo Undocumented String URL van een logo-afbeelding voor donkere modus. BBB 3.0+
copyright Undocumented String Copyrighttekst die in de client wordt weergegeven. BBB 3.0+

Machtigingen en vergrendelingsinstellingen

Parameter Type Standaard Beschrijving
webcamsOnlyForModerator Boolean false Webcams alleen zichtbaar voor moderators.
allowModsToUnmuteUsers Boolean false Moderators toestaan om het dempen van andere gebruikers op te heffen. BBB 2.2+
allowModsToEjectCameras Boolean false Moderators toestaan om de camera's van andere gebruikers te sluiten. BBB 2.4+
allowPromoteGuestToModerator Boolean false Toestaan om gasten te promoveren naar de moderatorrol. BBB 2.7.9+
lockSettingsDisableCam Boolean false Cameradeling vergrendelen voor deelnemers. BBB 2.2+
lockSettingsDisableMic Boolean false Microfoon vergrendelen voor deelnemers (alleen luisteren). BBB 2.2+
lockSettingsDisablePrivateChat Boolean false Privéchats vergrendelen voor deelnemers. BBB 2.2+
lockSettingsDisablePublicChat Boolean false Openbare chat vergrendelen voor deelnemers. BBB 2.2+
lockSettingsDisableNotes Boolean false Gedeelde notities vergrendelen voor deelnemers. BBB 2.2+
lockSettingsHideUserList Boolean false Deelnemerslijst verbergen voor kijkers. BBB 2.2+
lockSettingsHideViewersCursor Boolean false Cursors van andere kijkers op het whiteboard verbergen. BBB 2.5+
lockSettingsHideViewersAnnotation Undocumented Boolean false Whiteboardaantekeningen van andere kijkers verbergen. BBB 2.6+
lockSettingsLockOnJoin Boolean true Vergrendelingsinstellingen direct toepassen wanneer een gebruiker deelneemt. BBB 2.2+
lockSettingsLockOnJoinConfigurable Boolean false De instelling lockSettingsLockOnJoin inschakelen om te worden toegepast. BBB 2.2+

Webcam

Parameter Type Standaard Beschrijving
userCameraCap Number 3 Maximumaantal gelijktijdige webcams per gebruiker. BBB 2.4.5+
meetingCameraCap Number 0 (unlimited) Maximumaantal gelijktijdige webcams in de vergadering. BBB 2.5+
maxPinnedCameras Undocumented Number 3 Maximumaantal vastgezette webcams. BBB 3.0+

Functies uitschakelen

Parameter Type Standaard Beschrijving
disabledFeatures String Door komma's gescheiden lijst met uit te schakelen functies. BBB 2.5+
disabledFeaturesExclude String Door komma's gescheiden lijst met functies die voor deze vergadering opnieuw moeten worden ingeschakeld (overschrijft server-side standaardinstellingen). BBB 2.6.9+

Beschikbare waarden voor disabledFeatures:

Waarde Beschrijving
breakoutRoomsBreakout-ruimtes
captionsOndertitels
chatOpenbare en privéchat
privateChatAlleen privéchat
deleteChatMessageChatberichten verwijderen BBB 3.0+
editChatMessageChatberichten bewerken BBB 3.0+
replyChatMessageAntwoorden op chatberichten BBB 3.0+
chatMessageReactionsReacties op chatberichten BBB 3.0+
chatEmojiPickerEmoji-kiezer in chat BBB 3.0+
downloadPresentationWithAnnotationsGeannoteerde presentatie downloaden
downloadPresentationConvertedToPdfGeconverteerde presentatie downloaden
downloadPresentationOriginalFileOrigineel presentatiebestand downloaden
snapshotOfCurrentSlideMomentopname van de huidige dia
externalVideosExterne video delen
importPresentationWithAnnotationsFromBreakoutRoomsPresentatie importeren uit breakout-rooms
importSharedNotesFromBreakoutRoomsGedeelde notities importeren uit breakout-rooms
layoutsLay-outselectie (alleen standaardlay-out)
learningDashboardDashboard voor leeranalyses
learningDashboardDownloadSessionDataDashboardsessiegegevens downloaden
pollsPeilingen
screenshareScherm delen
sharedNotesGedeelde notities
virtualBackgroundsVirtuele achtergronden
customVirtualBackgroundsAangepaste virtuele achtergronden uploaden
liveTranscriptionLive-transcriptie
presentationPresentatie
cameraAsContentCamera als inhoud
timerTimer
infiniteWhiteboardOneindig whiteboard BBB 3.0+
raiseHandHand opsteken BBB 3.0+
userReactionsGebruikersreacties BBB 3.0+
reactionsEmoji-statusreacties (anders dan userReactions) BBB 3.0+
quizzesQuizzen BBB 3.0+

Vergaderingslevenscyclus

Parameter Type Standaard Beschrijving
endWhenNoModerator Boolean false Beëindig de vergadering automatisch wanneer er geen moderator aanwezig is. BBB 2.3+
endWhenNoModeratorDelayInMinutes Number 1 Vertraging in minuten vóór automatische beëindiging wanneer er geen moderator aanwezig is. BBB 2.2+
meetingExpireIfNoUserJoinedInMinutes Number 5 Beëindig de vergadering als niemand binnen dit aantal minuten deelneemt. BBB 2.5+
meetingExpireWhenLastUserLeftInMinutes Number 1 Beëindig de vergadering X minuten nadat de laatste gebruiker vertrekt. 0 = uitgeschakeld. BBB 2.5+
meetingKeepEvents Boolean false Bewaar gebeurtenissen, ook als de vergadering niet wordt opgenomen. BBB 2.3+
learningDashboardCleanupDelayInMinutes Number 2 Vertraging voordat het dashboard voor leeranalyses wordt verwijderd. BBB 2.4+
allowRequestsWithoutSession Boolean false Toestaan om deel te nemen zonder een sessiecookie. BBB 2.4.3+

Presentatie

Parameter Type Standaard Beschrijving
preUploadedPresentation String URL van een presentatiebestand om vooraf te uploaden. BBB 2.7.2+
preUploadedPresentationName String Naam voor de vooraf geüploade presentatie. BBB 2.7.2+
preUploadedPresentationOverrideDefault Boolean true Onderdruk de standaardpresentatie (default.pdf). BBB 2.5+
maxNumPages Number 200 Maximumaantal pagina's per presentatie. BBB 3.0+
presentationUploadExternalUrl String URL van een externe bestandskiezer-applicatie. BBB 2.6+
presentationUploadExternalDescription String Beschrijving van de externe uploadapplicatie. BBB 2.6+
presentationConversionCacheEnabled Boolean Presentatiecache inschakelen bij gebruik van S3-opslag. BBB 3.0+

Opname

Parameter Type Standaard Beschrijving
notifyRecordingIsOn Boolean false Toon een modaal dialoogvenster voor toestemming voor opname. BBB 2.6+

Whiteboard

Parameter Type Standaard Beschrijving
multiUserWhiteboardEnabled Boolean Automatisch whiteboardtoegang inschakelen voor alle gebruikers. Standaard true in breakout rooms. BBB 3.0+

Plug-ins

Parameter Type Standaard Beschrijving
pluginManifests JSON Lijst met pluginmanifests voor de sessie. BBB 3.0+
pluginManifestsFetchUrl String URL van een JSON-bestand met plugin-manifest-URL's. BBB 3.0+

Breakoutruimtes

Deze parameters zijn relevant bij het aanmaken van een vergadering als breakout room:

Parameter Type Standaard Beschrijving
isBreakout Boolean Moet true zijn voor breakout rooms.
parentMeetingID String Vergaderings-ID van de hoofdvergadering (vereist voor breakout rooms).
sequence Number Volgnummer van de breakout room (vereist voor breakout rooms).
freeJoin Boolean Sta deelnemers toe om vrij hun breakout room te kiezen.
breakoutRoomsPrivateChatEnabled Boolean true Privéchat inschakelen in breakout rooms.
breakoutRoomsRecord Boolean false Breakout rooms opnemen.
breakoutRoomsCaptureSlides Boolean false Leg dia's uit breakout rooms vast wanneer ze eindigen.
breakoutRoomsCaptureNotes Boolean false Leg notities uit breakout rooms vast wanneer ze eindigen.
breakoutRoomsCaptureSlidesFilename String Bestandsnaam voor vastgelegde dia's.
breakoutRoomsCaptureNotesFilename String Bestandsnaam voor vastgelegde notities.
groups JSON Vooraf gedefinieerde groepsindelingen als een JSON-array.

Formaat voor groups:

[
  {"id": "1", "name": "Group A", "roster": ["userId1", "userId2"]},
  {"id": "2", "name": "Group B", "roster": ["userId3"]},
  {"id": "3", "roster": []}
]

Overschrijving van clientinstellingen

Parameter Type Standaard Beschrijving
allowOverrideClientSettingsOnCreateCall Boolean false Schakelt de parameter clientSettingsOverride in de POST-body in. BBB 3.0+
clientSettingsOverride JSON Overschrijft clientinstellingen van settings.yml. BBB 3.0+

De parameter clientSettingsOverride is standaard uitgeschakeld om veiligheidsredenen. De waarden ervan hebben een hogere prioriteit dan server-side configuratie, en de POST-body wordt niet beschermd door de checksum.

Voorbeeld als XML in de POST-body:

<modules>
  <module name="clientSettingsOverride">
    <![CDATA[
    {
      "public": {
        "app": {
          "appName": "My Conference",
                    "helpLink": "https://api-guide.bbbserver.com/help"
        }
      }
    }
    ]]>
  </module>
</modules>

Bruggen

Parameter Type Standaard Beschrijving
cameraBridge Undocumented String Eindpunt voor de camerabrug.
screenShareBridge Undocumented String Eindpunt voor de brug voor schermdeling.
audioBridge Undocumented String Eindpunt voor de audiobrug.

Metaparameters

Willekeurige metadata kunnen worden doorgegeven als meta_<key>=<value>. Sommige metaparameters hebben een speciale betekenis:

Metaparameter Beschrijving
meta_endCallbackUrl URL voor een GET-callback wanneer de vergadering eindigt. Parameters: meetingID, recordingmarks.
meta_bbb-recording-ready-url URL voor een POST-callback wanneer de opname gereed is (JWT-ondertekend).
meta_analytics-callback-url URL voor een POST-callback met analysedata aan het einde van de vergadering (JSON).
meta_bbb-anonymize-chat Anonimiseer afzenders van chatberichten in opnames (alleen deelnemers).
meta_bbb-anonymize-chat-moderators Anonimiseer afzenders van chatberichten in opnames (inclusief moderatoren).

Naast meta_*-parameters worden ook plugin_*-parameters ondersteund. Deze worden verwerkt als pluginmetadata en kunnen placeholders in plugin-manifest-URL's vervangen. Undocumented

Voorbeeldverzoek

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

Voorbeeldrespons

<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>

Als er al een vergadering met dezelfde ID bestaat, bevat het antwoord een waarschuwing voor een duplicaat:

<response>
  <returncode>SUCCESS</returncode>
    <meetingID>replace-with-meeting-id</meetingID>
  <!-- ... same fields ... -->
  <messageKey>duplicateWarning</messageKey>
  <message>This conference was already in existence...</message>
</response>

Presentaties uploaden via POST-body

Presentaties kunnen worden ingediend als een XML-body met het POST-verzoek:

<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>

Attributen per <document>-element:

Attribuut Type Standaard Beschrijving
url String URL van het externe bestand.
filename String Helpt bij het detecteren van het bestandstype wanneer de URL geen extensie heeft.
name String Naam voor in Base64 ingesloten documenten.
downloadable Boolean false Sta gebruikers toe de presentatie te downloaden.
removable Boolean true Sta gebruikers toe de presentatie te verwijderen.
current Boolean Deze presentatie wordt als eerste geladen.

Wanneer meerdere documenten worden opgegeven, wordt het eerste in de client geladen terwijl de overige op de achtergrond worden geconverteerd.

bbbserver.de Notities

Aanvullende parameter

Parameter Type Standaard Beschrijving
deactivateBbbserverDefaultChatTexts Boolean false Wanneer ingesteld op false (standaard), voegt bbbserver.de automatisch chatteksten in (inbelnummers, hostingmelding). Je eigen teksten welcome en moderatorOnlyMessage worden hierna toegevoegd. Stel in op true om de teksten van bbbserver.de te onderdrukken (white labelling).

Capaciteitsreservering

Op bbbserver.de hebben de parameters maxParticipants en duration een speciale betekenis en gedragen ze zich anders dan in standaard BigBlueButton.

Bij het aanmaken van een vergadering reserveert bbbserver.de hardwarecapaciteit:

  • Het opgegeven aantal deelnemers wordt gegarandeerd en voor de opgegeven duur op een server gereserveerd.
  • De gereserveerde capaciteit wordt afgetrokken van je geboekte quotum voor gelijktijdige verbindingen.
  • Als niets is opgegeven, gelden de standaardwaarden: 5 deelnemers en 60 minuten (configureerbaar in het beheerpaneel onder "Customer Settings → IntegrationAPI").
  • Nadat de duur is verstreken, blijft de vergadering actief, maar wordt er geen capaciteit meer gereserveerd. bbbserver.de kan de vergadering automatisch beëindigen als een nieuwe vergadering die capaciteit nodig heeft.
  • De parameter duration beëindigt geen vergaderingen. In tegenstelling tot standaard BBB moet je een end API-aanroep versturen om een vergadering na een bepaalde tijd te beëindigen.

Sinds BBB 3.0 zijn de parameters attendeePW en moderatorPW verouderd. Gebruik in plaats daarvan de parameter role op het endpoint join om rollen toe te wijzen.

Veelgestelde vragen

De server retourneert de gegevens van de bestaande vergadering in plaats van een nieuwe aan te maken. Het antwoord bevat een berichtsleutel duplicateWarning om dit aan te geven.

Nee. Sinds BBB 3.0 zijn deze wachtwoorden verouderd en worden ze automatisch gegenereerd. Gebruik de parameter role op het endpoint join om rollen voor deelnemers of moderators toe te wijzen.

Verstuur een POST-verzoek met een XML-body die een element modules/module bevat met documentvermeldingen. Elk document kan verwijzen naar een externe URL of Base64-gecodeerde bestandsdata bevatten.

meta_endCallbackUrl is een standaard meta-parameter die kan worden doorgegeven aan de client en aan opnamemetadata. meetingEndedURL is een ongedocumenteerde server-side callback die intern blijft en niet aan clients wordt blootgesteld.

Wanneer je een vergadering aanmaakt, reserveert bbbserver.de hardwarecapaciteit op basis van de waarden maxParticipants en duration. De gereserveerde slots worden afgetrokken van je quota voor gelijktijdige verbindingen. Nadat de duur is verstreken, loopt de vergadering door, maar is deze niet langer beschermd tegen beëindiging als elders capaciteit nodig is.

Ja, door allowOverrideClientSettingsOnCreateCall op true te zetten en een clientSettingsOverride JSON mee te geven in de POST-body. Dit is standaard uitgeschakeld om veiligheidsredenen, aangezien de POST-body niet door de checksum wordt gedekt.