# Работа с чатами
# Запросы клиента
# Создать личный чат
Создание личного чата (peer-to-peer) с пользователем сервера. Если бот никогда не писал данному пользователю - будет создан новый чат. Если бот отправлял данному пользователю сообщения - будет возвращен уже существующий чат.
Запрос:
{
"type": 1,
"id": 1,
"method": "createP2PChat",
"payload": {
"userId": "user@video.example.com"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда createP2PChat |
userId | string | Да | TrueConf ID пользователя, с которым мы хотим создать чат |
Ответ:
{
"type": 2,
"id": 1,
"payload": {
"chatId": "4a1f88f1070d2f43d385cde9ff61964bc6b74477"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
chatId | string | Да | Идентификатор созданного чата |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode
. Список возможных значений доступен в соответствующем разделе документации.
# Создать групповой чат
Запрос:
{
"type": 1,
"id": 1,
"method": "createGroupChat",
"payload": {
"title": "TrueConf Server Administrators’ Chat",
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда createGroupChat |
title | string | Да | Название группового чата |
Ответ:
{
"type": 2,
"id": 1,
"payload": {
"chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
chatId | string | Да | Идентификатор созданного группового чата |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode
. Список возможных значений доступен в соответствующем разделе документации.
# Создать канал
Запрос:
{
"type": 1,
"id": 1,
"method": "createChannel",
"payload": {
"title": "Company news"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда createChannel |
title | string | Да | Название канала |
Ответ:
{
"type": 2,
"id": 1,
"payload": {
"chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
chatId | string | Да | Идентификатор созданного канала |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode
. Список возможных значений доступен в соответствующем разделе документации.
# Удалить чат
Удаляет указанный чат (личный, групповой или канал). После удаления чат будет недоступен для всех участников.
Запрос:
{
"type": 1,
"id": 1,
"method": "removeChat",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда removeChat |
chatId | string | Да | Идентификатор удаляемого чата |
Ответ:
{
"type": 2,
"id": 1,
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
chatId | string | Да | Идентификатор удалённого чата |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode
. Список возможных значений доступен в соответствующем разделе документации.
# Добавить участника в чат
Добавляет пользователя в групповой чат или канал. Для выполнения операции требуются соответствующие права.
Запрос:
{
"type": 1,
"id": 1,
"method": "addChatParticipant",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"userId": "user@video.example.com"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда addChatParticipant |
chatId | string | Да | Идентификатор чата, в который добавляется пользователь |
userId | string | Да | TrueConf ID пользователя, добавляемого в чат |
Ответ:
{
"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"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда removeChatParticipant |
chatId | string | Да | Идентификатор чата, из которого удаляют пользователя |
userId | string | Да | TrueConf ID удаляемого пользователя |
Ответ:
{
"type": 2,
"id": 1,
"payload": {}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
payload | object | Да | В случае успеха вы получите пустой объект |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode
. Список возможных значений доступен в соответствующем разделе документации.
# Получить список чатов
Возвращает список всех чатов, в которых состоит текущий пользователь.
Запрос:
{
"type": 1,
"id": 1,
"method": "getChats",
"payload": {
"count": 10,
"page": 1
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда getChats |
count | uint32 | Да | Максимальное количество объектов чатов в ответе |
page | uint32 | Да | Номер страницы запроса (пейджинг). Начинается с 1 |
Ответ:
{
"type": 2,
"id": 1,
"payload": [
{
"chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054",
"title": "TrueConf Server Administrators’ Chat",
"chatType": 2,
"unreadMessages": 0,
"lastMessage": {
"messageId": "267d61f2-2ba1-4e88-83ab-bb84415f31b6",
"timestamp": 1746028006345,
"author": {
"id": "brown@video.example.com",
"type": 1
},
"type": 200,
"content": {
"text": "What's up?",
"parseMode": "html"
}
}
},
{
"chatId": "4a1f88f1070d2f43d385cde9ff61964bc6b74477",
"title": "chester@video.example.com",
"chatType": 1,
"unreadMessages": 1,
"lastMessage": {
"messageId": "d4f756a2-8dd1-4cce-af7c-5a4311af0c79",
"timestamp": 1746028006690,
"author": {
"id": "chester@video.example.com",
"type": 1
},
"type": 200,
"content": {
"text": "Hello!",
"parseMode": "html"
}
}
},
{
"chatId": "5abba630dd1089090ba41c69c7aa34e4ba277a43",
"title": "Project Announcements",
"chatType": 6,
"unreadMessages": 1,
"lastMessage": {
"messageId": "267d61f2-2ba1-4e88-83ab-bb84415f31b6",
"timestamp": 1746028006345,
"author": {
"id": "brown@video.example.com",
"type": 1
},
"type": 200,
"content": {
"text": "Hello everyone!",
"parseMode": "html"
}
}
}
]
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
payload | Array<Chat> | Да | Массив чатов пользователя |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode
. Список возможных значений доступен в соответствующем разделе документации.
# Получить информацию о чате
Возвращает подробные данные о чате по его идентификатору.
Запрос:
{
"type": 1,
"id": 1,
"method": "getChatByID",
"payload": {
"chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда getChatByID |
chatId | string | Да | Идентификатор чата |
Ответ:
{
"type": 2,
"id": 1,
"payload": {
"chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054",
"title": "TrueConf Server Administrators’ Chat",
"chatType": 2,
"unreadMessages": 0,
"lastMessage": {
"messageId": "267d61f2-2ba1-4e88-83ab-bb84415f31b6",
"timestamp": 1746028006345,
"author": {
"id": "brown@video.example.com",
"type": 1
},
"type": 200,
"content": {
"text": "What's up?",
"parseMode": "html"
}
}
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
chatId | string | Да | Идентификатор чата |
title | string | Да | Название чата |
chatType | ChatTypeEnum | Да | Тип чата |
unreadMessages | uint32 | Да | Кол-во непрочитанных сообщений в чате |
lastMessage | Envelope | Да | Последнее сообщение в чате |
Поле lastMessage
соответствует формату Envelope, за исключением того, что в нём отсутствуют поля chatId
, isEdited
и box
.
В случае возникновения ошибки возвращается сообщение, содержащее параметр 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"
},
{
"userId": "admin@video.example.com",
"role": "admin"
}
]
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа |
participants | Array<ChatParticipant> | Да | Список участников чата, представленный в виде объектов ChatParticipant |
В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode
. Список возможных значений доступен в соответствующем разделе документации.
# Проверить участника в чате
Позволяет определить, состоит ли указанный пользователь в выбранном чате.
Запрос:
{
"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
. Список возможных значений доступен в соответствующем разделе документации.
# Уведомления сервера
На каждый уведомление (запрос) сервера клиент должен ответить так:
{
"type": 2,
"id": 123456
}
После отправки ответа сообщение от пользователя будет считаться прочитанным ботом и будет отмечено соответствующей галочкой в клиентском приложении TrueConf.
# Создан личный чат
Сервер уведомляет о создании личного (peer-to-peer) чата, в котором участвуют только два пользователя. Уведомление отправляется, когда другой пользователь инициирует создание такого чата с текущим.
Уведомление от сервера:
{
"method": "createP2PChat",
"type": 1,
"id": 2,
"payload": {
"chatId": "bd05af54347e04a1c44e70033d35834d4428bb5d",
"title": "brown@video.example.com",
"chatType": 1,
"lastMessage": {
"chatId": "bd05af54347e04a1c44e70033d35834d4428bb5d",
"messageId": "d8bdd362-2656-46ff-a1db-8dadd2b76250",
"timestamp": 1746028006345,
"author": {
"id": "brown@video.example.com",
"type": 1
},
"type": 200,
"content": {
"text": "What's up?",
"parseMode": "text"
}
},
"unreadMessages": 1
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
method | string | Да | Команда createP2PChat |
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной. Подробнее читайте тут. |
chatId | string | Да | Идентификатор созданного чата |
title | string | Да | TrueConf ID пользователя, который создал чат |
chatType | uint32 | Да | Тип созданного чата. Соответствует ChatTypeEnum |
lastMessage.chatId | string | Да | Идентификатор чата, где находится сообщение |
messageId | string | Да | Идентификатор сообщения. Можно использовать в дальнейшем для изменения, пересылки или удаления сообщения |
timestamp | uint64 | Да | Временная метка отправки сообщения в формате UNIX timestamp с точностью до миллисекунд |
author.id | string | Да | Уникальный идентификатор автора сообщения (TrueConf ID или имя сервера) |
author.type | uint32 | Да | Тип автора сообщения. См. EnvelopeAuthorTypeEnum |
lastMessage.type | uint32 | Да | Тип сообщения, соответствует EnvelopeTypeEnum |
text | string | Нет | Текст сообщения |
parseMode | string | Нет | Режим форматирования (подробнее) |
unreadMessages | uint32 | Да | Количество непрочитанных сообщений в личном чате |
Поле payload.lastMessage.content
имеет разное содержание в зависимости от типа сообщения payload.lastMessage.type
.
Ответ для сервера:
{
"type": 2,
"id": 123456
}
Поле | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор сообщения, на которое дается ответ (см. подробнее) |
# Создан групповой чат
Сервер уведомляет о создании группового чата, в который был добавлен текущий пользователь. Описание прав участников группового чата вы можете найти здесь.
Сообщение от сервера:
{
"method": "createGroupChat",
"type": 1,
"id": 14,
"payload": {
"chatId": "08d5dbda94a9de4b7554e3b4355307f9e97ffdb7",
"title": "Marketing",
"chatType": 2,
"lastMessage": {
"chatId": "08d5dbda94a9de4b7554e3b4355307f9e97ffdb7",
"messageId": "cccea4a7-24b4-4b2c-8c50-67d01bce17bf",
"timestamp": 1746029638147,
"author": {
"id": "user@video.example.com",
"type": 0
},
"type": 110,
"content": {
"userId": "bot@video.example.com",
"role": "user"
}
},
"unreadMessages": 2
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
method | string | Да | Команда createGroupChat |
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
chatId | string | Да | Идентификатор созданного чата |
title | string | Да | Название созданного чата |
chatType | uint32 | Да | Тип созданного чата. Соответствует ChatTypeEnum |
lastMessage.chatId | string | Да | Идентификатор чата, где находится сообщение |
messageId | string | Да | Идентификатор сообщения. Можно использовать для изменения, пересылки или удаления |
timestamp | uint64 | Да | Временная метка в формате UNIX timestamp с точностью до миллисекунд |
author.id | string | Да | TrueConf ID автора сообщения или имя сервера |
author.type | uint32 | Да | Тип автора. См. EnvelopeAuthorTypeEnum |
lastMessage.type | uint32 | Да | Тип сообщения. См. EnvelopeTypeEnum |
userId | string | Нет | TrueConf ID пользователя, отправившего сообщение |
role | string | Нет | Роль пользователя в чате (см. подробнее) |
unreadMessages | uint32 | Да | Количество непрочитанных сообщений в групповом чате |
Поле payload.lastMessage.content
имеет разное содержание в зависимости от типа сообщения payload.lastMessage.type
.
Ответ от клиента:
{
"type": 2,
"id": 123456
}
Поле | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор сообщения, на которое дается ответ (см. подробнее) |
# Создан канал
Сервер уведомляет о создании канала, в который был добавлен текущий пользователь. Описание прав участников канала вы можете найти здесь.
Сообщение от сервера:
{
"method": "createChannel",
"type": 1,
"id": 14,
"payload": {
"chatId": "08d5dbda94a9de4b7554e3b4355307f9e97ffdb7",
"title": "Important Announcements",
"chatType": 6,
"lastMessage": {
"chatId": "08d5dbda94a9de4b7554e3b4355307f9e97ffdb7",
"messageId": "cccea4a7-24b4-4b2c-8c50-67d01bce17bf",
"timestamp": 1746029638147,
"author": {
"id": "user@video.example.com",
"type": 0
},
"type": 110,
"content": {
"userId": "bot@video.example.com",
"role": "user"
}
},
"unreadMessages": 2
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
method | string | Да | Команда createChannel |
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
chatId | string | Да | Идентификатор созданного канала |
title | string | Да | Название созданного канала |
chatType | uint32 | Да | Тип созданного канала. Соответствует ChatTypeEnum = 6 |
lastMessage.chatId | string | Да | Идентификатор канала, где находится сообщение |
messageId | string | Да | Идентификатор сообщения. Можно использовать данный идентификатор в дальнейшем, для изменения, пересылки или удаления сообщения |
timestamp | uint64 | Да | Временная метка отправки сообщения в формате UNIX timestamp с точностью до миллисекунд |
author.id | string | Да | Уникальный идентификатор автора сообщения. Это либо TrueConf ID пользователя, либо имя сервера, с которого пришло сообщение. Тип идентификатора зависит от поля type |
author.type | uint32 | Да | Тип автора сообщения. Подробнее см. EnvelopeAuthorTypeEnum |
lastMessage.type | uint32 | Да | Тип сообщения. Позволяет определить тип контента в сообщении. Соответствует EnvelopeTypeEnum |
userId | string | Нет | TrueConf ID пользователя, отправившего сообщение |
role | string | Нет | Роль пользователя в групповом чате (см. подробнее) |
unreadMessages | uint32 | Да | Количество непрочитанных сообщений в канале |
Поле payload.lastMessage.content
имеет разное содержание в зависимости от типа сообщения payload.lastMessage.type
.
Ответ от клиента:
{
"type": 2,
"id": 123456
}
Поле | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 2 ). Соответствует MESSAGE_TYPE.RESPONSE |
id | uint32 | Да | Идентификатор сообщения, на которое дается ответ (см. подробнее) |
# Удален чат
Сервер уведомляет об удалении чата, в котором ранее состоял текущий пользователь. Это может быть: личный (peer-to-peer) чат, групповой чат,канал.
Сообщение от сервера:
{
"method": "removeChat",
"type": 1,
"id": 1,
"payload": {
"chatId": "84960c6d80afa729b0fd42d35331de5814cc3e9a"
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
method | string | Да | Команда removeChat |
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной. Подробнее читайте тут |
chatId | string | Да | Идентификатор удалённого чата |
# Добавлен участник в чат
Сервер отправляет уведомление, когда новый участник был добавлен в групповой чат или канал.
Сообщение от сервера:
{
"method": "addChatParticipant",
"type": 1,
"id": 1,
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"userId": "user@video.example.com",
"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 пользователя, которого добавили в чат |
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 | Да | Идентификатор сообщения, на которое дается ответ (см. подробнее) |