Поддержка
Собрали ответы на все самые популярные вопросы, чтобы вам было легко и удобно пользоваться eXpress. Если вы не найдете ответ на свой вопрос, свяжитесь с нашей службой поддержки.
- Приветствуем в eXpress
- Поддержка eXpress
- Знакомство с eXpress, терминология
- Установка, обновления, требования
- Регистрация и вход в приложение
- Профиль пользователя
- Чаты, каналы и обсуждения
- Контакты
- Теги и вкладки
- Файлы
- Звонки и конференции
- Уведомления и метки приложения
- Фоновые ограничения на мобильных
- Боты и SmartApps
- Диагностика и логи
- Кэш приложения
- Панель администратора
- Портал поддержки в Jira
- Поддержка для администраторов
- Политика по изменениям в БД
- Документация eXpress
- Политика конфиденциальности
Боты и SmartApps
- Чат-боты и SmartApps
- Готовые боты и SmartApps
- Заказные боты и SmartApps | API BotX
- Решение проблем с чат-ботами и SmartApps
Чат-боты и SmartApps
Обзор 
| Функция | Описание | Возможности |
|---|---|---|
| Бот |
Lite
CTS
eCTS
Пользователям eXpress
Lite можно использовать только встроенные служебные боты. |
|
| SmartApp |
CTS
eCTS
ETS -приложение. |
|
Кто может управлять ботами и SmartApps?
Кому доступны боты SmartApps?
Как защищены SmartApps на стороне пользователей?
Все SmartApps работают внутри зашифрованного контейнера клиентского приложения, что гарантирует защиту корпоративной информации от третьих лиц.
Не могу найти SmartApps в приложении для Aurora. Почему?
⚠️ Приложение для Aurora временно не поддерживает SmartApps.
Внутренние боты 
В eXpress есть идущие в комплекте внутренние боты, необходимые для работы определённых функций приложения. Некоторые из них:
| Внутренние боты | Описание |
|---|---|
| Conference Notifier bot | Оповещает пользователей о предстоящих конференциях. С его помощью также можно настроить регулярные напоминания о бессрочных конференциях. |
| Notifications bot | Бот для отправки сообщений в глобальный чат. |
| Poll bot | Бот для отправки результатов опросов. |
| Recordings bot | Бот для уведомлений о готовых записях звонков. |
Стандартные SmartApps 
Готовые боты и SmartApps
Коллекция ботов и SmartApps 
Доступны готовые к развёртыванию боты и SmartApps:
Для каждого бота и SmartApp в каталоге предусмотрен файл .env с переменными, содержащий подробное описание всех конфигурационных параметров.
Описание некоторых ботов и SmartApps:
| Бот/SmartApp | Описание и инструкция для пользователей |
|---|---|
| Webhook Bot | Подписки на уведомления сторонних сервисов — . Есть готовый . |
| TgMigrate Bot | Бот для переноса чатов из Telegram — . Дистрибутив с описанием и инструкция для пользователей бота доступны здесь. |
| Contacts Bot | Справочник контактов — . |
| Forwarder Bot | Автоматические пересылки сообщений по правилам — . |
| Sticker Bot | Бот для создания и редактирования созданных через него наборов стикеров. Также есть функция импорта статичных стикеров (без анимации) из Telegram.
⚠️ Чтобы импорт стикеров из Telegram работал, необходим доступ до серверов Telegram со стороны бот-сервера, на котором размещён Sticker Bot.
|
| Jira Monitoring Bot | Интеграция обсуждений в eXpress с комментариями в Jira — |
| Календарь SmartApp | Интеграция с календарём — |
| Email SmartApp | Почтовый клиент — |
| Homescreen SmartApp | Главная страница с информацией о вашей компании — |
| Proxy SmartApp | Показывает внутренний веб-ресурс организации прямо в eXpress: корпоративный портал, дашборд, систему заявок, вики. Ресурс при этом остаётся внутри защищённой сети и не публикуется в интернет. Внутри вы работаете с сайтом так же, как в браузере. |
Подробнее об остальных ботах и SmartApps, а также инструкции администраторам:
Вопросы по SmartApp «Почта» 
Можно ли подключить несколько почтовых ящиков?
Да. Внутри Email SmartApp нажмите на свой аватар и добавьте аккаунт — переключаться между ящиками можно без выхода из приложения.Почему уведомления приходят только о письмах во «Входящих»?
Приложение отслеживает новые письма в папке «Входящие». Если у вас настроены правила, раскладывающие письма по другим папкам, уведомлений о них не будет — это ожидаемое поведение.Как отключить уведомления о новых письмах?
В самом приложении «Почта» нажмите на кнопку с тремя точками и выключите уведомления. Настройка общая для всех ваших устройств.Почему не находится нужный адресат?
Поиск идёт по корпоративному каталогу вашей организации и по контактам, накопленным в почтовом ящике. Если человека нет ни там, ни там, введите его адрес полностью (и нажмите Enter) — адрес подставится.Вопросы по SmartApp «Календарь» 
Приходят ли напоминания о встречах из Календаря?
Уведомления о приближающихся событиях в приложении «Календарь» приходят от бота «Календарь».Можно ли синхронизировать «Календарь» с календарём телефона?
Нет, это разные приложения. Но если один и тот же аккаунт (например, Яндекс) подключён и в календаре телефона, и в SmartApp, вы будете видеть одни и те же события.Как забронировать переговорную?
Переговорные доступны, если календарь подключён к Exchange, — комнаты создаёт администратор на календарном сервере. Для других сервисов место встречи указывается вручную.Остальные вопросы по ботам и SmartApps 
Как установить бота или SmartApp?
Где хранятся учётные данные SmartApps «Почта» и «Календарь»? 
Пароли почтовых и календарных учётных записей хранятся на стороне корпоративного сервера в зашифрованном виде. Поэтому входить в SmartApps достаточно только на одном из ваших устройств.
Какие ограничения у Proxy SmartApp? 
Работает в десктопном приложении и в мобильных приложениях. В веб-версии eXpress проксируемые ресурсы не открываются из-за ограничений браузера.
Проксируемый ресурс должен работать по протоколу HTTPS и разрешать встраивание. Сетевые папки (SMB, DFS, библиотеки SharePoint) через Proxy SmartApp не публикуются.
Почему я не вижу нужный SmartApp в каталоге?
Набор доступных SmartApps настраивает администратор вашей организации, в том числе индивидуально для групп сотрудников. Если приложение пропало после обновления — очистите кэш SmartApp «Каталог» через кнопку с тремя точками или выполните повторный вход.Бот не отдаёт файл или отвечает ошибкой в чате с участниками разных серверов 
Бот развёрнут на конкретном корпоративном сервере и работает с его пользователями. Файлы, которые он формирует, — отчёты и выгрузки — создаются в хранилище того же сервера и на соседние не передаются: скачать их сможет только пользователь этого сервера.
По той же причине в чате, где есть участники с других корпоративных серверов, бот может ответить ошибкой. Зависит от бота: одним достаточно одного экземпляра на всех, другим нужен свой на каждом сервере.
Почему в сообщении от бота пропало упоминание 
Любой бот при пересылке сообщений обрабатывает только упоминания, поставленные через @@ — такие он выносит в пересланном сообщении отдельным списком. Одиночное @ для бота — обычный текст, и в списке упомянутых оно не появится.
Почему SmartApp открывается на половину экрана?
Ширину окна SmartApp в веб- и десктоп-версии можно менять кнопкой в правом верхнем углу. Доступные варианты отображения задаёт администратор.Можно ли изучить код готовых ботов и SmartApps?
Мы не предоставляем исходный код.Заказные боты и SmartApps | API BotX
Платформа eXpress поддерживает создание собственных ботов и SmartApps. Создать бота или SmartApp можно самостоятельно, используя API BotX, либо заказать у поставщика eXpress.
Создание ботов и SmartApps 
Обычные пользователи могут добавлять ботов и SmartApps на сервер?
Пользователь без доступа к консоли администратора не может добавить бота на сервер самостоятельно — для внедрения бота необходимо обращаться в поддержку своей организации.Кто может создавать ботов и SmartApps?
Боты и SmartApps могут быть созданы:
- Командой разработки eXpress. Заявки на внедрение и доработку таких ботов и SmartApps делаются через аккаунт-менеджера со стороны eXpress или коммерческий отдел.
- Заказчиком самостоятельно с использованием API BotX. Описание API доступно по ссылкам ниже.
- Партнёрами заказчика. Заявки на доработку таких ботов делаются через поддержку организации-партнёра.
Есть конструктор ботов или аналог Bot Father из Telegram?
Нет, ботов необходимо создать и подключить к корпоративному серверу самостоятельно или на заказ.Как устроен чат-бот и с чего начать разработку 
Чат-бот в eXpress — это отдельный тип пользователя, за которым скрывается веб-приложение на сервере вашей организации. Для сотрудника бот выглядит как контакт и чат с ним; для платформы это HTTP-сервис, которому корпоративный сервер пересылает сообщения и от которого принимает ответы. Участников в этой схеме три.
| Участник | Что делает |
|---|---|
| Приложение eXpress | Показывает бота как контакт. Всё, что пользователь пишет боту или нажимает в его сообщениях, уходит на корпоративный сервер как обычное сообщение. |
| BotX на корпоративном сервере CTS |
Посредник между мессенджером и ботами. Доставляет боту сообщения HTTP-запросом и принимает от бота запросы на отправку сообщений, создание чатов, поиск пользователей. |
| Бэкенд бота | Веб-приложение на сервере организации, обычно docker-контейнер. Принимает команды от BotX, обращается к внутренним системам (Jira, 1С, почта) и отвечает через BotX. Его адрес администратор указывает при создании бота в консоли администратора. |
Отсюда два API, которые важно не путать:
- Bot API реализует сам бот: адреса, на которые BotX присылает команды пользователей и системные события (
POST /command), результаты отправки сообщений (POST /notification/callback) и запрос списка команд для меню в чате (GET /status). Версия Bot API задаётся в карточке бота в поле Версия протокола. Описание — . - BotX API предоставляет платформа: методы, которые бот вызывает, чтобы действовать от своего имени — отправить сообщение с кнопками, создать чат, найти пользователя, скачать файл. Описание — , готовые запросы на типовые случаи — .
Что происходит, когда пользователь пишет боту?
Сообщение уходит на корпоративный сервер, BotX доставляет его боту запросом POST /command. Бот обязан за 5 секунд ответить, что принял команду, иначе пользователь увидит «Не удалось получить ответ от бота». Дальше бот работает сколько нужно и отвечает через BotX API; результат доставки приходит боту отдельным запросом. Галочки у сообщения пользователя показывают эти этапы: одна серая — отправлено, две серые — BotX получил, две синие — бот подтвердил приём. Две синие галочки означают, что бот ответил на запрос, а не то, что он выполнил задачу. Подробности — .
Оба направления защищены секретным ключом бота, который создаётся вместе с ботом в консоли администратора: BotX подписывает им каждый запрос к боту, а бот по нему получает токен для BotX API. Трафик между BotX и ботом по умолчанию идёт без TLS внутри сети организации; шифрование включается загрузкой сертификата на сервер и настройкой в карточке бота — .
С чего начать разработку бота?
- Понять платформу: что такое корпоративные и региональные серверы, что бот знает о пользователях с других серверов, что означают галочки — .
- Решить, нужен ли боту собственный пользовательский интерфейс. Если да — это SmartApp, см. следующий подраздел.
- Подготовить сервер: Linux, Docker, PostgreSQL, Redis, сетевой доступ к корпоративному серверу в обе стороны — , разделы «Предварительные условия» и «Системные требования».
- Зарегистрировать бота в консоли администратора: Боты > Создать бота, указать имя,
APP_ID, URL бэкенда и версию протокола, затем сохранить ID и Secret key — . Кому бот доступен и что видит в групповых чатах, настраивается там же — . - Реализовать Bot API и получить токен BotX API — , .
- Не писать всё с нуля: для Python есть библиотека pybotx, шаблон бота async-box и примеры next-feature-bot и todo-bot — , разделы «Библиотеки» и «Примеры ботов»; исходный код — . Язык при этом любой: оба API — обычный HTTP с JSON.
- Развернуть бота в Docker по инструкции и обновлять по .
Что ещё умеет бот
- Кнопки под сообщением и клавиатура, виджеты из нескольких сообщений — , .
- Ссылка или QR-код, открывающий чат с ботом и сразу передающий ему команду — .
- Создание чатов, управление участниками и администраторами, закрепление сообщений, треды — .
- Поиск пользователей своего сервера по почте, логину или HUID — .
- Приём и отправка файлов — .
- История изменений платформы BotX по версиям — .
Как устроен SmartApp и с чего начать разработку 
SmartApp — это чат-бот, у которого есть собственный интерфейс: одностраничное веб-приложение, которое открывается внутри eXpress. Всё, что сказано о ботах в предыдущем подразделе, относится и к SmartApp: у него тот же бэкенд-бот, тот же BotX и те же два API. Добавляется фронтенд и способ его доставить пользователю.
| Часть SmartApp | Что это |
|---|---|
| Фронтенд | Веб-приложение на любом стеке (React, Vue, Angular), которое приложение eXpress показывает во встроенном окне: на Web и Desktop это iframe, на мобильных — WebView. С мессенджером фронтенд общается через библиотеку : контакты, чаты, файлы, защищённое хранилище, NFC и Bluetooth. |
| Бэкенд | Обычный чат-бот, у которого в консоли администратора заполнен блок SmartApp. Хранит статику фронтенда, обрабатывает его запросы, обращается к внутренним системам организации — . |
| BotX на корпоративном сервере CTS |
Посредник: фронтенд никогда не обращается к своему бэкенду напрямую. Запрос из интерфейса уходит через приложение eXpress в BotX, оттуда боту, и ответ возвращается тем же путём. |
Какие бывают SmartApps?
Разработчик выбирает один из трёх видов по тому, откуда берётся фронтенд, и от этого зависит поведение приложения без сети — .
- С кешированием. Фронтенд собирается в архив (бандл), который приложение eXpress скачивает с бота и хранит на устройстве в зашифрованном виде. Открывается мгновенно и работает без сети. Самый частый выбор для приложений, написанных с нуля.
- Без кеширования. Фронтенд каждый раз запрашивается с бота, как обычный сайт. Не работает без сети, но умеет проксировать файлы из корпоративной сети.
- С проксированием. Во встроенном окне открывается уже существующий внутренний веб-ресурс организации, доступ к нему идёт через корпоративный сервер. Так публикуют готовые системы, не переписывая их. Ограничения — в подразделе Какие ограничения у Proxy SmartApp?
Как фронтенд общается с ботом?
Фронтенд вызывает метод SDK, приложение eXpress передаёт событие в BotX, BotX доставляет его боту как системное событие в POST /command, бот отвечает через BotX API, и ответ приходит во фронтенд. Этот обмен называется SmartApp RPC — , раздел «Взаимодействие SmartApp frontend и backend»; методы со стороны фронтенда — . Бот может и сам обратиться к пользователю: прислать push-уведомление или обновить счётчик на иконке приложения — .
Как приложение eXpress показывает SmartApp — размер окна, закрепление на панели, предзагрузка, полноэкранный режим на мобильных, — бот сообщает манифестом, который отправляет на BotX — , раздел «Отправка SmartApp-манифеста». У SmartApp с кешированием есть и второй манифест, внутри бандла: он задаёт версию сборки и способ обновления — .
С чего начать разработку SmartApp?
- Выбрать вид SmartApp — . Если задача — показать внутри eXpress уже существующую систему, обычно достаточно готового Proxy SmartApp из коллекции.
- Спроектировать по плану из документации: способ аутентификации бота во внешней системе, спецификация запросов фронтенд ↔ бэкенд, проекты бэкенда и фронтенда, сборка и публикация — .
- Подготовить сервер и зарегистрировать бота в консоли администратора так же, как для обычного бота, дополнительно заполнив блок SmartApp с
App ID— . - Написать бэкенд: обычный бот, который дополнительно отдаёт статику фронтенда и обрабатывает события SmartApp — .
- Написать фронтенд: подключить SmartApp SDK, вызвать
readyпри запуске, учесть требования к сборке бандла — , . - Отладить: в веб-приложении eXpress есть режим отладки SmartApps, который открывает локальную сборку фронтенда вместо опубликованной; на iOS и Android доступна удалённая отладка через Safari и Chrome — .
- Отправить манифест на BotX и развернуть бота; для SmartApp с проксированием дополнительно нужны поддомен корпоративного сервера и сертификат — .
Что ещё умеет SmartApp
- Открываться по ссылке из чата или письма и получать параметры — .
- Появляться в карточке контакта и в меню «Отправить в» — , .
- Загружать файлы с устройства с выбором качества медиа и открывать файлы — , .
- Хранить токены и настройки в защищённом хранилище на устройстве — .
- Читать NFC-метки, работать с Bluetooth и геолокацией на мобильных — .
- Подстраиваться под тему и язык приложения — , .
- Пускать пользователя во внешнюю систему без пароля через SSO — , раздел «Аутентификация в интегрируемых сервисах».
API BotX 
О ботах в базе знаний:
Документация по API BotX:
- — протокол отправки данных от BotX к боту (BotX → Bot). Версия протокола задаётся на странице редактирования бота в панели администратора, в поле Версия протокола.
- — API сервиса BotX. Позволяет боту взаимодействовать с внутренними сервисами eXpress.
Документация по SmartApps:
Репозиторий GitHub с библиотеками и примерами:
Решение проблем с чат-ботами и SmartApps
Используйте актуальный Android System WebView 
Для корректной работы SmartApps в мобильном приложении для Android компонент операционной системы Android System WebView должен иметь актуальную версию. Очистите кэш приложения после обновления Android System WebView.
Бот не работает или работает неправильно — общие рекомендации 
- Определите, на какой платформе возникает проблема: веб/десктоп или мобильное приложение, и уточните версию приложения.
- Проверьте, воспроизводится ли проблема на другой клиентской платформе.
- Зафиксируйте шаги воспроизведения, сделайте скриншоты или запишите видео.
Проблема с ботом возникает на нескольких клиентских платформах?
Если проблема возникает на двух и более платформах (например, iOS и Android), возможные причины:
- бот использует устаревшие методы и требует обновления,
- бот содержит ошибку в коде.
Обратитесь в поддержку своей организации для диагностики и сбора данных или напрямую в поддержку eXpress, предоставив собранную информацию.
Администратору: сбор данных для диагностики чат-бота
CTS
eCTS
Для диагностики можно получить с корпоративного сервера:
- логи контейнера с ботом,
- логи контейнера botx,
- логи контейнера messaging.
Передайте в поддержку eXpress:
- описание проблемы, скриншоты, видео,
- файл .env со значениями переменных,
- собранные логи.
Проблема с ботом возникает на одной клиентской платформе?
Если проблема возникает только на одной платформе (веб/десктоп/iOS/Android), передайте в поддержку eXpress:
- описание проблемы,
- логи клиентского приложения.
При необходимости проблема будет заведена как баг и исправлена в будущем.
Ошибка авторизации бота “401 Unauthorized” 
Откройте свойства бота в панели администратора корпоративного сервера, установите флажок Разрешить вход по устаревшему токену и сохраните изменения.
SmartApp не работает или работает неправильно — общие рекомендации 
- Попробуйте очистить кэш SmartApp через кнопку-троеточие на экране или на панели самого SmartApp.
- Если проблема не решена, определите, на какой платформе она возникает (веб/десктоп/мобильное приложение), и уточните версию приложения.
- Проверьте, воспроизводится ли проблема на другой платформе.
- Зафиксируйте шаги воспроизведения, сделайте скриншоты или видео.
- Соберите клиентские логи SmartApp.
- Через администратора корпоративного сервера запросите:
- Отправьте все данные в поддержку eXpress для дальнейшего анализа.
При необходимости проблема будет заведена как баг и исправлена в будущем.
Proxy SmartApp не открывает ресурс или показывает пустой экран 
Учтите, что в веб-версии проксирование не работает — откройте приложение на компьютере или на телефоне.
Очистите кэш Proxy SmartApp: нажмите три точки в правом верхнем углу приложения и выберите очистку кэша, затем откройте его заново.
Сравните поведение в разных сетях. Отдельно проверьте из корпоративной сети и из мобильной — это сразу подскажет администратору, где искать причину.
Если ничего не помогло, обратитесь в поддержку своей организации или к администратору: настройка Proxy SmartApp выполняется на стороне корпоративного сервера.