Для создания ТУЗ воспользуйтесь инструкцией.
Каждый бот, перед тем как обращаться к API Dion.Чаты, должен получить токен доступа. Для получения токена чат-боту используйте метод POST https://bots-api.dion.vc/platform/v1/token
Время жизни токена – 12 часов (720 минут). По истечению срока действия токена его необходимо обновить, отправив заново запрос на получения токена – POST https://bots-api.dion.vc/platform/v1/token
! Токен Bearer передается в заголовке Authorization всех методов, описанных в разделе "Доступные методы для работы в Dion.Чаты".
POST /platform/v1/token
Хост – https://bots-api.dion.vc/
| Входные параметры | Параметр | Описание | Тип | Обязательность |
| Адрес почты пользователя | string | * | ||
| password | Пароль пользователя | string | * | |
| Выходные параметры | Параметр | Описание | Тип | Обязательность |
| access_token | Токен доступа ТУЗ | string | * | |
| user | Данные ТУЗ | * | ||
| id | Идентификатор ТУЗ | uuid | * | |
| Адрес почты | string | * | ||
| initials | Инициалы | string | ||
| name | ФИО | string | ||
| avatar_http_path | Путь к изображению (аватару) | string | ||
| position | Должность | string | ||
| roles | Роли | string[] | * | |
| is_profile_filled_in | Признак заполненности профиля | boolean | ||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||
Перед взаимодействием чат-бота с Dion.Чаты необходимо выработать криптографическую сессию для шифрования/дешифрования HTTP запросов и ответов. Крипто-сессия создается методом POST https://bots-api.dion.vc/chats/v1/sessions.
Для генерации пары ключей и производного общего секрета, из которого потом вычисляется симметричный ключ шифрования, используется Elliptic Curve Diffie-Hellman (ECDH) на кривой NIST P-256.
Клиент генерирует клиентские публичный и приватный ключи (client_public_key, client_private_key) с помощью алгоритма ECDH.
Далее Клиент отправляет запрос POST /chats/v1/sessions, в теле которого содержится параметр client_public_key – закодированный в base64 публичный ключ Клиента.
В ответе на запрос приходят идентификатор сессии session_id, публичный ключ сервера server_public_key, и даты срока действия крипто-сессии. На основе своего приватного ключа и публичного ключа сервера, Клиент рассчитывает общий секрет с помощью алгоритма ECDH.
Клиенту нужно применить HKDF-SHA256 без соли и без контекстной информации к общему секрету для генерации симметричного ключа шифрования, который будет использоваться для шифрования/дешифровки данных в HTTP-запросах и ответах. Длина симметричного ключа – 32 байта.
Время жизни крипто-сессии – 10 часов (600 минут).
По истечению срока действия крипто-сессии необходимо создать новую сессию, используя метод POST /chats/v1/sessions и новую пару публичный/приватный клиентский ключи.
Хост – https://bots-api.dion.vc/
| ❗ В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. | ||||
| Входные параметры | Параметр | Описание | Тип | Обязательность |
| client_public_key | Публичный ключ клиента закодированный в base64. | string | * | |
|
Пример запроса Request URL: https://{host}/chats/v1/sessions Request Method: POST { "client_public_key":"BAOmKqgpq96uQ7VdcZMWOJ0Q95T8SvVMnyFWIQoq35H5kPFT0KpBctPJsMoCEvikV3fmXz4FTxTbV+RB3NJE25I=" } |
||||
| Выходные параметры | Параметр | Описание | Тип | Обязательность |
| server_public_key | Публичный ключ сервера в base64. | string | * | |
| session_id | Идентификатор крипто-сессии. Необходимо передавать в заголовке dc-crypto-session-id всех запросов из раздела "Доступные методы для работы в Dion.Чаты". | string | * | |
| valid_after | Время начала действия сессии. | string | * | |
| valid_before | Время окончания действия сессии. | string | * | |
|
Пример ответа { |
||||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||
JSON ответа/запроса шифруется, а затем кодируется в base64.
Получившаяся закодированная строка помещается в параметр encrypted запроса/ответа, либо в ключ file form-data при загрузке файла.
Шифрование:
Данные (JSON тела запроса) шифруются с помощью алгоритма AES-GCM:
В конечном счете, зашифрованные данные содержат в себе:
Дешифрование:
Ответ от сервера содержит тело с параметром encrypted – это зашифрованный JSON в кодировке base64.
При преобразовании в массив байтов, зашифрованные данные от сервера будут также содержать:
❗Postman коллекция со скриптами pre-request и post-response для примера работы с шифрованием и дешифрованием – /postman_encryption.json.
❗Пример скрипта для шифрования файла – /dion-file-crypto.js. Команда для запуска скрипта:
node dion-file-crypto.js enc ./photo.png ./photo.enc "PASTE_YOUR_SHARED_KEY_B64_HERE"
После создания ТУЗ чат-бота он не будет отображаться в поиске Dion.Чаты до активации/изменения настроек бота.
Чтобы чат-бот стал видимым при поиске в Dion.Чаты и с ним можно было взаимодействовать, воспользуйтесь методом активации/изменения настроек бота POST /chats/v1/me.
После активации чат-бота пользователи могут взаимодействовать с ним (например, писать ему в ДМ-чат или добавлять в групповые чаты при наличии соответствующих настроек).
POST chats/v1/me
Хост – https://bots-api.dion.vc/
|
Входные параметры (перед шифрованием)
|
❗ В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗ В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗ В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
|||
| Параметр | Описание | Тип | Обязательность | |
|
body |
||||
| name |
Отображаемое имя/название бота Ограничения по длине строки: 3-255 символов |
string | * | |
| description |
Описание бота Ограничения по длине строки: 3-64 символов |
string | * | |
| settings |
Список настроек/возможностей бота Возможные значения:
|
string[] | * | |
| commands |
Команды, которые знает бот: Ограничения на количество команд: 0-20 |
object[] | * | |
| command |
Название команды. Должно начинаться с "/" Ограничения по длине строки: 1-32 символов Ограничения по символам: доступны только английские буквы, цифры и символ подчеркивания "_" |
string | * | |
| description |
Описание команды: Ограничения по длине строки: 1-64 символа |
string | * | |
| Пример запроса (перед шифрованием) |
Request URL: https://{host}/chats/v1/me Request Method: POST { |
|||
| Пример запроса (после шифрования) |
Request URL: https://{host}/chats/v1/me Request Method: POST { |
|||
| Выходные параметры (после дешифрования) | Параметр | Описание | Тип | Обязательность |
| id | Идентификатор ТУЗ бота | string | * | |
| name | Отображаемое имя/название бота | string | * | |
| description | Описание бота | string | * | |
| settings |
Список настроек/возможностей бота Возможные значения:
|
string[] | * | |
| commands | Команды, которые знает бот | object[] | * | |
| command | Название команды. Начинается с "/" | string | * | |
| description | Описание команды | string | * | |
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/x USnohyJH1wJ1R9LElN7NKY7ZTus7LIUp4xwN9qsQzyR5zhwnnW+fmD/ WpgMaxNunKU5Ygj8BGUP0YDS0pFXZYn+rO2GyGDTEUuowkejDF52Ke0 kd/22vHFQMLyf+D7jBQajpNe24ZGzpgK9SSJpyC5o9X+ttRC7xTlyqY81Q PoW0Miyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/GSkB4abx78Tx1+ELCq rtYGYfKh8Kh3EcrLItWeqHHZQDP5OofyGLYT25IjbtstUeGbXeyst/QxdoFAx 0ngItIPgtMcwoynODihTO5WxhMLO8a0R9y25lS73fJ395mjKyV3dek7DZR X2o9wcu1VgDwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
|||
| Пример ответа (после дешифрования) | { "id": "9ed94dc4-99ee-49b5-a586-050b4fe51f5d", "name": "BotFather", "description": "", "settings": ["dm", "join_groups"], "commands": [] } |
|||
| Особенности работы |
В запросе:
|
|||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||
Для получения серверных обновлений для чат-бота используйте метод в GET /chats/v1/events режиме запроса long polling.
Токен доступа Bearer необходимо передавать в заголовке Authorization.
Сервер – https://bots-api.dion.vc/
Сервер для загрузки/скачивания файлов – https://dc-data-storage.dion.vc/
| Входные параметры | ❗В заголовке "Authorization" необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. | |||
| Параметр | Описание | Тип | Обязательность | |
|
body |
||||
| client_public_key | Публичный ключ клиент закодированный в base64. | string | * | |
| Пример запроса |
Request URL: https://{host}/chats/v1/sessions Request Method: POST { "client_public_key":"BAOmKqgpq96uQ7VdcZMWOJ0Q95T8SvVMnyFWIQoq35H5kPFT0KpBctPJsMoCEvikV3fmXz4FTxTbV+RB3NJE25I=" } |
|||
| Выходные параметры | Параметр | Описание | Тип | Обязательность |
| server_public_key | Публичный ключ сервера | string | * | |
| session_id | Идентификатор крипто-сессии. Необходимо передавать в заголовке dc-crypto-session-id всех запросов из раздела "Доступные методы для работы в Dion.Чаты". | string | * | |
| valid_after | Время начала действия сессии. | string | * | |
| valid_before | Время окончания действия сессии. | string | * | |
| Пример ответа | { "session_id": "a654f474-b30f-46d5-9ce1-3c3962cbc072", "server_public_key": "BOyEDT4aiklkGEqlQRkl+MIaOynTHxkFmZEUfXSjtzS9isWGBgLpWX7U2ULXAzlC6F9X4VqzkqetdX1I5nJGkM4=", "valid_after": "2025-09-24T06:02:16.118887Z", "valid_before": "2025-09-24T16:03:16.118888Z" } |
|||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||
При вызове метода, если нет новых обновлений, соединение держится открытым в течение 10 секунд, либо до появления новых событий.
| Входные параметры |
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
||||
|
Параметр |
Описание |
Тип |
Обязательность | ||
|
query-параметры |
|||||
| cursor | Курсор для указания начальной точки следующих входящих событий бота (брать из ответа next_cursor). | string | |||
|
Выходные параметры
|
Параметр | Описание | Тип | Обязательность | |
|
events |
Массив последних событий относительно заданного параметра cursor. Размер массива ограничен – максимально 100 событий. События отсортированы по времени создания (от ранних к поздним). |
object[] | * | ||
| type |
Тип входящего события. Принимает одно из следующих значений:
|
string | * | ||
| event_id | Идентификатор события | string | * | ||
| payload | Полезные данные по событию. Возможное содержимое payload каждого события см. ниже. | object | * | ||
|
next_cursor |
Курсор для указания в запросе на получение следующих событий. Значение "" (пустая строка) параметра означает, что больше событий для бота нет. | string | * | ||
¶ payload различных событий |
|||||
|
payload для type=message_created |
|||||
|
№ |
Параметр |
Тип |
Обязательность |
||
| 2.3 | members_count | int | * | ||
| 1 | message | object | * | ||
| 1.2 | author | object | * | ||
| 1.2.4 | cover | object | * | ||
| 1.3 | repost_from_author | object | |||
| 1.9 | formatted_content | object | * | ||
| 2 | conversation | object | * | ||
| 2.4 | params | object | * | ||
| 2.6 | parent_conversation | object | |||
| 2.9 | cover | object | * | ||
| 3 | parent_message | object | |||
| 4 | reply_to_message | object | |||
| 1.4 | attachments | object[] | * | ||
| 2.2 | companion |
object User |
|||
| 1.1 | message_id | string | * | ||
| 1.5 | thread_id | string | |||
| 1.6 | intermediate_id | string | * | ||
| 1.7 | conversation_id | string | * | ||
| 1.8 | message_type | string | * | ||
| 1.10 | created_at | string | * | ||
| 1.11 | updated_at | string | * | ||
| 2.1 | conversation_id | string | * | ||
| 2.7 | name | string | * | ||
| 2.8 | conversation_type | string | * | ||
| 2.10 | created_at | string | * | ||
| 2.11 | updated_at | string | * | ||
| 5 | initiator_id | string | * | ||
| 2.5 | permissions | string[] | * | ||
| 1.2.1 | id | * | |||
| 1.2.2 | name | * | |||
| 1.2.3 | type | * | |||
|
|
|||||
|
payload для type=message_modified |
|||||
|
№ |
Параметр | Тип | Обязательность | ||
|
1 |
message | object | * | ||
|
2 |
conversation | object | * | ||
|
3 |
reply_to_message | object | |||
| 4 | initiator_id | string | * | ||
|
|
|||||
|
payload для type=message_deleted |
|||||
|
№ |
Параметр | Тип | Обязательность | ||
|
1 |
message | object | * | ||
|
2 |
conversation | object | * | ||
|
3 |
reply_to_message | object | |||
|
4 |
initiator_id | string | * | ||
|
|
|||||
|
payload для type=member_added |
|||||
| № | Параметр | Описание | Тип | Обязательность | |
|
1 |
conversation | Чат, в который добавили. Структура совпадает со структурой conversation для message_created. | object |
* |
|
|
2 |
member | Пользователь, которого добавили в чат. | object |
* |
|
|
2.1 |
user_id | Идентификатор пользователя | string |
* |
|
|
2.2 |
role |
Роль пользователя в чате. Одно из следующих:
|
string |
* |
|
|
2.3 |
permissions | Список возможных действий (разрешений), которые можно сделать с данным участником. |
string[] |
* |
|
|
2.4 |
|
Адрес почты |
string |
* |
|
|
2.5 |
position |
Должность |
string |
* |
|
|
2.6 |
name |
Имя |
string |
* |
|
|
2.7 |
cover |
Объект аватара |
object |
* |
|
|
2.8 |
status |
Статус учетной записи |
string |
* |
|
|
2.9 |
presence |
Объект состояния/активности пользователя |
object |
* |
|
|
2.10 |
type |
Тип пользователя. Одно из следующих значений:
|
string |
* |
|
|
2.11 |
description |
|
string |
* |
|
|
3 |
reason |
Причина добавления |
object |
|
|
|
4 |
initiator_id |
Идентификатор инициатора события |
string |
|
|
|
|
|||||
|
payload для type=message_creation_failed |
|||||
|
№ |
Параметр | Описание | Тип | Обязательность | |
| 1 | conversation_id | Идентификатор чата, в который отправляли сообщение. | string | * | |
| 2 | formatted_content | Структурированное содержание сообщения. Описание см. ниже. | object | ||
| 3 | attachments_ids | Массив идентификаторов вложений. | string[] | ||
| 4 | intermediate_id | Локальный идентификатор сообщения, сгенерированный на клиенте для дальнейшего маппинга. | string | * | |
| 5 | reply_to_message_id | Идентификатор сообщения, на которое отвечали. | string | ||
| 6 | error | Объект ошибки | object | * | |
| 6.5 | code | Внутренний код ошибки | string | * | |
| 6.6 | message | Сообщение ошибки | string | * | |
|
|
|||||
|
payload для type=message_modification_failed |
|||||
|
№ |
Параметр | Описание | Тип | Обязательность | |
| 1 | message_id | Идентификатор редактируемого сообщения. | string |
* |
|
| 2 | formatted_content | Структурированное содержание сообщения. Описание см. ниже. | object |
|
|
| 3 | attachments_ids | Массив идентификаторов вложений | string[] |
* |
|
| 4 | error | Объект ошибки | object |
* |
|
| 4.1 | code | Внутренний код ошибки | string |
* |
|
| 4.2 | message | Сообщение ошибки | string |
|
|
|
|
|||||
|
payload для type=message_deletion_failed |
|||||
|
№ |
Параметр | Описание | Тип | Обязательность | |
| 1 | message_id | Идентификатор редактируемого сообщения | string |
* |
|
| 2 | error | Объект ошибки | object |
* |
|
| 2.1 | code | Внутренний код ошибки | string |
* |
|
| 2.2 | message | Сообщение ошибки | string |
* |
|
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4 Tcze6Zpy/xUSnohyJH1wJ1R9LElN7NKY7ZTus7LIU p4xwN9qsQzyR5zhwnnW+fmD/WpgMaxNunKU5Ygj8BGUP0 YDS0pFXZYn+rO2GyGDTEUuowkejDF52Ke0kd/ 22vHFQMLyf+D7jBQajpNe24ZGzpgK9SSJpyC5o9X+ttRC7x TlyqY81QPoW0Miyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/ GSkB4abx78Tx1+ELCqrtYGYfKh8Kh3EcrLItWeqHHZQDP5Oo fyGLYT25IjbtstUeGbXeyst/QxdoFAx0ngItIPgtMcwoynODihTO 5WxhMLO8a0R9y25lS73fJ395mjKyV3dek7DZRX2o9wcu1Vg Dwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
||||
| Пример ответа (после дешифрования) | { "events": [ { "event_id": 1, "type": "member_added", "payload": { "conversation": {}, "user": {}, "reason": "string", "initiator": {}, "date": "string" } }, { "event_id": 2, "type": "message_created", "payload": { "message": {}, "conversation": {}, "parent_message": {}, "reply_to_message": {} } }, { "event_id": 3, "type": "message_modification_failed", "payload": { "conversation_id": "string", "error": {} } } ] } |
||||
| Особенности работы | Пустой массив в параметре events не означает, что больше для бота событий нет, необходимо ориентироваться на значение параметра next_cursor. |
||||
| Коды состояния HTTP |
|
||||
| Входные параметры |
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
|||
| Параметр | Описание | Тип | Обязательность | |
|
body |
||||
| name |
Отображаемое имя/название бота Ограничения по длине строки: 3-255 символов |
string | * | |
| description |
Описание бота Ограничения по длине строки: 3-64 символов |
string | * | |
| settings |
Список настроек/возможностей бота Возможные значения:
|
string[] | * | |
| commands |
Команды, которые знает бот Ограничения на количество команд: 0-20 |
object[] | * | |
| command |
Название команды. Должно начинаться с "/" Ограничения по длине строки: 1-32 символов Ограничения по символам: доступны только английские буквы, цифры и символ подчеркивания "_" |
string | * | |
| description |
Описание команды Ограничения по длине строки: 1-64 символа |
string | * | |
| Пример запроса |
Request URL: https://{host}/chats/v1/me Request Method: POST { |
|||
| Выходные параметры | Параметр | Описание | Тип | Обязательность |
| id | Идентификатор ТУЗ бота | string | * | |
|
name |
Отображаемое имя/название бота | string | * | |
|
description |
Описание бота |
string |
* |
|
|
settings |
Список настроек/возможностей бота Возможные значения:
|
string[] |
* |
|
|
commands |
Команды, которые знает бот |
object[] |
* |
|
|
command |
Название команды. Начинается с "/" |
string |
* |
|
|
description |
Описание команды |
string |
* |
|
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/xU SnohyJH1wJ1R9LElN7NKY7ZTus7LIUp4xwN9qsQzyR5zhwnnW+fmD/Wpg MaxNunKU5Ygj8BGUP0YDS0pFXZYn+rO2GyGDTEUuowkejDF52Ke0kd/22 vHFQMLyf+D7jBQajpNe24ZGzpgK9SSJpyC5o9X+ttRC7xTlyqY81QPoW0M iyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/GSkB4abx78Tx1+ELCqrtYGYfKh 8Kh3EcrLItWeqHHZQDP5OofyGLYT25IjbtstUeGbXeyst/QxdoFAx0ngItIPgt McwoynODihTO5WxhMLO8a0R9y25lS73fJ395mjKyV3dek7DZRX2o9wcu 1VgDwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
|||
| Пример ответа (после дешифрования) | { "id": "9ed94dc4-99ee-49b5-a586-050b4fe51f5d", "name": "BotFather", "description": "", "settings": ["dm", "join_groups"], "commands": [] } |
|||
| Особенности работы |
В запросе:
|
|||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||
| Входные параметры |
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
|||
|
Выходные параметры
|
Параметр | Описание | Тип | Обязательность |
| id |
Идентификатор ТУЗ бота |
string | * | |
| name |
Отображаемое имя/название бота |
string | * | |
| description |
Описание бота |
string | * | |
| settings |
Список настроек/возможностей бота Возможные значения:
|
string[] | * | |
| commands |
Команды, которые знает бот |
object[] | * | |
| command |
Название команды. Начинается с "/" |
string | * | |
|
description |
Описание команды |
string |
* |
|
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/xUSnohyJH1w J1R9LElN7NKY7ZTus7LIUp4xwN9qsQzyR5zhwnnW+fmD/WpgMaxNunKU5Ygj8BGUP 0YDS0pFXZYn+rO2GyGDTEUuowkejDF52Ke0kd/22vHFQMLyf+D7jBQajpNe24ZGzpgK 9SSJpyC5o9X+ttRC7xTlyqY81QPoW0Miyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/GSkB 4abx78Tx1+ELCqrtYGYfKh8Kh3EcrLItWeqHHZQDP5OofyGLYT25IjbtstUeGbXeyst/Qxdo FAx0ngItIPgtMcwoynODihTO5WxhMLO8a0R9y25lS73fJ395mjKyV3dek7DZRX2o9wcu1 VgDwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
|||
| Пример ответа (после дешифрования) | { "id": "9ed94dc4-99ee-49b5-a586-050b4fe51f5d", "name": "BotFather", "description": "", "settings": ["dm", "join_groups"], "commands": [] } |
|||
| Особенности работы |
В ответе:
|
|||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||
| Входные параметры |
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
|||||
| Параметр | Описание | Тип | Обязательность | Пример | ||
|
Path-параметры |
||||||
| user_id | UUID идентификатор пользователя | string | * | 4b98d59f-9095-4504-997e-ab8cc0effbfc | ||
| Пример первого запроса (без указания параметра cursor) |
Request URL: https://{host}/chats/v1/users/4b98d59f-9095-4504-997e-ab8cc0effbfc Request Method: GET |
|||||
| Выходные параметры | № | Параметр | Описание | Тип | Обязательность | Значения |
|
1 |
user_id | Идентификатор пользователя |
string uuid |
* | ||
|
2 |
Электронная почта пользователя | string | * | |||
|
3 |
name | Имя пользователя | string | * | ||
|
4 |
position | Должность | string | |||
|
5 |
cover | Объект аватара | object | * | ||
|
5.1 |
preview_url | URL аватара | string | |||
|
5.2 |
initials | Инициалы для отображения | string | * | ||
|
6 |
role | Роль пользователя | string | |||
|
7 |
presence | Объект состояния/активности пользователя | object | * | ||
|
7.1 |
is_online | Онлайн статус пользователя | boolean | * | ||
|
7.2 |
last_seen_at | Время последней активности пользователя, в формате RFC 3339 | string | |||
|
8 |
status | Статус учетной записи пользователя | string | * |
Одно из следующих значений:
|
|
|
9 |
type | Тип пользователя | string | * |
Одно из следующих значений:
|
|
|
10 |
description | Описание пользователя | string | * | ||
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/xUSnohyJH1wJ1R9LElN7NKY7ZTus7LIUp 4xwN9qsQzyR5zhwnnW+fmD/WpgMaxNunKU5Ygj8BGUP0YDS0pFXZYn+rO2GyGDTEUuowkejDF52Ke0kd/22vHF QMLyf+D7jBQajpNe24ZGzpgK9SSJpyC5o9X+ttRC7xTlyqY81QPoW0Miyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/G SkB4abx78Tx1+ELCqrtYGYfKh8Kh3EcrLItWeqHHZQDP5OofyGLYT25IjbtstUeGbXeyst/QxdoFAx0ngItIPgtMcwoynO DihTO5WxhMLO8a0R9y25lS73fJ395mjKyV3dek7DZRX2o9wcu1VgDwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
|||||
| Пример ответа (после дешифрования) | { "user_id": "9bb58ff1-ed37-49d1-9659-aeb976438652", "name": "Глад Валакас", "email": "user66666@test.ru", "position": "", "cover": { "preview_url": "", "initials": "ГВ" }, "status": "active", "presence": { "is_online": true, "last_seen_at": "2025-09-24T09:44:04Z" }, "description": "" } |
|||||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||||
|
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
||||
| Входные параметры | Параметр | Описание | Тип | Обязательность |
|
body |
||||
| conversation_id | Идентификатор чат | string | * | |
| messages | Массив создаваемых сообщений | object[] | ||
| formatted_content | Структурированное содержание сообщения | object | Опциональное, если есть attachments_ids | |
| attachments_ids | Массив идентификаторов вложений. Идентификатор вложения приходит в ответе на POST /v1/attachments. | string[] | Опциональное если есть formatted_content | |
| intermediate_id | Локальный идентификатор сообщения, сгенерированный на клиенте для дальнейшего маппинга. | string | * | |
| Пример тела запроса (до шифрования). Сообщение только с текстом | { "conversation_id": "5887f6c2-c211-4c5d-8e4c-9f210bda82cd", "messages": [ { "formatted_content": { "type": "rich_text", "elements": [ { "type": "text", "text": "Сообщение бота: снова привет человечек 2" } ] }, "intermediate_id": "1abd2a7e-2ebf-44aa-b660-a5157ebea794" } ] } |
|||
| Пример тела запроса (до шифрования). Сообщение только с файлом | { "conversation_id": "5887f6c2-c211-4c5d-8e4c-9f210bda82cd", "messages": [ { "attachments_ids": [ "1c58158b-890d-409b-b591-c69472440707" ], "intermediate_id": "1abd2a7e-2ebf-44aa-b660-a5157ebea781" } ] } |
|||
| Пример тела запроса (после шифрования) | { "encrypted":"0R436tnfzfeh5bzeiCW7+9rGkgbBG5I4KQ7HHQwgQwCpk2KdYCHYNZxjYn4K8Rd90dezcg DZYiClz9WxEBclO/iVwsG89AGJkWOZYmaJarIe6h9wOkN8OMK1rO1MYSVOIFSwPjLBenFUhqcKhWt8Y P2TefB4ybFnDLxYY5KBaYFka7hpxYZQFPTyaO5yKIpryJfk09w3sZ30vBc3p1DrT0nc1L/HstHJzOhrF2m6 p+852YRY1bMAx3y+0UFq2VBjd5XeTAm0nUOdeExYb97WQzc04Vgr6tkVW/qpKJ493XqCa35VrQG2w4an WehENRCyQq8aPqdLfoKOL2jrjPgKAkz2ktbYU6ubyF+WAKPgxgoXx5yylFqaoRJQeQM/xVkaJ++5169RoSK LGnH88A3RcKBqgzAXglqDGjkpas/KCeLjplh/tSuOC8r682+jmkql/m86MNs33AZbK+755mTSWQlX1mzRy0 LieUEu7UN7iXRvFdLyKMLIbVtQi0Vo7F5ilown8bxY6d+jZuZJTGYJmysND7D/rGff6PriOkee6dbb99xFrB2zxLPEbTocUE02q/ap" } |
|||
| Выходные параметры (успех) | Параметр | Описание | Тип | Обязательность |
| results | Массив объектов-идентификаторов сообщений, которые были обработаны и отправлены в очередь на создание. | object[] | * | |
| intermediate_id | Локальный идентификатор сообщения, сгенерированный на клиенте для дальнейшего маппинга. | string | * | |
| { "messages": [ { "intermediate_id": "bb37e890-ea7a-419c-b293-c82004e649d4" }, { "intermediate_id": "bb37e890-ea7a-419c-b293-c82004e649d5" } ] } |
||||
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/xUSnohyJH1wJ1R9LElN 7NKY7ZTus7LIUp4xwN9qsQzyR5zhwnnW+fmD/WpgMaxNunKU5Ygj8BGUP0YDS0pFXZYn+rO2 GyGDTEUuowkejDF52Ke0kd/22vHFQMLyf+D7jBQajpNe24ZGzpgK9SSJpyC5o9X+ttRC7xTlyqY81 QPoW0Miyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/GSkB4abx78Tx1+ELCqrtYGYfKh8Kh3EcrLItW eqHHZQDP5OofyGLYT25IjbtstUeGbXeyst/QxdoFAx0ngItIPgtMcwoynODihTO5WxhMLO8a0R9y25 lS73fJ395mjKyV3dek7DZRX2o9wcu1VgDwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
|||
| Пример ответа (после дешифрования) | { "messages": [ { "intermediate_id": "bb37e890-ea7a-419c-b293-c82004e649d4" }, { "intermediate_id": "bb37e890-ea7a-419c-b293-c82004e649d5" } ] } |
|||
| Выходные параметры (ошибка) | Параметр | Описание | Тип | Обязательность |
| code | Код ошибки | int | * | |
| message | Текстовое описание ошибки | string | * | |
| validation_errors | Массив | object[] | ||
| intermediate_id | Локальный идентификатор сообщения, в котором есть возникли проблемы при валидации. | string | * | |
| message | Текстовое описание ошибки | string | * | |
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/xUSnohyJH1 wJ1R9LElN7NKY7ZTus7LIUp4xwN9qsQzyR5zhwnnW+fmD/WpgMaxNunKU5Ygj8BG UP0YDS0pFXZYn+rO2GyGDTEUuowkejDF52Ke0kd/22vHFQMLyf+D7jBQajpNe24ZGz pgK9SSJpyC5o9X+ttRC7xTlyqY81QPoW0Miyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u /GSkB4abx78Tx1+ELCqrtYGYfKh8Kh3EcrLItWeqHHZQDP5OofyGLYT25IjbtstUeGbXe yst/QxdoFAx0ngItIPgtMcwoynODihTO5WxhMLO8a0R9y25lS73fJ395mjKyV3dek7DZ RX2o9wcu1VgDwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
|||
| Пример ответа (после дешифрования) | { "code": 1001, "message": "Невалидные параметры запроса", "validation_errors": [ { "intermediate_id": "bb37e890-ea7a-419c-b293-c82004e649e5", "message": "message has invalid content: style can be passed only for text elements" } ] } |
|||
| Особенности работы | Успешный ответ HTTP 200, что сообщение/я успешно создались, лишь означает, что сообщения положены в очередь на создание. Дальше при создании могут возникнуть ошибки и сообщение не создастся, либо ошибок не будет и сообщение создастся успешно. Ориентироваться нужно на события message_created, message_creation_failed из ответа на получение обновлений GET /chats/v1/events. | |||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||
| Входные параметры |
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
||||
| Параметр | Описание | Тип | Обязательность | Пример | |
|
Path-параметры |
|||||
| message_id | UUID идентификатор сообщения | string | * | 4b98d59f-9095-4504-997e-ab8cc0effbfc | |
| Пример первого запроса (без указания параметра cursor) |
Request URL: https://{host}/chats/v1/messages/4b98d59f-9095-4504-997e-ab8cc0effbfc Request Method: GET |
||||
|
Выходные параметры
|
№ | Параметр | Описание | Тип | Обязательность |
|
1 |
message_id | Идентификатор сообщения | string | * | |
|
2 |
author |
От кого написано сообщение (пользователь, канал). Автором системных сообщений является:
|
object | * | |
|
2.1 |
id | Идентификатор автора | * | ||
|
2.2 |
name | Название/имя автора | * | ||
|
2.3 |
type |
Тип автора. Одно из следующих:
Если сообщение отправлено тредом (от имени треда), то в type придет тип родительского чата. |
* | ||
|
2.4 |
cover | Аватар | object | * | |
|
3 |
repost_from_author | Кем написано пересланное сообщение. Заполняется для message_type=REGULAR_REPOST. Структура аналогична author. | object | ||
|
4 |
attachments | Массив вложений в сообщении | object[] | * | |
|
5 |
thread | Тред сообщения | object | ||
|
6 |
intermediate_id | Локальный идентификатор сообщения, сгенерированный на клиенте для дальнейшего маппинга. | string | * | |
|
7 |
conversation_id | Идентификатор чата | string | * | |
|
8 |
message_type |
Тип сообщения. Одно из следующих:
|
string | * | |
|
9 |
formatted_content | Структурированное содержание сообщения | object | * | |
|
10 |
created_at | Дата и время создания сообщения | string | * | |
|
11 |
updated_at | Дата и время редактирования сообщения | string | * | |
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/xUSnohyJH1wJ 1R9LElN7NKY7ZTus7LIUp4xwN9qsQzyR5zhwnnW+fmD/WpgMaxNunKU5Ygj8BGUP0Y DS0pFXZYn+rO2GyGDTEUuowkejDF52Ke0kd/22vHFQMLyf+D7jBQajpNe24ZGzpgK9SS JpyC5o9X+ttRC7xTlyqY81QPoW0Miyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/GSkB4ab x78Tx1+ELCqrtYGYfKh8Kh3EcrLItWeqHHZQDP5OofyGLYT25IjbtstUeGbXeyst/QxdoFAx 0ngItIPgtMcwoynODihTO5WxhMLO8a0R9y25lS73fJ395mjKyV3dek7DZRX2o9wcu1VgD wc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
||||
| Пример ответа (после дешифрования) | { "attachments": [], "author": { "cover": { "initials": "ГВ", "preview_url": "" }, "id": "9bb58ff1-ed37-49d1-9659-aeb976438652", "name": "Глад Валакас", "type": "USER" }, "conversation_id": "5887f6c2-c211-4c5d-8e4c-9f210bda82cd", "created_at": "2025-09-23T09:22:39.21029Z", "formatted_content": { "elements": [ { "fallback": "", "style": { "bold": false, "italic": false, "strike": false, "underline": false }, "text": "привет ботик", "type": "text" } ], "type": "rich_text" }, "intermediate_id": "7d5892b1-ae9f-47af-9dcd-192b36a5210f", "message_id": "ba680e48-69cf-4357-b0bc-386ab992e19d", "message_type": "REGULAR", "updated_at": "2025-09-23T09:22:39.21029Z" } |
||||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
||||
| Входные параметры |
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. ❗Значения заголовков Content-Disposition и Content-type необходимо указывать от оригинального файла до шифрования. |
||||
| Параметр | Описание | Тип | Обязательность | Пример | |
|
body |
|||||
|
multipart/form-data |
|||||
| Пример запроса |
Request URL: https://{host}/v1/attachments Request Method: POST Form data
Content-Disposition: form-data; name="file"; filename="bund.png" Content-Type: image/png encrypted file data ------WebKitFormBoundarySBPcpd8761YBuqbS-- |
||||
| Выходные параметры | Параметр | Описание | Тип | Обязательность | |
| created_at | Дата создания вложения | string | * | ||
| fingerprint |
Отпечаток файла, является достаточно уникальным для всех файлов. Разные вложения могут иметь одинаковый отпечаток – это означает, что они содержат один и тот же файл. |
string | * | ||
| friendly_type |
Тип файла для быстрого понимания, что с ним можно делать: показать или только скачать. Одно из следующих значений:
|
string | * | ||
| id | Идентификатор вложения | string | * | ||
| mime_type | Mime-тип вложения | string | * | ||
| name | Название вложения | string | * | ||
| owner_id | Идентификатор владельца (кто загрузил) вложения | string | * | ||
| size | Размер файла вложения в незашифрованном виде, отличается от заголовка Content-Length. | int | * | ||
| updated_at | Дата обновления вложения | string | * | ||
| Пример ответа | { "id": "2ed17a9f-f2b2-4b02-ad32-e294fb41e8f5", "name": "bund.png", "owner_id": "9ed94dc4-99ee-49b5-a586-050b4fe51f5d", "created_at": "2024-10-14T14:16:50.281842Z", "updated_at": "2024-10-14T14:16:50.281842Z", "mime_type": "image/png", "friendly_type": "IMAGE", "size": 238628, "fingerprint": "3738d675e74a9be8480aaf9fa269c873d5cc0ba01062097d340026e66f1245913206536990" } |
||||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
||||
| Входные параметры |
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
|||
| Параметр | Описание | Тип | Обязательность | |
|
path-параметры |
||||
| message_id | Идентификатор сообщения | string | * | |
| Пример запроса |
Request URL: https://{host}/chats/v1/messages/4b98d59f-9095-4504-997e-ab8cc0effbfc Request Method: DELETE |
|||
| Выходные параметры (ошибка) | Параметр | Описание | Тип | Обязательность |
|
code |
Код ошибки |
int |
* |
|
|
message |
Текстовое описание ошибки |
string |
* |
|
|
validation_errors |
Массив |
object[] |
|
|
|
intermediate_id |
Локальный идентификатор сообщения, в котором есть возникли проблемы при валидации. |
string |
* |
|
|
message |
Текстовое описание ошибки |
string |
* |
|
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/xUSnohyJH1wJ1R9LElN7 NKY7ZTus7LIUp4xwN9qsQzyR5zhwnnW+fmD/WpgMaxNunKU5Ygj8BGUP0YDS0pFXZYn+rO2Gy GDTEUuowkejDF52Ke0kd/22vHFQMLyf+D7jBQajpNe24ZGzpgK9SSJpyC5o9X+ttRC7xTlyqY81QP oW0Miyxr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/GSkB4abx78Tx1+ELCqrtYGYfKh8Kh3EcrLItWeq HHZQDP5OofyGLYT25IjbtstUeGbXeyst/QxdoFAx0ngItIPgtMcwoynODihTO5WxhMLO8a0R9y25lS 73fJ395mjKyV3dek7DZRX2o9wcu1VgDwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
|||
| Пример ответа (после дешифрования) | { "code": 1011, "message": "сущность не найдена" } |
|||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием
|
|||
Хост – https://dc-data-storage.dion.vc
|
Входные параметры
|
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
||||
| Параметр | Описание | Тип | Обязательность | Пример | |
|
query-параметр |
|||||
| attachment_id | Идентификатор вложения | string | * | ||
| Пример запроса |
Request URL: https://{host}/v1/attachments/4b98d59f-9095-4504-997e-ab8cc0effbfc Request Method: GET |
||||
| Выходные параметры | В ответе возвращается зашифрованный файл вложения (байты). | ||||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
||||
| Входные параметры |
❗В заголовке Authorization необходимо передавать токен Bearer, полученный в ответ на запрос POST https://bots-api.dion.vc/platform/v1/token. ❗В заголовке dc-crypto-session-id необходимо передавать идентификатор крипто-сессии, полученный методом POST /chats/v1/sessions. ❗В заголовке dc-encoded-data-over-json необходимо передавать значение true. |
|||||
| Параметр | Описание | Тип | Обязательность | Пример | Значения и способ заполнения | |
|
Path-параметры |
||||||
| conversation_id | Идентификатор чата | string | * | 4b98d59f-9095-4504-997e-ab8cc0effbfc | ||
| Пример первого запроса (без указания параметра cursor) |
Request URL: https://{host}/chats/v1/conversations/4b98d59f-9095-4504-997e-ab8cc0effbfc Request Method: GET |
|||||
| Выходные параметры | № | Параметр | Описание | Тип | Обязательность | Значения |
| 1 | conversation_id | Идентификатор чата |
string uuid |
* | ||
| 2 | name | Название чата | string | * | ||
| 3 | conversation_type | Тип чата | string |
Одно из следующих значений:
|
||
| 4 | created_at | Дата создания чата | string | * | ||
| 5 | updated_at | Дата изменения чата | string | * | ||
| 6 | creator_id | Идентификатор создателя/владельца чата | string | * | ||
| 7 | cover | Обложка/аватар чата | object | * | ||
| 7.1 | preview_url | URL аватара | string | |||
| 7.2 | initials | Инициалы для отображения | string | * | ||
| 8 | companion_user_id | Идентификатор собеседника. Приходит только если conversation_type = DM | string | |||
| 9 | permissions | Набор разрешенных действий (разрешений) с/в данным чатом | string[] | * | ||
| 10 | members_count | Количество участников чата | int | * | ||
| 11 | params | Список параметров чата | object | * | ||
| 11.1 | invisible_in_list | Отображать ли чат в списке чатов | boolean | * |
Одно из следующих значений:
Значение по умолчанию – false. Если параметр не пришел, чат нужно отобразить в списке чатов. |
|
| 11.2 | event_session_is_going | Идёт ли сессия конференции, к которой относится этот чат | boolean | * |
Одно из следующих значений:
Значение по умолчанию – false. Если параметр не пришел, то считается, что сессия конференции завершена. |
|
| 11.3 | members_limit | Максимальное количество участников чата | integer | * | Значение по умолчанию – 500, для каналов – 2000. | |
| 11.4 | tips | Показываемые подсказки в чате | string[] | * | ||
| 11.5 | attachment_number_limit | Максимально допустимое количество вложений в одном сообщении | int | * | Значение по умолчанию – 10. | |
| 12 | parent_conversation_id | Идентификатор родительского чата. Только для чатов с типом THREAD | string | |||
| 13 | parent_message_id | Идентификатор сообщения, из которого начали тред. Только для чатов с типом THREAD | string | |||
| Пример ответа (до дешифрования) | { "encrypted":"h8uio7AgDTKrinSGD8XvKCDL/BJEtheQYgCWk4Tcze6Zpy/xUSnohyJH1wJ1R9LElN7NK Y7ZTus7LIUp4xwN9qsQzyR5zhwnnW+fmD/WpgMaxNunKU5Ygj8BGUP0YDS0pFXZYn+rO2GyGDTE UuowkejDF52Ke0kd/22vHFQMLyf+D7jBQajpNe24ZGzpgK9SSJpyC5o9X+ttRC7xTlyqY81QPoW0Miy xr2BjrNYmBOCofnm6WfFrbXBTn1yh+u/GSkB4abx78Tx1+ELCqrtYGYfKh8Kh3EcrLItWeqHHZQDP5O ofyGLYT25IjbtstUeGbXeyst/QxdoFAx0ngItIPgtMcwoynODihTO5WxhMLO8a0R9y25lS73fJ395mjKyV 3dek7DZRX2o9wcu1VgDwc/JYA1ou6O6VWGxdsfCo42Ubk5vAgF1YltdSvlc=" } |
|||||
| Пример ответа для чата, в котором нельзя упоминать пользователей, видеть индикаторы и очищать историю (после дешифрования) | { "conversation_id": "922183b9-c1a7-475e-82c5-fbae6edee1e5", "name": "User4", "conversation_type": "DM", "created_at": "2023-12-13T16:57:59.752154Z", "updated_at": "2023-12-13T16:57:59.752154Z", "creator_id": "9ed94dc4-99ee-49b5-a586-050b4fe51f5d", "cover": { "preview_url": "https://photo-delivery-dev01.dev.dion.vc/v1/file/44c5b0ca-5161-4672-9370-691ede185704", "initials": "U" }, "companion_user_id": ""3c49f183-9554-4a9f-bb2e-15d051736ee5"", "permissions": [ "conversation.messages.attachments.upload", "conversation.event.join", "conversation.profile.view", "conversation.event.call" ], "params": { "invisible_in_list": false, "event_is_going": false, "members_limit": 250, "tips": [], "attachment_number_limit": 10 }, "members_count": 178 } |
|||||
| Особенности работы |
В ответе: В параметре permisssions приходит массив разрешений по данному чату. |
|||||
| Коды состояния HTTP |
Список возвращаемых кодов с кратким описанием:
|
|||||
formatted_content – это JSON-объект, содержащий информацию о форматировании сообщения. Блок верхнего уровня rich_text отвечает за показ форматированного текста и состоит из параметров type и elements. Elements – массив подблоков (нижнего уровня), которые отвечают за различные стили текста (жирный, курсив, подчеркнутый, зачеркнутый) и структуры текста (код). Типы блоков нижнего уровня:
| Поле | Тип | Обязательно в запросе | Обязательно в ответе | Описание |
| type | string | + | + | Тип блока, всегда rich_text |
| elements | object[] | + | + |
Массив объектов различного типа:
|
Таблица параметров (свойств) объекта типа text:
| Поле | Тип | Обязательно в запросе | Обязательно в ответе | Описание |
| type | string | + | + | Тип блока, всегда text. |
| text | string | + | + | Текст |
| fallback | string | + | Поле для отображения значения по умолчанию, содержит |
|
| style | object |
Объект, содержащий информацию о стиле (принимают булевы значения):
|
Стиль текста формируется следующим образом: в блоке типа text в объекте style содержатся опциональные булевы параметры: bold, italic, strike, underline. Если параметр принимает значение true, значит данный стиль применен к тексту.
Таблица параметров (свойств) объекта типа user
| Поле | Тип | Обязательно в запросе | Обязательно в ответе | Описание |
| type | string | + | + | Тип блока, всегда user |
| id | string, uuid | + | + | Идентификатор упоминаемого пользователя. |
| fallback | string | + | Поле для отображения значения по умолчанию, содержит значение ФИО. |
Таблица параметров (свойств) объекта типа broadcast
| Поле | Тип | Обязательно в запросе | Обязательно в ответе | Описание |
| type | string | + | + | Тип блока, всегда broadcast. |
| range | string | + | + |
Уровень упоминания. Одно из следующих значений:
|
| fallback | string | + | Поле для отображения значения по умолчанию, содержит значение поля range. |
Таблица параметров (свойств) объекта типа link
| Поле | Тип | Обязательно в запросе | Обязательно в ответе | Описание |
| type | string | + | + | Тип блока, всегда link. |
| url | string | + | + | Ссылка |
| fallback | string | + | Поле для отображения значения по умолчанию, содержит |
|
| text | string | + | + | Отображаемый пользователю кликабельный текст, за которым скрывается ссылка. |
Таблица параметров (свойств) объекта типа code_block
| Поле | Тип | Обязательно в запросе | Обязательно в ответе | Описание |
| type | string | + | + | Тип блока, всегда code_block. |
| text | string | + | + | Текст/код |
| language | string | + | + |
Язык программирования, на котором написан текст. Возможные значения:
|
| fallback | string | + | Поле для отображения значения по умолчанию, заполняется значением поля text. |
| Поле | Тип | Обязательно в запросе | Обязательно в ответе | Описание |
| type | string | * | * | Тип подблока, всегда command. |
| command | string | * | * | Название команды, которую выбрал пользователь (пишется вместе с /). |
| name | string | * | Название бота | |
| id | string, uuid | * | * | Идентификатор УЗ бота |
| fallback | string | * |
Поле для отображения значения по умолчанию, содержит значение следующего формата "name/command", где:
|
| JSON (содержимое поля messages.formatted_content) | Отображение | |
| Упоминание участника чата со стилем underline |
|
Привет, Сеньор Помидор! |
| Гиперссылка (test) |
|
some link test |
| Обычный текст + стили |
|
"на 1й строке текст без пробелов и он обычный на 2й строке сначала 2 пробела, строка вся курсивом здесь уже 3 пробела и строка жирная
2 пробела снова и вся строка подчеркнута здесь строка в стиле кода" |
| Команда "/sayHello" бота BotFather |
|
BotFather/sayHello Криш |
| Функциональность | Permission |
|---|---|
| Отправить текстовое сообщение | conversation.messages.create |
| Отправить сообщение с файлом | conversation.messages.attachments.upload |
| Ответить на сообщение | conversation.messages.reply |
| Копировать сообщение | conversation.messages.copy |
| Редактировать свое сообщение | conversation.messages.own.update |
| Редактировать чужое сообщение | conversation.messages.other.update |
| Переслать сообщение из чата | conversation.messages.repost |
| Удалить свое сообщение | conversation.messages.own.delete |
| Удалить чужое сообщение | conversation.messages.other.delete |
| Комментировать сообщение | conversation.messages.comment |
| Сохранить файл на устройство | conversation.messages.attachments.download |
| Видеть индикатор "Печатает..." | conversation.indicators.subscribe |
| Изменить чат (название, аватар) | conversation.update |
| Удалить чат | conversation.delete |
| Покинуть чат (отписаться от треда) | conversation.leave |
| Очистить историю чата (для всех) | conversation.messages.clear |
| Добавить участника в чат (в рамках своего теннанта) | conversation.members.add |
| Удалить участника из чата | conversation.members.remove (Пользователь1 может удалять) + member.remove (Пользователь2 может быть удален) |
| Назначить участника администратором чата | conversation.members.role.switch (Пользователь1 может управлять ролями других пользователей) + member.role.switch (Пользователю2 можно менять роль) |
| Отозвать у администратора роль администратора | |
| Скопировать/получить ссылку-приглашение в чат | conversation.join_link.get |
| Присоединиться в чат по ссылке-приглашению (в рамках своего теннанта) / Подписаться на тред | conversation.join |
| Упоминать отдельного участника чата | conversation.messages.mentions.create |
| Упоминать всех участников чата | |
| Управлять уведомлениями (включить/отключить) | conversation.settings.notifications.switch |
| Позвонить в чат | conversation.event.call |
| Присоединиться к конференции чата | conversation.event.join |
| Добавить/убрать реакцию на сообщение | conversation.messages.react |
| Посмотреть пользователей, поставивших реакции на сообщение | conversation.messages.reactions.list |
| Посмотреть участников чата / совершить поиск по участникам чата | conversation.members.list |
| Открыть профиль (чата, участников чата) | conversation.profile.view |
| Поиск сообщений в чате по тексту | conversation.messages.search |
| Функциональность | Permission |
| Удалить данного участника из чата | member.remove |
| Дать/забрать роль админа у данного участника | member.role.switch |