Работа с участниками чата
Работа с участниками чата
Запросы клиента
Добавить участника в чат
Добавляет пользователя в групповой чат или канал. Для выполнения операции требуются соответствующие права.
Запрос:
{
"type": 1,
"id": 1,
"method": "addChatParticipant",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"userId": "user@video.example.com",
"displayHistory": false
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
| method | string | Да | Команда addChatParticipant |
| chatId | string | Да | Идентификатор чата, в который добавляется пользователь |
| userId | string | Да | TrueConf ID пользователя, добавляемого в чат |
| displayHistory | bool | Нет | 5.5.3+ Флаг отображения истории чата. Если true, то пользователь увидит старые сообщения |
Ответ:
{
"type": 2,
"id": 1,
"payload": {}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
| payload | object | Да | В случае успеха вы получите пустой объект |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.
Удалить участника чата
Удаляет указанного участника из чата. Может использоваться только в групповых чатах и каналах. Для выполнения операции требуются соответствующие права.
Запрос:
{
"type": 1,
"id": 1,
"method": "removeChatParticipant",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"userId": "user@video.example.com",
"clearHistory" : false
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
| method | string | Да | Команда removeChatParticipant |
| chatId | string | Да | Идентификатор чата, из которого удаляют пользователя |
| userId | string | Да | TrueConf ID удаляемого пользователя |
| clearHistory | bool | Нет | 5.5.3+ Если true, то чат будет очищен вместе с удалением участника. По умолчанию — false. |
Ответ:
{
"type": 2,
"id": 1,
"payload": {}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
| payload | object | Да | В случае успеха вы получите пустой объект |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.
Изменить роль участника 5.5.2+
Позволяет изменить роль участника чата. Для изменения роли у вас должно быть соответствующее право. Также вы получите нотификацию при изменении роли любого участника чата.
Запрос:
{
"type": 1,
"id": 1,
"method": "changeParticipantRole",
"payload": {
"chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054",
"userId": "user@video.example.com",
"role": "admin"
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
| method | string | Да | Команда changeParticipantRole |
| chatId | string | Да | Идентификатор чата |
| userId | string | Да | TrueConf ID пользователя, для которого меняется роль |
| role | string | Да | Новая роль пользователя |
Ответ:
{
"type": 2,
"id": 1,
"payload": {}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
| payload | object | Да | В случае успеха вы получите пустой объект |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.
Получить участника чата 5.5.3+
Возвращает участника указанного чата, включая его роль и тип.
Запрос:
{
"type": 1,
"id": 1,
"method": "getChatParticipant",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"userId": "user@video.example.com",
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
| method | string | Да | Команда getChatParticipant |
| chatId | string | Да | Идентификатор чата |
| userId | string | Да | TrueConf ID запрашиваемого пользователя |
Ответ:
{
"type": 2,
"id": 1,
"payload": {
"userId": "user@video.example.com",
"role": "user",
"type": 1
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
| userId | string | Да | TrueConf ID пользователя |
| role | string | Да | Роль пользователя (см. описание) |
| type | uint32 | Да | Тип пользователя (см. описание) |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.
Получить участников чата
Возвращает список всех участников указанного чата, включая их роль и тип.
Запрос:
{
"type": 1,
"id": 1,
"method": "getChatParticipants",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"pageSize": 100,
"pageNumber": 1
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
| method | string | Да | Команда getChatParticipants |
| chatId | string | Да | Идентификатор чата |
| pageSize | uint32 | Да | Количество записей с информацией об участниках чата в ответе на запрос |
| pageNumber | uint32 | Да | Смещение, с которым будет возвращён список участников. Расчитывается по формуле startOffset = pageSize * pageNumber |
Ответ:
{
"type": 2,
"id": 1,
"payload": {
"participants": [
{
"userId": "user@video.example.com",
"role": "user",
"type": 1
},
{
"userId": "admin@video.example.com",
"role": "admin",
"type": 1
}
]
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
| participants | Array | Да | Список участников чата, представленный в виде объектов ChatParticipant |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.
Проверить участника в чате Deprecated in 5.5.3+
Используйте запрос getChatParticipant.
Запрос:
{
"type": 1,
"id": 1,
"method": "hasChatParticipant",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"userId": "user@video.example.com"
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
| method | string | Да | Команда hasChatParticipant |
| chatId | string | Да | Идентификатор чата, в котором проверяется наличие пользователя |
| userId | string | Да | TrueConf ID проверяемого пользователя |
Ответ:
{
"type": 2,
"id": 1,
"payload": {
"result": true
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
| result | boolean | Да | Флаг наличия участника в чате. Если true — участник присутствует в чате |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.
Уведомления сервера
Добавлен участник в чат
Сервер отправляет уведомление, когда новый участник был добавлен в групповой чат или канал.
Сообщение от сервера:
{
"method": "addChatParticipant",
"type": 1,
"id": 1,
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"userId": "user@video.example.com",
"userRole": "owner",
"addedBy": {
"id": "admin@video.example.com",
"type": 1
},
"timestamp": "1735370776"
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| method | string | Да | Команда addChatParticipant |
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной. Подробнее читайте тут |
| chatId | string | Да | Идентификатор чата, куда был добавлен пользователь |
| userId | string | Да | TrueConf ID пользователя, которого добавили в чат |
| userRole | string | Да | 5.5.2+ Роль пользователя, который добавил участника в чат |
| addedBy.id | string | Да | Уникальный идентификатор пользователя, добавившего нового участника. Это TrueConf ID или имя сервера, в зависимости от addedBy.type |
| addedBy.type | uint32 | Да | Тип пользователя, который добавил нового участника. См. EnvelopeAuthorTypeEnum |
| timestamp | uint64 | Да | Временная метка добавления участника в чат в формате UNIX timestamp (в миллисекундах) |
Ответ от клиента:
{
"type": 2,
"id": 123456
}| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор сообщения, на которое дается ответ (см. подробнее) |
Удален участник чата
Сервер отправляет уведомление, когда участник был исключён из группового чата или канала.
Сообщение от сервера:
{
"method": "removedChatParticipant",
"type": 1,
"id": 1,
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"userId": "user@video.example.com",
"removedBy": {
"id": "admin@video.example.com",
"type": 1
},
"timestamp": "1735370778"
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| method | string | Да | Команда removeChatParticipant |
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
| chatId | string | Да | Идентификатор чата, где был удален пользователь |
| userId | string | Да | TrueConf ID пользователя, которого удалили из чата |
| removedBy.id | string | Да | Уникальный идентификатор пользователя, удалившего участника из чата. Это либо TrueConf ID, либо имя сервера, с которого пришло сообщение. Тип идентификатора зависит от поля removedBy.type |
| removedBy.type | uint32 | Да | Тип пользователя, который удалил участника из чата. Подробнее см. EnvelopeAuthorTypeEnum |
| timestamp | uint64 | Да | Временная метка удаления участника из чата в формате UNIX timestamp с точностью до миллисекунд |
Ответ от клиента:
{
"type": 2,
"id": 123456
}| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор сообщения, на которое дается ответ (см. подробнее) |
Изменена роль участника 5.5.2+
Сервер отправляет уведомление, когда роль участника чата была изменена.
Запрос:
{
"type": 1,
"id": 1,
"method": "changeParticipantRole",
"payload": {
"chatId": "7e5ea3e8b5ed63e1443b2e4dcdd68b9f196abae1",
"userId": "user@video.example.com",
"role": "admin",
"timestamp": 1760594447544
}
}| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST |
| id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
| method | string | Да | Команда changeParticipantRole |
| chatId | string | Да | Идентификатор чата |
| userId | string | Да | TrueConf ID пользователя, роль которого изменилась |
| role | string | Да | Новая роль пользователя |
| timestamp | uint64 | Да | Временная метка изменения роли участника чата в формате UNIX timestamp с точностью до миллисекунд |
Ответ от клиента:
{
"type": 2,
"id": 123456
}| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| type | uint32 | Да | Тип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE |
| id | uint32 | Да | Идентификатор сообщения, на которое дается ответ (см. подробнее) |