Настройка интеграции с чат-ботом Telegram
1. На web-сервере «1С:Предприятия» должен быть открыт порт 80 или 443 для приема сообщений из сервиса heroku (он транслирует обращения в Итилиум из Telegram) для входящих соединений.
2. Должен быть доступен ресурс api.telegram.org c каждого сервера кластера серверов «1С:Предприятия».
Для регистрации телеграм-бота необходимо в Telegram зайти на канал @BotFather и написать "/newbot". После этого BotFather предложит ввести название бота и имя пользователя для аккаунта бота. Название будет отображаться в окне диалога с ботом, а имя пользователя будет использоваться для ссылки на бота. После ввода названия и имени пользователя BotFather вернет token, его необходимо скопировать и сохранить для дальнейшей настройки.
Создание чат-бота
Далее необходимо развернуть web-приложение чат-бота Telegram. Для этого необходимо опубликовать информационную базу на веб-сервере, на вкладке «HTTP сервисы» установить флаг «TelegramAPI».
Публикация на веб-сервере
На следующем шаге необходимо в опубликованной информационной базе в разделе «Администрирование и настройки» выбрать «Параметры системы», в настройках ИБ указать полученный код в строке активации и дату окончания лицензии для Telegram.
Настройка в параметрах системы
Далее в параметрах системы во вкладке «Прочие настройки» необходимо нажать на кнопку «Настройка Telegram-бота». В открывшемся окне необходимо вставить токен Telegram-бота, полученный на этапе регистрации бота.
Листайте скриншоты: настройка Telegram-бота (рис. 1), токен Telegram-бота (рис. 2)
Для распознания чат-ботом пользователя с ролью «Потребитель услуг», у него необходимо сгенерировать идентификатор подписчика для мессенджера. Для этого необходимо в справочнике «Пользователи информационной базы нажать кнопку «Сгенерировать».
Справочник «Пользователи ИБ»
Для массовой генерации идентификаторов подписчиков можно воспользоваться обработкой «Универсальный подбор и обработка объектов», которая доступна в меню «Функции для технического специалиста».
Шаг 1. Необходимо выбрать справочник «Пользователи ИБ» и нажать «Вперед».
Шаг 2. Необходимо отобрать пользователей, для которых нужно сгенерировать идентификатор подписчика, и нажать «Вперед».
Шаг 3. Необходимо добавить действие «Установка реквизитов» и в параметрах этого действия для реквизита «Идентификатор подписчика для мессенджеров» выбрать значение «Создать»
После этого нужно нажать на кнопку «Выполнить» в обработке и идентификаторы подписчиков будут созданы для всех отобранных на шаге 2 пользователей.
После этого при помощи механизма массовой рассылки можно разослать сгенерированные идентификаторы пользователям, выбрав в шаблоне сообщения тег: %идентификатор_подписчика_для_месенджеров%.
Вариант 1. Настройка чат-бота с помощью сервиса Postman
Данный вариант настройки используется для реализации по протоколу HTTPS. Скачайте программу Postman по ссылке: https://www.postman.com/. После установки можно либо создать аккаунт, либо пропустить его создание.
Затем на вкладке «Overview» в разделе «Get started» нажмите «Create a request».
Следующим шагом будет отправка POST-запроса через Postman.
Для этого нужно выполнить следующие шаги.
Шаг 1. Выбрать вид запроса «POST».
Шаг 2. Ввести адрес запроса.
Например:
Шаг 3. На вкладке «Headers» задать для параметра «Content-Type» значение application/json.
4. На вкладке «Body» установить переключатель в значение raw и указать строку:
{"url":"https://ЛогинПользователя1С:ПарольПользователя1С@АдресСервера/ИмяПубликации/hs/telegramapi/action"}
5. Нажать кнопку «Send». В результате, если все было сделано верно, должно появиться подобное сообщение. Вебхук Telegram установлен.
Вариант 2. Настройка Telegram-бота с использованием сервиса Heroku
Данный вариант настройки используется для реализации по протоколу HTTP. Зарегистрируйтесь на сервисе Heroku: https://signup.heroku.com/. Заполните все необходимы поля, нажмите кнопку «СREATE FREE ACCOUNT».
Регистрация
На почту, которая была указана при регистрации, придет письмо с ссылкой подтверждения.
Подтверждение регистрации
Перейдите по ссылке, указанной в письме, создайте пароль.
После того как пароль подтвержден и введен корректно, необходимо нажать кнопку «SET PASSWORD AND LOG IN».
Создание пароля
Перейдите по ссылке. Следующим шагом будет создание приложения. Необходимо заполнить поле «Имя приложения», выбрать «регион», нажать кнопку «Deploy app».
Создание нового приложения
После того как приложение успешно развернуто, для перехода на следующий шаг необходимо нажать кнопку «Manage APP».
Приложение успешно развернуто
Далее перейти на вкладку «Settings» и в группе Config Vars следует нажать кнопку «Reveal Config Vars».
Вкладка «Settings» в группе Config Vars
Здесь необходимо добавить ключи и заполнить обязательные реквизиты
Key | Value |
---|---|
AddressApiItilium | Адрес опубликованного Http-сервиса http://<serverNameOrIp>/<NameBase>/hs/ telegramapi/action |
LoginItilium | Логин для доступа к Итилиум (латиница) |
PasswordItilium |
Пароль для доступа к Итилиум
|
AuthKey | Токен созданного бота |
Добавление ключей и значений
После добавления ключей и заполнения значения необходимо нажать кнопку «More» в верхней части окна, в открывшемся списке выбрать «Restart all dynos».
Кнопка «More» и «Restart all dynos»
Согласиться на появившееся предупреждение и нажать кнопку «Restart all dynos».
Далее для активации созданного приложения на вкладке «Settings» необходимо нажать по ссылке, находящейся в группе «Domains».
Активация приложения
Далее нужно установить вебхук, для этого перейти по ссылке: «Ссылка из предыдущего пункта» + «/setWebHook». В результате если все было сделано верно должно появиться подобное сообщение.
Активация приложения
Вариант 3. Настройка Telegram-бота с использованием CURL
Начиная с Windows 10 version 1803 файл Curl поставляется в комплекте, поэтому ручная установка не требуется.
Curl не имеет пользовательского интерфейса. Запросы реализуются через командную строку.
Требуется указать в командной строке запрос:
curl -X POST https://api.telegram.org/botТокен/setWebhook -d url=https:// ЛогинПользователя1С:ПарольПользователя1С@АдресСервера/ИмяПубликации /hs/telegramapi/action
Если запрос реализован успешно, в командной строке появится строка:
{"ok":true,"result":true,"description":"Webhook was set"}
Вебхук Telegram установлен.