summaryrefslogtreecommitdiffstats
path: root/docs/webinar.md
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2019-10-09 11:48:35 +0200
committerJoas Schilling <coding@schilljs.com>2019-10-10 11:19:22 +0200
commit672409118ad37b6e66d1561f92e9d9a553b1452f (patch)
treecda6d12b623abda7c81cc49c92c735c0c0f8d70c /docs/webinar.md
parentd689e32190592927252a6e1afbee86b6a2762143 (diff)
Update the Webinar(y) controller to the latest
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'docs/webinar.md')
-rw-r--r--docs/webinar.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/webinar.md b/docs/webinar.md
new file mode 100644
index 000000000..7b084a136
--- /dev/null
+++ b/docs/webinar.md
@@ -0,0 +1,29 @@
+# Webinar management
+
+Group and public conversations can be used to host webinaries. Those online meetings can have a lobby, which come with the following restrictions:
+* Only moderators can start/join a call
+* Only moderators can read and write chat messages
+* Normal users can only join the room. They then pull the room endpoint regularly for an update and should start the chat and signaling as well as allowing to join the call, once the lobby got disabled.
+
+
+Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`
+
+## Set lobby for a conversation
+
+* Required capability: `webinary-lobby`
+* Method: `PUT`
+* Endpoint: `/room/{token}/webinar/lobby`
+* Data:
+
+ field | type | Description
+ ------|------|------------
+ `state` | int | New state for the conversation
+ `timer` | int/null | Timestamp when the lobby state is reset to no lobby
+
+* Response:
+ - Header:
+ + `200 OK`
+ + `400 Bad Request` When the conversation type does not support lobby (only group and public conversation atm)
+ + `400 Bad Request` When the given timestamp is invalid
+ + `403 Forbidden` When the current user is not a moderator/owner
+ + `404 Not Found` When the conversation could not be found for the participant