Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Bigbluebutton Api Php Laravel Package

bigbluebutton/bigbluebutton-api-php

Official PHP 8.2+ client for the BigBlueButton API. Wraps meeting creation, joining, recording management, and server administration in a developer-friendly interface, installable via Composer for quick integration into PHP applications.

View on GitHub
Deep Wiki
Context7
3.0.0

See git history.

Added

  • BBB 3.0 / 4.0 API support
    • getSessions endpoint: returns one session per joined user (GetSessionsResponse, Core\Session)
    • learningDashboard endpoint: learning dashboard data of a running meeting (moderator session required)
    • getJoinUrl endpoint: generates new /join URLs for existing user sessions
    • sendChatMessage endpoint: sends a public chat message into a running meeting
    • feedback endpoint (experimental: reserved in the BBB server source, not routed on current BBB releases)
    • insertDocument: documents via DocumentUrl / DocumentFile
    • Create: clientSettingsOverride POST module (HTML5 client settings per meeting) and clientSettingsOverrideJsonUrl variant
    • Create: shared-notes configuration (sharedNotesEditor, sharedNotesInitialContentJsonUrl, sharedNotesInitialContentJson POST module, sharedNotesInitialContentMarkdown, sharedNotesInitialContentMarkdownUrl, sharedNotesInitialContentMarkdown POST module)
    • Create: loginURL, pluginManifests, pluginManifestsFetchUrl, presentationConversionCacheEnabled, maxNumPages, multiUserWhiteboardEnabled, recordFullDurationMedia, notifyRecordingIsOn, presentationUploadExternalUrl/Description
    • Create: maxPinnedCameras, darklogo, logoutTimer, cameraBridge, screenShareBridge, audioBridge, lockSettingsHideViewersAnnotation, breakout-room capture parameters (breakoutRoomsCaptureSlides/Notes incl. filenames)
    • Create (BBB 4.0): lockSettingsPresenterPolicy (new PresenterPolicy enum), notifyRecordingAppend, requireUserConsentBeforeUnmuting
    • Create: generic plugin_* metadata (addPluginMeta() / setPluginMeta())
    • Join: bot, enforceLayout, logoutURL, firstName, lastName, webcamBackgroundURL, errorRedirectUrl
    • Join (BBB 3.0+): re-join parameters existingUserID, replaceSessionToken, sessionName
    • Join: auth parameter for the guest-policy evaluation (guestPolicy=ALWAYS_ACCEPT_AUTH)
    • MeetingLayout enum: UNIFIED_LAYOUT, PLUGINS_ONLY, PARTICIPANTS_AND_CHAT_ONLY
    • Feature enum (disabledFeatures): privateChat, plugins, multiFunctionalMode, pinChatMessage and all 3.0 options
    • ApiVersionResponse: graphqlWebsocketUrl, graphqlApiUrl, html5PluginSdkVersion
  • PSR-18 http client injection: BigBlueButton::createWithHttpClient() accepts any PSR-18 client with PSR-17 factories; curl remains the dependency-free default. Multipart uploads (caption tracks), BadResponseException error handling and JSESSIONID capture work identically through both transports.
  • Complete mdBook documentation: HTTP client injection, cookies/JSESSIONID, hooks, recordings incl. text tracks, server configuration, FAQ, contribution and testing guides.

Fixed

  • getJoinUrl now parses the real JSON response of the BBB server (the previous XML-based implementation could never work against a real server); former getters are kept as deprecated BC-stubs
  • putRecordingTextTrack uploads the caption track as POST multipart with a file field (was a GET request without file); PutRecordingTextTrackParameters::setTrackFile() provides the track
  • PutRecordingTextTrackResponse::isUploadTrackSuccess() and friends evaluate the message key of successful responses, too
  • BigBlueButton::__construct($baseUrl, $secret) no longer mixes up the two arguments when passed explicitly
  • BaseJsonResponse reads missing message/messageKey properties null-safe
  • The curl transport now reads the cookie jar after the request and extracts the JSESSIONID from the Netscape jar format (the old code read the jar before the request and could never capture a cookie)
  • DocumentFile throws its dedicated exception on unreadable files instead of emitting a PHP warning first
  • getJSessionId() no longer fails on uninitialized access before a session id was captured
  • Empty list parameters (disabledFeatures, disabledFeaturesExclude) are no longer serialized as empty strings on every request; the hooks eventID parameter is deliberately still sent empty — the webhooks application echoes it with an empty element

Deprecated

  • Create: breakoutRoomsEnabled, learningDashboardEnabled, virtualBackgroundsDisabled (replaced by disabledFeatures), copyright, webVoice (no effect since BBB 4.0)
  • Join: defaultLayout (use userdata-bbb_default_layout), webVoiceConf (no effect since BBB 4.0)
  • Feature::LAYOUTS (no longer a valid disabledFeatures option since BBB 4.0)

Changed

  • psr/http-client and psr/http-factory are optional (suggest): the library itself ships without package dependencies and uses curl by default
  • The curl transport releases its cookie temp file also when a request fails; the hooks hashing algorithm is restored when a URL build throws; the parameter-mapping reflection is cached per class
  • JoinMeetingParameters::enforceLayout accepts MeetingLayout|string and is exposed as MeetingLayout enum
  • getJoinMeetingURL() is officially supported again and documented as the standard join flow; joinMeeting() carries a warning that server-side joins skip the session cookie
  • Test suite: 100 percent class, method and line coverage; every API method is additionally tested offline against a stub PSR-18 client
  • Quality gates: PHPStan clean, PHPUnit exits 0, pre-commit hooks pass without bypass; code coverage is opt-in via composer code-coverage
2.3.1
2.3.0
2.2.0
2.1.4
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
laravel2580/idehelpers
delatbabel/viewpages
anavel/gettext
muhamadrezaar/highcharts
delatbabel/keylists
frankkessler/salesforce-laravel-oauth2-rest
anavel/foundation
wdmtech/enviricons
eii/laravel-captcha
muka/shape-reader
tdt/json
refinery29/php-cs-fixer-config
hotmeteor/eco-env
mvaliolahi/hydrate
wearede/tbcpay-php
parsnick/steak
thibaud-dauce/mattermost-php
multilinguals/apollo-client
antaresbr/collection
kr0lik/phpstan-rules