# Работа с чатами
# Создание личного чата с пользователем
Создание личного чата (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": {
"name": "TrueConf Server Administrators’ Chat",
}
}
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
type | uint32 | Да | Тип сообщения (по умолчанию 1 ). Соответствует MESSAGE_TYPE.REQUEST |
id | uint32 | Да | Уникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут |
method | string | Да | Команда createGroupChat |
name | 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
. Список возможных значений доступен в соответствующем разделе документации.
# Получение информации о чате по ID
Запрос:
{
"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": "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": "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": "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": 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
. Список возможных значений доступен в соответствующем разделе документации.