4.3. Цифровое меню
Механизм позволяет создавать произвольные алгоритмы взаимодействия пользователя с информационной системой или бэк-офисом, в том числе расширять возможности самообслуживания и техподдержки. Механизм подключается к линии (как опция) и работает в связке с механизмами работы с обращениями, с возможностью детерминировать действия пользователя (цифровое меню, или “бот-меню”).
Технически работа механизма реализована на технологии 4.2. API трансляции событий. После установки хука через соответствующее API (4.2.1.1. Подписаться на события ) с параметром bot, внешняя система начнет получать ограниченный набор сообщений, который может быть обработан внешней системой (ботом).
Обработчик событий может быть написан на любом языке, поддерживающем возможность создать HTTP-сервер и осуществлять обычные HTTP-запросы.
Список получаемых событий
События с типом line - 4.2.5.2.2. Тип line
Другие замечания
Бот должен ответить в чат пользователю в течении 30 секунд с момента получения сообщения, в противном случае обращение будет передано специалисту автоматически.
Бот получает события до передачи обращения специалисту, после передачи обращения специалисту никакие события не доставляются во внешнюю систему.
Отправка сообщений происходит независимо друг от друга, каждое сообщение должно быть обработано. В противном случае обращение будет передано специалисту.
Все API трансляции событий доступно при работе с цифровым меню.
По умолчанию все общение ведется в приложениях от имени специалиста-бота Смирнова Надежда, но есть возможность указать своего специалиста, выставляя поле author_id (см. документацию по API).
Обращения назначенные на специалиста-бота закрываются автоматически через 1 час с крайнего сообщения. Данное поведение переопределяется флагом general_settings, выставить который можно в запросах отправки сообщений/файлов/картинок.
В случае получения ошибок, подробности возникновения можно узнать в теле ответа.
Некорректная обработка может приводить к зацикливанию, т.е. бот начинает отвечать на свои же сообщения. Рекомендуется проверять автора сообщения для текстовых сообщений и файлов (пример условия)
Примеры реализаций ботов на нескольких языках программирования:
Go:
1cconnect-example-bot - простой бот
1cconnect-text-bot - бот с гибкой конфигурацией инструкция по конфигурации и запуску
Python aio-connect-simple-bot