Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2021-03-04 22:41:00 +0300
committerJoas Schilling <coding@schilljs.com>2021-03-08 13:56:21 +0300
commit84fa5678e2c4460039abd2244eaeea8ce205ac75 (patch)
tree145ad09a7e365a346bbbd84e0af66b4202fac0da /docs
parenta3cf504fda348e4e202328262895a3ffe7b65cc9 (diff)
Remove old API version handlings
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/call.md18
-rw-r--r--docs/constants.md2
-rw-r--r--docs/conversation.md67
-rw-r--r--docs/participant.md78
-rw-r--r--docs/webinar.md7
5 files changed, 57 insertions, 115 deletions
diff --git a/docs/call.md b/docs/call.md
index d61298e54..827b733fa 100644
--- a/docs/call.md
+++ b/docs/call.md
@@ -1,8 +1,9 @@
# Call API
-* Base endpoint for API v1 is: `/ocs/v2.php/apps/spreed/api/v1`
-* Base endpoint for API v2 is: `/ocs/v2.php/apps/spreed/api/v2`
-* Base endpoint for API v3 is: `/ocs/v2.php/apps/spreed/api/v3`
+* API v1: 🏁 Removed with API v4
+* API v2: 🏁 Removed with API v4
+* API v3: 🏁 Removed with API v4
+* API v4: Base endpoint `/ocs/v2.php/apps/spreed/api/v4`
## Get list of connected participants
@@ -21,12 +22,11 @@
field | type | API | Description
------|------|-----|------------
- `userId` | string | v1 and v2 only | Is empty for guests
- `actorType` | string | v3 | Actor type of the attendee (see [Constants - Attendee types](constants.md#attendee-types))
- `actorId` | string | v3 | The user id, guest random id or email address of the attendee
- `displayName` | string | v3 | The display name of the attendee
- `lastPing` | int | * | Timestamp of the last ping of the user (should be used for sorting)
- `sessionId` | string | * | 512 character long string
+ `actorType` | string | v4 | Actor type of the attendee (see [Constants - Attendee types](constants.md#attendee-types))
+ `actorId` | string | v4 | The user id, guest random id or email address of the attendee
+ `displayName` | string | v4 | The display name of the attendee
+ `lastPing` | int | v4 | Timestamp of the last ping of the user (should be used for sorting)
+ `sessionId` | string | v4 | 512 character long string
## Join a call
diff --git a/docs/constants.md b/docs/constants.md
index 383c4c2a8..cf1867590 100644
--- a/docs/constants.md
+++ b/docs/constants.md
@@ -19,7 +19,7 @@ title: Constants
* `1` regular users only, excluding guest app users
* `2` everyone
-### Webinary lobby states
+### Webinar lobby states
* `0` no lobby
* `1` lobby for non moderators
diff --git a/docs/conversation.md b/docs/conversation.md
index b1426aed5..e6862dcf3 100644
--- a/docs/conversation.md
+++ b/docs/conversation.md
@@ -1,8 +1,9 @@
# Conversation API
-* Base endpoint for API v1 is: `/ocs/v2.php/apps/spreed/api/v1`
-* Base endpoint for API v2 is: `/ocs/v2.php/apps/spreed/api/v2`
-* Base endpoint for API v3 is: `/ocs/v2.php/apps/spreed/api/v3`
+* API v1: 🏁 Removed with API v4
+* API v2: 🏁 Removed with API v4
+* API v3: 🏁 Removed with API v4
+* API v4: Base endpoint `/ocs/v2.php/apps/spreed/api/v4`
## Get userΒ΄s conversations
@@ -29,37 +30,37 @@
`type` | int | * | See list of conversation types in the [constants list](constants.md#conversation-types)
`name` | string | * | Name of the conversation (can also be empty)
`displayName` | string | * | `name` if non empty, otherwise it falls back to a list of participants
- `description` | string | v3 | Description of the conversation (can also be empty) (only available with `room-description` capability)
+ `description` | string | * | Description of the conversation (can also be empty) (only available with `room-description` capability)
`participantType` | int | * | Permissions level of the current user
- `attendeeId` | int | v3 | Unique attendee id
- `attendeePin` | string | v3 | Unique dial-in authentication code for this user, when the conversation has SIP enabled (see `sipEnabled` attribute)
- `actorType` | string | v3 | Currently known `users|guests|emails|groups`
- `actorId` | string | v3 | The unique identifier for the given actor type
- `participantInCall` | bool | 🏴 v1 | **Deprecated:** ~~Flag if a **random** active session of the current user (might be from a different device) is in the call (deprecated, use `participantFlags` instead)~~
- `participantFlags` | int | * | **Deprecated:** ~~Flags of a **random** active session of the current user (might be from a different device) (only available with `in-call-flags` capability)~~
+ `attendeeId` | int | * | Unique attendee id
+ `attendeePin` | string | * | Unique dial-in authentication code for this user, when the conversation has SIP enabled (see `sipEnabled` attribute)
+ `actorType` | string | * | Currently known `users|guests|emails|groups`
+ `actorId` | string | * | The unique identifier for the given actor type
+ `participantInCall` | 🏁 | 🏁 | **Removed:** use `participantFlags` instead
+ `participantFlags` | int | * | "In call" flags of the user's session making the request (only available with `in-call-flags` capability)
`readOnly` | int | * | Read-only state for the current user (only available with `read-only-rooms` capability)
`listable` | int | * | Listable scope for the room (only available with `listable-rooms` capability)
- `count` | int | 🏴 v1 | **Deprecated:** ~~Number of active users~~ - always returns `0`
- `numGuests` | int | 🏴 v1 | Number of active guests
- `lastPing` | int | * | **Deprecated:** ~~Timestamp of the last ping of a **random** active session of the current user (might be from a different device)~~
- `sessionId` | string | * | `'0'` if not connected, otherwise an up to 512 character long string that is the identifier of a **random** active session of the current user (might be from a different device), should only be used to pre-check if the user joined in another device, but this might be outdated by the time of usage, so better check via [Get list of participants in a conversation](participant.md#get-list-of-participants-in-a-conversation)
+ `count` | 🏁 | 🏁 | **Removed:** Count the users on the [Get list of participants in a conversation](participant.md#get-list-of-participants-in-a-conversation) endpoint
+ `numGuests` | 🏁 | 🏁 | **Removed:** Count the guests on the [Get list of participants in a conversation](participant.md#get-list-of-participants-in-a-conversation) endpoin
+ `lastPing` | int | * | Timestamp of the user's session making the request
+ `sessionId` | string | * | `'0'` if not connected, otherwise an up to 512 character long string that is the identifier of the user's session making the request. Should only be used to pre-check if the user joined already with this session, but this might be outdated by the time of usage, so better check via [Get list of participants in a conversation](participant.md#get-list-of-participants-in-a-conversation)
`hasPassword` | bool | * | Flag if the conversation has a password
`hasCall` | bool | * | Flag if the conversation has an active call
- `callFlag` | int | v3 | Combined flag of all participants in the current call (see [constants list](constants.md#participant-in-call-flag), only available with `conversation-call-flags` capability)
+ `callFlag` | int | * | Combined flag of all participants in the current call (see [constants list](constants.md#participant-in-call-flag), only available with `conversation-call-flags` capability)
`canStartCall` | bool | * | Flag if the user can start a new call in this conversation (joining is always possible) (only available with `start-call-flag` capability)
- `canDeleteConversation` | bool | v2 | Flag if the user can delete the conversation for everyone (not possible without moderator permissions or in one-to-one conversations)
- `canLeaveConversation` | bool | v2 | Flag if the user can leave the conversation (not possible for the last user with moderator permissions)
+ `canDeleteConversation` | bool | * | Flag if the user can delete the conversation for everyone (not possible without moderator permissions or in one-to-one conversations)
+ `canLeaveConversation` | bool | * | Flag if the user can leave the conversation (not possible for the last user with moderator permissions)
`lastActivity` | int | * | Timestamp of the last activity in the conversation, in seconds and UTC time zone
`isFavorite` | bool | * | Flag if the conversation is favorited by the user
- `notificationLevel` | int | * | The notification level for the user (one of `Participant::NOTIFY_*` (1-3))
- `lobbyState` | int | * | Webinary lobby restriction (0-1), if the participant is a moderator they can always join the conversation (only available with `webinary-lobby` capability)
+ `notificationLevel` | int | * | The notification level for the user (See [Participant notification levels](constants.md#Participant-notification-levels))
+ `lobbyState` | int | * | Webinar lobby restriction (0-1), if the participant is a moderator they can always join the conversation (only available with `webinary-lobby` capability) (See [Webinar lobby states](constants.md#webinar-lobby-states))
`lobbyTimer` | int | * | Timestamp when the lobby will be automatically disabled (only available with `webinary-lobby` capability)
- `sipEnabled` | int | v3 | SIP enable status (0-1)
- `canEnableSIP` | int | v3 | Whether the given user can enable SIP for this conversation. Note that when the token is not-numeric only, SIP can not be enabled even if the user is permitted and a moderator of the conversation
+ `sipEnabled` | int | * | SIP enable status (0-1)
+ `canEnableSIP` | int | * | Whether the given user can enable SIP for this conversation. Note that when the token is not-numeric only, SIP can not be enabled even if the user is permitted and a moderator of the conversation
`unreadMessages` | int | * | Number of unread chat messages in the conversation (only available with `chat-v2` capability)
`unreadMention` | bool | * | Flag if the user was mentioned since their last visit
`lastReadMessage` | int | * | ID of the last read message in a room (only available with `chat-read-marker` capability)
- `lastCommonReadMessage` | int | v3 | ID of the last message read by every user that has read privacy set to public in a room. When the user themself has it set to private the value is `0` (only available with `chat-read-status` capability)
+ `lastCommonReadMessage` | int | * | ID of the last message read by every user that has read privacy set to public in a room. When the user themself has it set to private the value is `0` (only available with `chat-read-status` capability)
`lastMessage` | message | * | Last message in a conversation if available, otherwise empty
`objectType` | string | * | The type of object that the conversation is associated with; "share:password" if the conversation is used to request a password for a share, otherwise empty
`objectId` | string | * | Share token if "objectType" is "share:password", otherwise empty
@@ -207,7 +208,7 @@
field | type | Description
------|------|------------
- `state` | int | New state for the conversation
+ `state` | int | New state for the conversation, see [constants list](constants.md#read-only-states)
* Response:
- Status code:
@@ -233,25 +234,9 @@
+ `403 Forbidden` When the conversation is not a public conversation
+ `404 Not Found` When the conversation could not be found for the participant
-## Set conversation password
-
-* Method: `PUT`
-* Endpoint: `/room/{token}/password`
-* Data:
-
- field | type | Description
- ------|------|------------
- `password` | string | Set a new password for the conversation
-
-* Response:
- - Status code:
- + `200 OK`
- + `403 Forbidden` When the current user is not a moderator/owner
- + `403 Forbidden` When the conversation is not a public conversation
- + `404 Not Found` When the conversation could not be found for the participant
-
## Add conversation to favorites
+* Required capability: `favorites`
* Method: `POST`
* Endpoint: `/room/{token}/favorite`
@@ -263,6 +248,7 @@
## Remove conversation from favorites
+* Required capability: `favorites`
* Method: `DELETE`
* Endpoint: `/room/{token}/favorite`
@@ -274,6 +260,7 @@
## Set notification level
+* Required capability: `notification-levels`
* Method: `POST`
* Endpoint: `/room/{token}/notify`
* Data:
diff --git a/docs/participant.md b/docs/participant.md
index 02afee959..86cfb240c 100644
--- a/docs/participant.md
+++ b/docs/participant.md
@@ -1,8 +1,9 @@
# Participant API
-* Base endpoint for API v1 is: `/ocs/v2.php/apps/spreed/api/v1`
-* Base endpoint for API v2 is: `/ocs/v2.php/apps/spreed/api/v2`
-* Base endpoint for API v3 is: `/ocs/v2.php/apps/spreed/api/v3`
+* API v1: 🏁 Removed with API v4
+* API v2: 🏁 Removed with API v4
+* API v3: 🏁 Removed with API v4
+* API v4: Base endpoint `/ocs/v2.php/apps/spreed/api/v4`
## Get list of participants in a conversation
@@ -26,10 +27,9 @@
field | type | API | Description
------|------|-----|------------
- `userId` | string | v1 + v2 only | Is empty for guests
- `attendeeId` | int | v3 | Unique attendee id
- `actorType` | string | v3 | Currently known `users|guests|emails|groups`
- `actorId` | string | v3 | The unique identifier for the given actor type
+ `attendeeId` | int | * | Unique attendee id
+ `actorType` | string | * | Currently known `users|guests|emails|groups`
+ `actorId` | string | * | The unique identifier for the given actor type
`displayName` | string | * | Can be empty for guests
`participantType` | int | * | Permissions level of the participant (see [constants list](constants.md#participant-types))
`lastPing` | int | * | Timestamp of the last ping of the user (should be used for sorting)
@@ -67,7 +67,6 @@
## Delete an attendee by id from a conversation
-* API: Only `v3` or later
* Method: `DELETE`
* Endpoint: `/room/{token}/attendees`
* Data:
@@ -86,27 +85,6 @@
+ `404 Not Found` When the conversation could not be found for the participant
+ `404 Not Found` When the participant to remove could not be found
-## Delete a participant from a conversation
-
-* API: Only `v1` and `v2` (Use [Delete an attendee by id from a conversation](#delete-an-attendee-by-id-from-a-conversation) in later version)
-* Method: `DELETE`
-* Endpoint: `/room/{token}/participants`
-* Data:
-
- field | type | Description
- ------|------|------------
- `participant` | string | User to remove
-
-* Response:
- - Status code:
- + `200 OK`
- + `400 Bad Request` When the participant is a moderator or owner
- + `400 Bad Request` When there are no other moderators or owners left
- + `403 Forbidden` When the current user is not a moderator or owner
- + `403 Forbidden` When the participant to remove is an owner
- + `404 Not Found` When the conversation could not be found for the participant
- + `404 Not Found` When the participant to remove could not be found
-
## Remove yourself from a conversation
* Method: `DELETE`
@@ -118,25 +96,6 @@
+ `400 Bad Request` When the participant is a moderator or owner and there are no other moderators or owners left.
+ `404 Not Found` When the conversation could not be found for the participant
-## Remove a guest from a conversation
-
-* API: Only `v1` and `v2` (Use [Delete an attendee by id from a conversation](#delete-an-attendee-by-id-from-a-conversation) in later versions)
-* Method: `DELETE`
-* Endpoint: `/room/{token}/participants/guests`
-* Data:
-
- field | type | Description
- ------|------|------------
- `participant` | string | Session ID of the guest to remove
-
-* Response:
- - Status code:
- + `200 OK`
- + `400 Bad Request` When the target participant is not a guest
- + `403 Forbidden` When the current user is not a moderator or owner
- + `404 Not Found` When the conversation could not be found for the participant
- + `404 Not Found` When the target participant could not be found
-
## Join a conversation (available for call and chat)
* Method: `POST`
@@ -145,7 +104,7 @@
field | type | Description
------|------|------------
- `password` | string | Optional: Password is only required for users which are of type `4` or `5` and only when the conversation has `hasPassword` set to true.
+ `password` | string | Optional: Password is only required for users which are self joined or guests and only when the conversation has `hasPassword` set to true.
`force` | bool | If set to `false` and the user has an active session already a `409 Conflict` will be returned (Default: true - to keep the old behaviour)
* Response:
@@ -153,7 +112,7 @@
+ `200 OK`
+ `403 Forbidden` When the password is required and didn't match
+ `404 Not Found` When the conversation could not be found for the participant
- + `409 Conflict` When the user already has an active session in the conversation. The suggested behaviour is to ask the user whether they want to kill the old session and force join unless the last ping is older than 60 seconds or older than 40 seconds when the conflicting session is not marked as in a call.
+ + `409 Conflict` When the user already has an active Talk session in the conversation with this Nextcloud session. The suggested behaviour is to ask the user whether they want to kill the old session and force join unless the last ping is older than 60 seconds or older than 40 seconds when the conflicting session is not marked as in a call.
- Data in case of `200 OK`: See array definition in [Get userΒ΄s conversations](conversation.md#get-user-s-conversations)
@@ -174,7 +133,7 @@
field | type | Description
------|------|------------
- `attendeeId` | int or null | Attendee id can be used for guests and users
+ `attendeeId` | int or null | Attendee id can be used for guests and users, not setting it will resend all invitations
* Response:
- Status code:
@@ -198,11 +157,9 @@
* Endpoint: `/room/{token}/moderators`
* Data:
- field | type | API | Description
- ------|------|-----|------------
- `participant` | string or null | v1 + v2 | User to demote
- `sessionId` | string or null | v1 + v2 | Guest session to demote
- `attendeeId` | int or null | v3 | Attendee id can be used for guests and users
+ field | type | Description
+ ------|------|------------
+ `attendeeId` | int | Attendee id can be used for guests and users
* Response:
- Status code:
@@ -219,11 +176,9 @@
* Endpoint: `/room/{token}/moderators`
* Data:
- field | type | API | Description
- ------|------|-----|------------
- `participant` | string or null | v1 + v2 | User to demote
- `sessionId` | string or null | v1 + v2 | Guest session to demote
- `attendeeId` | int or null | v3 | Attendee id can be used for guests and users
+ field | type | Description
+ ------|------|------------
+ `attendeeId` | int | Attendee id can be used for guests and users
* Response:
- Status code:
@@ -238,7 +193,6 @@
Note: This is only allowed with validate SIP bridge requests
-* API: Only `v3` or later
* Required capability: `sip-support`
* Method: `GET`
* Endpoint: `/room/{token}/pin/{pin}`
diff --git a/docs/webinar.md b/docs/webinar.md
index 3e0d9c119..d87bd27da 100644
--- a/docs/webinar.md
+++ b/docs/webinar.md
@@ -8,9 +8,10 @@ Group and public conversations can be used to host webinars. Those online meetin
## Base endpoint
-* Base endpoint for API v1 is: `/ocs/v2.php/apps/spreed/api/v1`
-* Base endpoint for API v2 is: `/ocs/v2.php/apps/spreed/api/v2`
-* Base endpoint for API v3 is: `/ocs/v2.php/apps/spreed/api/v3`
+* API v1: 🏁 Removed with API v4
+* API v2: 🏁 Removed with API v4
+* API v3: 🏁 Removed with API v4
+* API v4: Base endpoint `/ocs/v2.php/apps/spreed/api/v4`
## Set lobby for a conversation