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

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

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

Создание личного чата (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 Да Идентификатор сообщения, на которое дается ответ (см. подробнее)
Обновлено: 22.09.2025