Skip to content
This repository was archived by the owner on Mar 22, 2023. It is now read-only.

Commit f2cb343

Browse files
authored
Merge pull request #387 from GuiLeme/doc-issue-14014
[doc-issue-14014] - Updated documentation regarding new endpoint.
2 parents 2689a1e + 7b58122 commit f2cb343

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

_data/insertDocument.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- name: "meetingID"
2+
required: true
3+
type: "String"
4+
description: "The meeting ID that identifies the meeting you want to insert documents."

_posts/2.5/2021-06-09-new.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@ You can now pin a webcam so it always stays visible. This is useful if one on o
6161

6262
Private guest lobby message, display position in waiting line
6363

64+
### Improvements to Endpoint API
65+
66+
#### New endpoint
67+
68+
A new API endpoint was added: `/insertDocument`. Now, it is possible to send a batch of documents with all the common presentation parameters such as `current`, `downloadable` and `removable`.
69+
70+
All the presentations are sent via payload (the body of the request) such as when preuploading documents in `/create` endpoint, whether by a link to download the file or by `base64` encoded file. See the [API documentation](/dev/api.html#insertdocument) for more information
71+
6472
## Engagement
6573

6674
### Text message broadcasting to breakout rooms

_posts/dev/2015-04-05-api.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ For developers, this API enables you to
1919
- create meetings
2020
- join meetings
2121
- end meetings
22+
- insert documents
2223
- get recordings for past meetings (and delete them)
2324
- upload closed caption files for meetings
2425

@@ -79,6 +80,8 @@ Updated in 2.5:
7980

8081
- **create** - **Added:** `meetingCameraCap`, `groups`, `disabledFeatures`, `meetingExpireIfNoUserJoinedInMinutes`, `meetingExpireWhenLastUserLeftInMinutes`; **Deprecated:** `learningDashboardEnabled`, `breakoutRoomsEnabled`, `virtualBackgroundsDisabled`.
8182

83+
- **insertDocument** endopoint was first introduced
84+
8285
# API Data Types
8386

8487
There are three types in the API.
@@ -324,6 +327,7 @@ The following section describes the administration calls
324327
| create | Creates a new meeting. |
325328
| join | Join a new user to an existing meeting. |
326329
| end | Ends meeting. |
330+
| insertDocument | Insert a batch of documents via API call |
327331

328332
## Monitoring
329333

@@ -529,6 +533,54 @@ There is only an XML response for this call if the `redirect` parameter is set t
529533
</response>
530534
```
531535

536+
## insertDocument
537+
538+
This endpoint insert one or more documents into a running meeting via API call
539+
540+
**Resource URL:**
541+
542+
https&#58;//yourserver.com/bigbluebutton/api/insertDocument?[parameters]&checksum=[checksum]
543+
544+
**Parameters:**
545+
546+
{% include api_table.html endpoint="insertDocument" %}
547+
548+
**Example Requests:**
549+
550+
You can do the request either via greenlight or `curl`, which I am going to demonstrate in the following paragraph.
551+
552+
First, it is necessary to have the xml string with the batch of the wanted presentations in hand. As an example, see the xml down below:
553+
554+
``` xml
555+
<modules>
556+
<module name="presentation">
557+
<document current="true" downloadable="true" url="{link to download the presentation}" filename="sample.pdf"/>
558+
<document removable="false" name="sample.pdf">
559+
JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSAoT3RoZXJfc2FtcGxlKQovUHJvZHVjZXIgKFNraWEvUERGIG0xMDAgR29vZ2xlIERvY3MgUmVuZGVyZXIpPj4KZW5... {base64 encoded document}
560+
</document>
561+
</module>
562+
</modules>
563+
```
564+
565+
Now you need to write the `curl` command which will be:
566+
567+
``` bash
568+
curl -s -X POST "https://{your-host}/bigbluebutton/api/insertDocument?meetingID=Test&checksum=6b76e90b9a20481806a7ef513bc81ef0299609ed" --header "Content-Type: application/xml" --data '{xml}'
569+
```
570+
571+
Combining both together, we get:
572+
573+
``` bash
574+
curl -s -X POST "https://{your-host}/bigbluebutton/api/insertDocument?meetingID=Test&checksum=6b76e90b9a20481806a7ef513bc81ef0299609ed" --header "Content-Type: application/xml" --data '<modules>
575+
<module name="presentation">
576+
<document current="true" downloadable="true" url="{link to download the presentation}" filename="sample.pdf"/>
577+
<document removable="false" name="sample.pdf">
578+
JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSAoT3RoZXJfc2FtcGxlKQovUHJvZHVjZXIgKFNraWEvUERGIG0xMDAgR29vZ2xlIERvY3MgUmVuZGVyZXIpPj4KZW5... {base64 encoded document}
579+
</document>
580+
</module>
581+
</modules>'
582+
```
583+
532584
## isMeetingRunning
533585

534586
This call enables you to simply check on whether or not a meeting is running by looking it up with your meeting ID.

0 commit comments

Comments
 (0)