Работа с чатами

Труконф04.07.2026Около 37 мин

Работа с чатами

Запросы клиента

Создать личный чат

Создание личного чата (peer-to-peer) с пользователем сервера. Если бот никогда не писал данному пользователю - будет создан новый чат. Если бот отправлял данному пользователю сообщения - будет возвращен уже существующий чат.

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "createP2PChat",
    "payload": {
        "userId": "user@video.example.com"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда createP2PChat
userIdstringДаTrueConf ID пользователя, с которым мы хотим создать чат

Ответ:

{
    "type": 2,
    "id": 1,
    "payload": {
        "chatId": "4a1f88f1070d2f43d385cde9ff61964bc6b74477"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
chatIdstringДаИдентификатор созданного чата

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Создать групповой чат

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "createGroupChat",
    "payload": {
        "title": "TrueConf Server Administrators’ Chat",
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда createGroupChat
titlestringДаНазвание группового чата

Ответ:

{
    "type": 2,
    "id": 1,
    "payload": {
        "chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
chatIdstringДаИдентификатор созданного группового чата

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Создать канал

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "createChannel",
    "payload": {
        "title": "Company news"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда createChannel
titlestringДаНазвание канала

Ответ:

{
    "type": 2,
    "id": 1,
    "payload": {
        "chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
chatIdstringДаИдентификатор созданного канала

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Создать чат "Избранное" 5.5.2+

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "createFavoritesChat",
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда createFavoritesChat

Ответ:

{
    "type": 2,
    "id": 1,
    "payload": {
        "chatId": "b7d0e9b76dd414cce07d6895682455814fa4bfd1"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
chatIdstringДаИдентификатор созданного чата "Избранное"

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Изменить название чата 5.5.3+

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "editChatTitle",
    "payload": {
      "chatId": "29bc6e4d0f99105b50f419eff03a1ed58da9db6c",
      "title": "New title"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда editChatTitle
chatIdstringДаИдентификатор переименовываемого чата
titlestringДаНовое название чата

Ответ:

{
    "type": 2,
    "id": 2,
    "payload": {
        "chatId": "29bc6e4d0f99105b50f419eff03a1ed58da9db6c",
        "timestamp": 1765115572804
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
chatIdstringДаИдентификатор чата, у которого было изменено название
timestampuint64ДаВременная метка изменения названия чата в формате UNIX timestamp с точностью до миллисекунд

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Изменить изображение чата 5.5.3+

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "editChatAvatar",
    "payload": {
      "chatId": "29bc6e4d0f99105b50f419eff03a1ed58da9db6c",
      "temporalFileId": "8157ea50-fd9e-4b27-bb93-d9045bc65c48"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда editChatAvatar
chatIdstringДаИдентификатор переименовываемого чата
temporalFileIdstringДаИдентификатор загруженного на сервер файла. Для удаления изображения задайте null

Очистить историю чата 5.5.3+

Удаление всех сообщений из указанного чата (личный, групповой или канал).

Запрос:

{
  "type": 1,
  "id": 1,
  "method": "clearHistory",
  "payload": {
    "chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
    "forAll": false
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда clearHistory
chatIdstringДаИдентификатор чата, история которого будет очищена
forAllboolНетПо умолчанию — false. Если true, то чат будет очищен для всех. В групповых чатах и каналах должны быть выданы права для выполнения этого действия

Ответ:

{
  "type": 2,
  "id": 1,
  "payload": {}
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Удалить чат

Удаляет указанный чат (личный, групповой или канал). После удаления чат будет недоступен для всех участников.

Запрос:

{
  "type": 1,
  "id": 1,
  "method": "removeChat",
  "payload": {
    "chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256"
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда removeChat
chatIdstringДаИдентификатор удаляемого чата

Ответ:

{
  "type": 2,
  "id": 1,
  "payload": {
    "chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256"
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
chatIdstringДаИдентификатор удалённого чата

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Добавить участника в чат

Добавляет пользователя в групповой чат или канал. Для выполнения операции требуются соответствующие права.

Запрос:

{
  "type": 1,
  "id": 1,
  "method": "addChatParticipant",
  "payload": {
    "chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
    "userId": "user@video.example.com",
    "displayHistory": false
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда addChatParticipant
chatIdstringДаИдентификатор чата, в который добавляется пользователь
userIdstringДаTrueConf ID пользователя, добавляемого в чат
displayHistoryboolНет5.5.3+ Флаг отображения истории чата. Если true, то пользователь увидит старые сообщения

Ответ:

{
  "type": 2,
  "id": 1,
  "payload": {}
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
payloadobjectДаВ случае успеха вы получите пустой объект

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Удалить участника чата

Удаляет указанного участника из чата. Может использоваться только в групповых чатах и каналах. Для выполнения операции требуются соответствующие права.

Запрос:

{
  "type": 1,
  "id": 1,
  "method": "removeChatParticipant",
  "payload": {
    "chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
    "userId": "user@video.example.com",
    "clearHistory" : false
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда removeChatParticipant
chatIdstringДаИдентификатор чата, из которого удаляют пользователя
userIdstringДаTrueConf ID удаляемого пользователя
clearHistoryboolНет5.5.3+ Если true, то чат будет очищен вместе с удалением участника. По умолчанию — false.

Ответ:

{
  "type": 2,
  "id": 1,
  "payload": {}
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
payloadobjectДаВ случае успеха вы получите пустой объект

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Изменить роль участника 5.5.2+

Позволяет изменить роль участника чата. Для изменения роли у вас должно быть соответствующее право. Также вы получите нотификацию при изменении роли любого участника чата.

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "changeParticipantRole",
    "payload": {
        "chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054",
        "userId": "user@video.example.com",
        "role": "admin"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда changeParticipantRole
chatIdstringДаИдентификатор чата
userIdstringДаTrueConf ID пользователя, для которого меняется роль
rolestringДаНовая роль пользователя

Ответ:

{
  "type": 2,
  "id": 1,
  "payload": {}
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
payloadobjectДаВ случае успеха вы получите пустой объект

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Получить информацию о чате

Возвращает подробные данные о чате по его идентификатору.

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "getChatByID",
    "payload": {
        "chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054"
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда getChatByID
chatIdstringДаИдентификатор чата

Ответ:

{
    "type": 2,
    "id": 1,
    "payload": {
        "chatId": "2b896a6ef210d6b2dcaebc2186c9a7974d616054",
        "title": "TrueConf Server Administrators’ Chat",
        "chatType": 2,
        "avatarUrl": "",
        "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"
            }
        }
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
chatIdstringДаИдентификатор чата
titlestringДаНазвание чата
chatTypeChatTypeEnumДаТип чата
unreadMessagesuint32ДаКол-во непрочитанных сообщений в чате
lastMessageEnvelopeДаПоследнее сообщение в чате

Поле lastMessage соответствует формату Envelope, за исключением того, что в нём отсутствуют поля chatId, isEdited и box.

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Получить список чатов

Возвращает список всех чатов, в которых состоит текущий пользователь.

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "getChats",
    "payload": {
        "count": 10,
        "page": 1
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда getChats
countuint32ДаМаксимальное количество объектов чатов в ответе
pageuint32ДаНомер страницы запроса (пейджинг). Начинается с 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"
                }
            }
        }
    ]
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
payloadArrayДаМассив чатов пользователя

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Получить участника чата 5.5.3+

Возвращает участника указанного чата, включая его роль и тип.

Запрос:

{
  "type": 1,
  "id": 1,
  "method": "getChatParticipant",
  "payload": {
    "chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
    "userId": "user@video.example.com",

  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда getChatParticipant
chatIdstringДаИдентификатор чата
userIdstringДаTrueConf ID запрашиваемого пользователя

Ответ:

{
  "type": 2,
  "id": 1,
  "payload": {
    "userId": "user@video.example.com",
    "role": "user",
    "type": 1
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
userIdstringДаTrueConf ID пользователя
rolestringДаРоль пользователя (см. описание)
typeuint32ДаТип пользователя (см. описание)

В случае возникновения ошибки возвращается сообщение, содержащее параметр errorCode. Список возможных значений доступен в соответствующем разделе документации.

Получить участников чата

Возвращает список всех участников указанного чата, включая их роль и тип.

Запрос:

{
  "type": 1,
  "id": 1,
  "method": "getChatParticipants",
  "payload": {
    "chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
    "pageSize": 100,
    "pageNumber": 1
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда getChatParticipants
chatIdstringДаИдентификатор чата
pageSizeuint32ДаКоличество записей с информацией об участниках чата в ответе на запрос
pageNumberuint32ДаСмещение, с которым будет возвращён список участников. Расчитывается по формуле 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
      }
    ]
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
participantsArrayДаСписок участников чата, представленный в виде объектов 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"
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда hasChatParticipant
chatIdstringДаИдентификатор чата, в котором проверяется наличие пользователя
userIdstringДаTrueConf ID проверяемого пользователя

Ответ:

{
  "type": 2,
  "id": 1,
  "payload": {
    "result": true
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор, совпадающий с числом, отправленным в исходном запросе, используемый для связывания запроса и ответа
resultbooleanДаФлаг наличия участника в чате. Если 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
    }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда createP2PChat
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной. Подробнее читайте тут.
chatIdstringДаИдентификатор созданного чата
titlestringДапользователя, который создал чат
chatTypeuint32ДаТип созданного чата. Соответствует ChatTypeEnum
lastMessage.chatIdstringДаИдентификатор чата, где находится сообщение
messageIdstringДаИдентификатор сообщения. Можно использовать в дальнейшем для изменения, пересылки или удаления сообщения
timestampuint64ДаВременная метка отправки сообщения в формате UNIX timestamp с точностью до миллисекунд
author.idstringДаУникальный идентификатор автора сообщения (TrueConf ID или имя сервера)
author.typeuint32ДаТип автора сообщения. См. EnvelopeAuthorTypeEnum
lastMessage.typeuint32ДаТип сообщения, соответствует EnvelopeContentType
textstringНетТекст сообщения
parseModestringНетРежим форматирования (подробнее)
unreadMessagesuint32ДаКоличество непрочитанных сообщений в личном чате

Поле payload.lastMessage.content имеет разное содержание в зависимости от типа сообщения payload.lastMessage.type.

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Создан групповой чат

Сервер уведомляет о создании группового чата, в который был добавлен текущий пользователь. Описание прав участников группового чата вы можете найти здесь.

Сообщение от сервера:

{
    "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
    }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда createGroupChat
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
chatIdstringДаИдентификатор созданного чата
titlestringДаНазвание созданного чата
chatTypeuint32ДаТип созданного чата. Соответствует ChatTypeEnum
lastMessage.chatIdstringДаИдентификатор чата, где находится сообщение
messageIdstringДаИдентификатор сообщения. Можно использовать для изменения, пересылки или удаления
timestampuint64ДаВременная метка в формате UNIX timestamp с точностью до миллисекунд
author.idstringДаTrueConf ID автора сообщения или имя сервера
author.typeuint32ДаТип автора. См. EnvelopeAuthorTypeEnum
lastMessage.typeuint32ДаТип сообщения. См. EnvelopeContentType
userIdstringНетTrueConf ID пользователя, отправившего сообщение
rolestringНетРоль пользователя в чате (см. подробнее)
unreadMessagesuint32ДаКоличество непрочитанных сообщений в групповом чате

Поле payload.lastMessage.content имеет разное содержание в зависимости от типа сообщения payload.lastMessage.type.

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Создан канал

Сервер уведомляет о создании канала, в который был добавлен текущий пользователь. Описание прав участников канала вы можете найти здесь.

Сообщение от сервера:

{
    "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
    }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда createChannel
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
chatIdstringДаИдентификатор созданного канала
titlestringДаНазвание созданного канала
chatTypeuint32ДаТип созданного канала. Соответствует ChatTypeEnum = 6
lastMessage.chatIdstringДаИдентификатор канала, где находится сообщение
messageIdstringДаИдентификатор сообщения. Можно использовать данный идентификатор в дальнейшем, для изменения, пересылки или удаления сообщения
timestampuint64ДаВременная метка отправки сообщения в формате UNIX timestamp с точностью до миллисекунд
author.idstringДаУникальный идентификатор автора сообщения. Это либо TrueConf ID пользователя, либо имя сервера, с которого пришло сообщение. Тип идентификатора зависит от поля type
author.typeuint32ДаТип автора сообщения. Подробнее см. EnvelopeAuthorTypeEnum
lastMessage.typeuint32ДаТип сообщения. Позволяет определить тип контента в сообщении. Соответствует EnvelopeContentType
userIdstringНетTrueConf ID пользователя, отправившего сообщение
rolestringНетРоль пользователя в групповом чате (см. подробнее)
unreadMessagesuint32ДаКоличество непрочитанных сообщений в канале

Поле payload.lastMessage.content имеет разное содержание в зависимости от типа сообщения payload.lastMessage.type.

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Создан чат "Избранное" 5.5.2+

Сервер уведомляет о создании чата "Избранное".

Сообщение от сервера:

{
    "method": "createFavoritesChat",
    "type": 1,
    "id": 1,
    "payload": {
        "chatId": "b7d0e9b76dd414cce07d6895682455814fa4bfd1",
        "title": null,
        "chatType": 5,
        "lastMessage": null,
        "unreadMessages": 0
    }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда createFavoritesChat
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
chatIdstringДаИдентификатор созданного чата "Избранное"
titleДаПо умолчанию null
chatTypeuint32ДаТип созданного чата. Соответствует ChatTypeEnum = 5
lastMessageДаПо умолчанию null
unreadMessagesuint32ДаПо умолчанию 0

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Изменено название чата 5.5.3+

Сообщение от сервера:

{   
    "method": "editChatTitle",
    "type": 1,
    "id": 1,
    "payload": {
      "chatId": "29bc6e4d0f99105b50f419eff03a1ed58da9db6c",
      "title": "New title"
    }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда editChatTitle
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
chatIdstringДаИдентификатор переименованного чата
titlestringДаНовое название чата

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Изменено изображение чата 5.5.3+

Сообщение от сервера:

{
    "method": "editChatAvatar",
    "type": 1,
    "id": 12,
    "payload": {
        "chatId": "af9d5017f77a5bb81628e123e1061e49dfa29f80",
        "avatarUrl": "http://10.110.2.241/bridge/api/client/v1/message/123657c5-1b4f-4416-ae97-fbbc5b5b522d/preview"
    }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда editChatAvatar
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
chatIdstringДаИдентификатор чата, у которого было изменено изображение
avatarUrlstringДаНовое изображение чата. Если null — значит изображение отсутствует (удалено).

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Очищена история чата 5.5.3+

Сообщение от сервера:

{
  "type": 1,
  "id": 1,
  "method": "clearHistory",
  "payload": {
    "chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
    "forAll": false
  }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда clearHistory
chatIdstringДаИдентификатор чата, история которого была очищена
forAllboolНетЕсли true, то чат был очищен для всех

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Удален чат

Сервер уведомляет об удалении чата, в котором ранее состоял текущий пользователь. Это может быть: личный (peer-to-peer) чат, групповой чат,канал.

Сообщение от сервера:

{
    "method": "removeChat",
    "type": 1,
    "id": 1,
    "payload": {
        "chatId": "84960c6d80afa729b0fd42d35331de5814cc3e9a"
    }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда removeChat
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной. Подробнее читайте тут
chatIdstringДаИдентификатор удалённого чата

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Добавлен участник в чат

Сервер отправляет уведомление, когда новый участник был добавлен в групповой чат или канал.

Сообщение от сервера:

{   
    "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"
    }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда addChatParticipant
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной. Подробнее читайте тут
chatIdstringДаИдентификатор чата, куда был добавлен пользователь
userIdstringДаTrueConf ID пользователя, которого добавили в чат
userRolestringДа5.5.2+ Роль пользователя, который добавил участника в чат
addedBy.idstringДаУникальный идентификатор пользователя, добавившего нового участника. Это TrueConf ID или имя сервера, в зависимости от addedBy.type
addedBy.typeuint32ДаТип пользователя, который добавил нового участника. См. EnvelopeAuthorTypeEnum
timestampuint64ДаВременная метка добавления участника в чат в формате UNIX timestamp (в миллисекундах)

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Удален участник чата

Сервер отправляет уведомление, когда участник был исключён из группового чата или канала.

Сообщение от сервера:

{
  "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"
  }
}
ПараметрТипОбяз.Описание
methodstringДаКоманда removeChatParticipant
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
chatIdstringДаИдентификатор чата, где был удален пользователь
userIdstringДаTrueConf ID пользователя, которого удалили из чата
removedBy.idstringДаУникальный идентификатор пользователя, удалившего участника из чата. Это либо TrueConf ID, либо имя сервера, с которого пришло сообщение. Тип идентификатора зависит от поля removedBy.type
removedBy.typeuint32ДаТип пользователя, который удалил участника из чата. Подробнее см. EnvelopeAuthorTypeEnum
timestampuint64ДаВременная метка удаления участника из чата в формате UNIX timestamp с точностью до миллисекунд

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)

Изменена роль участника 5.5.2+

Сервер отправляет уведомление, когда роль участника чата была изменена.

Запрос:

{
    "type": 1,
    "id": 1,
    "method": "changeParticipantRole",
    "payload": {
        "chatId": "7e5ea3e8b5ed63e1443b2e4dcdd68b9f196abae1",
        "userId": "user@video.example.com",
        "role": "admin",
        "timestamp": 1760594447544
    }
}
ПараметрТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 1). Соответствует MESSAGE_TYPE.REQUEST
iduint32ДаУникальный идентификатор запроса. Инкрементируемое значение, назначаемое отправляющей стороной, обязательное в каждом запросе для последующего связывания с ответом. Подробнее читайте тут
methodstringДаКоманда changeParticipantRole
chatIdstringДаИдентификатор чата
userIdstringДаTrueConf ID пользователя, роль которого изменилась
rolestringДаНовая роль пользователя
timestampuint64ДаВременная метка изменения роли участника чата в формате UNIX timestamp с точностью до миллисекунд

Ответ от клиента:

{
    "type": 2,
    "id": 123456
}
ПолеТипОбяз.Описание
typeuint32ДаТип сообщения (по умолчанию 2). Соответствует MESSAGE_TYPE.RESPONSE
iduint32ДаИдентификатор сообщения, на которое дается ответ (см. подробнее)
Последнее обновление: