Экспорт сообщений Доступно только на тарифе «Корпорация»
Подробнее о том, как получить такой токен, вы можете прочитать в разделе Запросы и ответы
Бот пока не может работать с подобными методами и взаимодействует с API на уровне обычного участника пространства
Экспорт сообщений — это архив c файлами в формате
JSON
, где собраны все сообщения из всех чатов, которые были созданы в вашем пространстве.
В экспорте вам будут доступны все сообщения из открытых, закрытых и архивных чатов, в том числе треды. У каждого сообщения будет указан автор, время отправки, текст, список реакций на это сообщение.
Так же, в экспорте есть личные переписки, но в ограниченном формате. В них указан автор сообщения, время отправки, но нет контента сообщений и тредов. Эти данные полезны для оценки вовлеченность сотрудников их активности или оценке нагрузки на каждого из членов команды.
На основе выгрузки можно замерять количество сообщений и реакций в общих чатах. Так можно рассчитать Engagment Rate и улучшать корп. культуру/коммуникацию среди сотрудников. Ещё можно подсчитывать количество активных чатов и смотреть, насколько много в компании ведется обсуждений.
Запрос экспорта
При запросе экспорта можно настроить период, за который вы хотите получить данные, но не более 45 дней. И можете добавить ID-чатов, из которых вы хотите получить экспорт. Если вам нужны данные за период дольше 45 дней, то по завершении одной выгрузки, можно запросить следующую с новым диапазоном дат.
При запросе экспорта важно учитывать следующие ограничения:
- выгружаются все чаты, в том числе архивные и личные без контента сообщений
- не выгружаются треды в личных сообщениях
- не учитываются вложения
- не отражаются пересланные сообщения
- максимальный период одной выгрузки: 45 дней (при запросе с указанием конкретных чатов - 366 дней)
- максимальный количество запрашиваемых чатов (при указании): 50
- новый запрос на экспорта вы сможете сделать после завершения текущего
|
Запрос
|
|||
|---|---|---|---|
| start_at | string* | Дата начала для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD | |
| end_at | string* | Дата окончания для экспорта (ISO-8601, UTC+0) в формате YYYY-MM-DD | |
| webhook_url | string* | Адрес, на который будет отправлен вебхук по завершению экспорта | |
| chat_ids | array of integers | Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов. | |
| skip_chats_file | boolean | Пропуск формирования файла со списком чатов (при значение true файл chats.json не будет создан) | |
|
Ответ
|
|||
| При безошибочном выполнении запроса тело ответа отсутствует | |||
|
Возможные ошибки запроса (errors code)
|
|||
| blank | Обязательное поле (не может быть пустым) | ||
| too_long | Слишком длинное значение (пояснения вы получите в поле message) | ||
| invalid | Поле не соответствует правилам (пояснения вы получите в поле message) | ||
| invalid_date_range | Выбран слишком большой диапазон дат | ||
| invalid_webhook_url | Некорректный URL вебхука | ||
| rate_limit | Достигнут лимит запросов | ||
|
|||
{
"start_at": "2025-03-20",
"end_at": "2025-03-20",
"webhook_url": "https://webhook.site/9227d3b8-6e82-4e64-bf5d-ad972ad270f2",
"chat_ids": [1381521]
}
Экспорт выполняется асинхронно. На указанный webhook_url будет отправлен
JSON
с информацией о готовом экспорте.
{
"type": "export",
"event": "ready",
"export_id": 22322,
"created_at": "2025-03-20T12:33:58Z"
}
Скачивание готового архива
Получив
JSON
с информацией о готовом экспорте, вам необходимо взять значение поля export_id и выполнить запрос на скачивание архива сообщений, указав его в URL запроса.
|
Запрос
|
|||
|---|---|---|---|
| Параметры запроса отсутствуют | |||
|
Ответ
|
|||
| При безошибочном выполнении запроса тело ответа отсутствует. Вы получите .zip архив. | |||
|
Возможные ошибки запроса (errors code)
|
|||
| not_found | Не удалось найти | ||
Архив сообщений
Архив представляет собой папки, где каждая папка соответствует чату в вашем пространстве. Название папки состоит из имени чата и его
ID
, например:
Design_12925828
. Внутри папки будут
JSON
-файлы, которые соответствуют дате переписки. Каждый день — отдельный файл.
Дополнительно, рядом с папками будет находиться список чатов, которые попали в экспорт. Список чатов представлен файлом
chats.json
. Список не создается, если при запросе экспорта было указано skip_chats_file как true.
| id | integer | Идентификатор сообщения |
| created_at | string | Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ |
| deleted_at | string или null | Дата и время удаления сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ. Возвращается как null, если сообщение не удалено. |
| content | string | Текст сообщения |
| thread_id | integer или null | Идентификатор треда сообщения. Возвращается как null, если у сообщения нет комментариев. |
| reactions | array of objects | Массив списка реакций |
| user_id | integer | Идентификатор пользователя, который добавил реакцию |
| created_at | string | Дата и время добавления реакции (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ |
| code | string | Emoji символ реакции |
| user | object | Информация об авторе сообщения |
| id | integer | Идентификатор пользователя |
| role | string | Тип: member (пользователь), bot (бот) |
| name | string | Имя |
| last_name | string | Фамилия |
| string | Электронная почта | |
| tags | array of strings | Массив тегов, привязанных к пользователю |
| chat | object | Информация о чате, в котором было написано сообщение |
| id | integer | Идентификатор чата |
| name | string | Название чата |
| personal | boolean | Личный (true) или групповой (false) чат |
| owner | object | Информация о владельце чата |
| id | integer | Идентификатор пользователя |
| role | string | Тип: member (пользователь), bot (бот) |
| name | string | Имя |
| last_name | string | Фамилия |
| string | Электронная почта | |
| tags | array of strings | Массив тегов, привязанных к пользователю |
| tags | array of strings | Массив тегов, привязанных к чату |
| thread | object или null | Тред, в котором находится сообщение. Возвращается как null, если сообщение находится не в треде. |
| id | integer | Идентификатор треда, в котором находится текущее сообщение |
| message_id | integer | Идентификатор сообщения, под которым был начат тред |
| message_chat_id | string | Идентификатор чата, в котором был начат тред |
Список в файле
chats.json
представляет собой массив объектов чатов. Структура каждого объекта чата описана ниже.
| id | integer | Идентификатор чата |
| personal | boolean | Личный (true) или групповой (false) чат |
| name | string | Название |
| owner_id | integer | Идентификатор пользователя, создавшего чат |
| members | array of objects | Массив объектов участников чата |
| id | integer | Идентификатор пользователя |
| role | string | Роль в чате: owner (создатель), admin (админ), editor (редактор), member (участник/подписчик) |
| created_at | string | Дата и время создания чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ |
| updated_at | string | Дата и время обновления чата (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ |