Экспорт сообщений Доступно только на тарифе «Корпорация»

Экспорт сообщений доступен только с access_token владельца пространства
Подробнее о том, как получить такой токен, вы можете прочитать в разделе Запросы и ответы
Бот пока не может работать с подобными методами и взаимодействует с API на уровне обычного участника пространства

Экспорт сообщений — это архив c файлами в формате JSON, где собраны все сообщения из всех чатов, которые были созданы в вашем пространстве.

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

Так же, в экспорте есть личные переписки, но в ограниченном формате. В них указан автор сообщения, время отправки, но нет контента сообщений и тредов. Эти данные полезны для оценки вовлеченность сотрудников их активности или оценке нагрузки на каждого из членов команды.

На основе выгрузки можно замерять количество сообщений и реакций в общих чатах. Так можно рассчитать Engagment Rate и улучшать корп. культуру/коммуникацию среди сотрудников. Ещё можно подсчитывать количество активных чатов и смотреть, насколько много в компании ведется обсуждений.

Запрос экспорта

При запросе экспорта можно настроить период, за который вы хотите получить данные, но не более 45 дней. И можете добавить ID-чатов, из которых вы хотите получить экспорт. Если вам нужны данные за период дольше 45 дней, то по завершении одной выгрузки, можно запросить следующую с новым диапазоном дат.

При запросе экспорта важно учитывать следующие ограничения:
- выгружаются все чаты, в том числе архивные и личные без контента сообщений
- не выгружаются треды в личных сообщениях
- не учитываются вложения
- не отражаются пересланные сообщения
- максимальный период одной выгрузки: 45 дней (при запросе с указанием конкретных чатов - 366 дней)
- максимальный количество запрашиваемых чатов (при указании): 50
- новый запрос на экспорта вы сможете сделать после завершения текущего

post /chats/exports запрос экспорта сообщений
Запрос
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 Массив идентификаторов чатов. Указывается, если нужно получить сообщения только некоторых чатов.
Ответ
При безошибочном выполнении запроса тело ответа отсутствует
Возможные ошибки запроса (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 с информацией о готовом экспорте.

Пример JSON вебхука об успешном завершении экспорта
{
    "type": "export",
    "event": "ready",
    "export_id": 22322,
    "created_at": "2025-03-20T12:33:58Z"
}

Скачивание готового архива

Получив JSON с информацией о готовом экспорте, вам необходимо взять значение поля export_id и выполнить запрос на скачивание архива сообщений, указав его в URL запроса.

get /chats/exports/{id} скачивание экспорта сообщений
Запрос
Параметры запроса отсутствуют
Ответ
При безошибочном выполнении запроса тело ответа отсутствует. Вы получите .zip архив.
Возможные ошибки запроса (errors code)
not_found Не удалось найти
Тело запроса отсутствует, параметры передаются в URL (например, /chats/exports/22322)
При безошибочном выполнении запроса тело ответа отсутствует. Вы получите .zip архив.

Архив сообщений

Архив представляет собой папки, где каждая папка соответствует чату в вашем пространстве. Название папки состоит из имени чата и его ID, например: Design_12925828 . Внутри папки будут JSON-файлы, которые соответствуют дате переписки. Каждый день — отдельный файл.

Структура данных в JSON-файлах
id integer Идентификатор сообщения
created_at string Дата и время создания сообщения (ISO-8601, UTC+0) в формате YYYY-MM-DDThh:mm:ss.sssZ
content string Текст сообщения
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 Фамилия
email string Электронная почта
tags array of strings Массив тегов, привязанных к пользователю
chat object Информация о чате, в котором было написано сообщение
id integer Идентификатор чата
name string Название чата
owner object Информация о владельце чата
id integer Идентификатор пользователя
role string Тип: member (пользователь), bot (бот)
name string Имя
last_name string Фамилия
email string Электронная почта
tags array of strings Массив тегов, привязанных к пользователю
tags array of strings Массив тегов, привязанных к чату
thread object или null Тред сообщения. Возвращается как null, если у сообщения нет комментариев.
message_id integer Идентификатор сообщения, под которым был начат тред
message_chat_id string Идентификатор чата, в котором был начат тред