BigBlueButton API JS
JavaScript layer to interact with BigBlueButton API. Supports WebHooks.
Read the Official Documentation
Features
- Supports BBB API, and WebHooks
- Provides methods to construct URLs, and calculate SHA checksum
- Provides HTTP client that converts XML responses to JS objects
- Works with Node 10 or newer
Installation
npm i -s bigbluebutton-api-js
Usage
You will need to provide BigBlueButton URL and secret to the script. You can obtain them by logging into you BBB server, and running:
bbb-conf --secret
Use the obtained values in your script:
// Create an API object passing the url, the salt and the mobile salt
const BigBlueButtonApi = require("bigbluebutton-api-js")
const api = new bbb.api(
"https://your-bigbluebutton-server.com/bigbluebutton/api",
"8cd8ef52e8e101574e400365b55e11a6",
"03b07",
);
// A hash of parameters.
// The parameter names are the same names BigBlueButton expects to receive in the API calls. The lib will make sure that, for each API call, only the parameters it support will be used.
const params = {
name: "random-9998650"
meetingID: "random-9998650"
moderatorPW: "mp"
attendeePW: "ap"
welcome: "<br>Welcome to <b>%%CONFNAME%%</b>!"
attendeePW: "ap"
fullName: "User 8584148"
meetingID: "random-9998650"
moderatorPW: "mp"
password: "mp"
publish: false
random: "416074726"
record: false
recordID: "random-9998650"
voiceBridge: "75858"
}
// Than call the `getUrl` function with the endpoint of the API
api.getUrl('create', params)
// Will return prepared URL with all params, similar to:
"https://your-bigbluebutton-server.com/bigbluebutton/api/create?name=random-266119&meetingID=random-266119&moderatorPW=mp&attendeePW=ap&welcome=%3Cbr%3EWelcome%20to%20%3Cb%3E%25%25CONFNAME%25%25%3C%2Fb%3E!&voiceBridge=76262&record=false&checksum=6c529b6e31fbce9668fd66d99a09da7a78f4"
api.getUrl('end', params)
// Will return
"https://your-bigbluebutton-server.com/bigbluebutton/api/end?meetingID=random-266119&password=mp&checksum=4f0df85832063a4606786a8f4207a6629fcc"
api.getUrl('getMeetings', params)
// Will return
"https://your-bigbluebutton-server.com/bigbluebutton/api/getMeetings?random=446147049&checksum=94ba109ea7348ea7d89239855812fdd7bdaf"
License
Distributed under The MIT License (MIT), see LICENSE
.