Экспорт клиентской базы командой /export¶
Команда /export выгружает сведения о диалогах Hotline в табличный отчёт (список пользователей и групповых чатов). Можно экспортировать все активные диалоги, выбрать диалоги по одной или нескольким меткам, исключить отдельные метки или получить сведения об удалённых топиках. Также при экспорте можно обоготить список диалогов актуальными данными по ним от Telegram (язык, username, имя, телефон).
Принцип работы¶
Команда работает только в топике General бекенд-группы. После запуска в General появляется сообщение о начале экспорта, а в личный чат оператора с сетап-ботом приходит уведомление о формировании отчёта.
Готовый CSV-файл отправляется оператору в личный чат с сетап-ботом. В General публикуется только краткий итог: режим экспорта, количество строк и ошибок. Если сетап-бот не может отправить оператору личное сообщение, экспорт не начинается.
Основные возможности¶
- Экспорт всех активных диалогов
- Выбор диалогов по одной или нескольким меткам
- Исключение диалогов с заданными метками
- Экспорт сведений об удалённых топиках
- Добавление актуальных данных Telegram: username, имя, язык и телефон
- Выбор подключения при нескольких подключениях в одной бекенд-группе
- Остановка выполняющегося экспорта
Формат экспорта¶
Для активных диалогов CSV-файл содержит следующие поля:
| Поле | Описание |
|---|---|
chat_id |
Идентификатор чата или пользователя Telegram; для топика используется формат chat_id(thread_id) |
last_date |
Дата последнего сообщения в топике |
status |
Текущий статус диалога (user_answered, support_answered, closed) |
title |
Название топика |
frontend_type |
Тип топика (private, group, channel и др.) |
topic_link |
Ссылка на топик в бекенд-группе |
marks |
Назначенные метки диалогу (если есть) |
ignore_chat |
Признак того, что чат входит в параметр IGNORE_CHATS |
Для удалённых диалогов доступны поля chat_id, last_date, status, title и frontend_type.
Опция with добавляет выбранные поля username, name, lang и phone. Вместе с ними в отчёте появляется колонка error: в ней указывается ошибка, если Hotline не удалось получить актуальные данные конкретного чата из Telegram.
Формат CSV
CSV-файл можно открыть в Excel, Google Sheets или импортировать в другие CRM-системы для дальнейшей обработки.
Команда /export отправляет оператору отчёт в формате CSV. При наличии доступа к API тот же готовый отчёт можно получить в TSV через endpoint /api/v2/export/{export_id}/report?format=tsv.
Вызов команды¶
Справка¶
/export
/export help
Обе команды показывают справку на английском языке.
Все активные диалоги¶
/export all
Экспортирует все активные диалоги текущего подключения.
Диалоги с метками¶
/export mark deal
/export mark vip,deal
Если указано несколько меток, в отчёт попадут диалоги хотя бы с одной из них. Например, /export mark vip,deal выбирает диалоги с меткой vip или deal.
Если хотя бы одной указанной метки не существует, экспорт не начинается. Названия меток перечисляются через запятую.
Исключение меток¶
/export all exclude spam,test
/export mark vip,deal exclude blocked
Опция exclude убирает из результата диалоги хотя бы с одной из перечисленных после неё меток. Её можно использовать с режимами all и mark.
Удалённые диалоги¶
/export deleted
Экспортирует сведения о диалогах из архива удалённых топиков. Метки и exclude в этом режиме не используются.
Данные экспорта берутся из базы Hotline. Чтобы предварительно проверить существование топиков и переместить отсутствующие в архив, выполните /sync all deleted в топике General. Проверка большого количества топиков может занять продолжительное время, поэтому при большом числе диалогов сперва лучше попробовать команду sync с параметром dry и указанием необходимого числа диалогов для проверки. Пример вызова: /sync 10 dry.
Дополнительные данные¶
/export all with username,name
/export mark vip,deal with lang,phone
/export deleted with data
После with можно указать поля username, name, lang и phone через запятую. Значение data — сокращение для получения всех четырёх полей.
Получение актуальных данных выполняется через Telegram и увеличивает время формирования отчёта. При ограничениях со стороны пользователей Telegram для подключенных аккаунтов или ботов отдельные строки могут содержать значение в колонке error вместо запрошенных данных.
Выбор подключения¶
/export all instance INSTANCE_ID
/export mark vip,deal instance INSTANCE_ID with data
Опция instance INSTANCE_ID запускает экспорт только для указанного подключения. Она полезна, когда к одной бекенд-группе подключено несколько ботов или аккаунтов.
Остановка экспорта¶
/export stop
Останавливает активный экспорт подключения. Частичный отчёт при остановке не формируется. Одновременно для одного подключения может выполняться только один экспорт.
Важные примечания¶
Права доступа
Доступ к команде регулируется параметром EXTENSIONS_ALLOWED. Если список пуст или отсутствует, команда доступна всем операторам бекенд-группы. Непустой список разрешает её только указанным операторам.
Конфиденциальность
CSV-файл может содержать идентификаторы чатов, служебные признаки сегментации, имена и телефоны. Соблюдайте правила конфиденциальности при работе с экспортированными данными. Рекомендуется сразу скачивать файлы экспорта и удалять их из чата после завершения работы.
Регулярный экспорт
Делайте регулярный экспорт базы для создания резервных копий.
Ограничение размера
Один отчёт может содержать до 100 000 строк. Если результат превышает этот предел, экспорт завершается с ошибкой.