Модуль предназначен для автоматизации работы с клиентами в мессенджерах.
Работа с клиентами происходит по средствам создания и настройки ботов, а так же реализации алгоритмов работы с пользователями через этих ботов (на данный момент существует реализация для Телеграмм и ВКонтакте).
Сущности модуля:
- диалог - настроенный экран с элементами диалога, который будет отображён в чате с пользователем. Может содержать любое кол-во элементов диалога.
- элемент диалога - какой-либо визуальный элемент ( текст, кнопка, ссылка, вложение(любой файл до 20мб) )
- запись статистики - отображается в таблице с статистикой в самом модуле или на панели модуля в договоре. Отображает информацию о том когда было отправлено последнее сообщение пользователю, какое сообщение было отправлено, его id в том месседжере, через который было отправлено сообщение и id договора в БГБиллинге, если пользователь авторизовался.
- группа диалогов - пользовательская группа, которое содержит в себе диалоги для удобства скрытия/отображения диалогов данной группы в интерфейсе модуля. Группа для диалога устанавливается в редакторе диалога.
Краткое описание логики модуля:
в клиенте БГБиллинга создаются и настраиваются боты, 1 мессенджер = 1 бот.
Для каждого бота обязательно должен быть установлен "стартовый диалог" - диалог, который будет отображён при первом обращении к боту.
"Стартовый диалог" - это входная точка с кнопками для дальнейшей навигации.
Для каждого диалога есть возможность:
- указать команду с которой будет ассоциироваться именно это диалог
- указать класс-обработчик, в котором есть 2 метода для реализации логики. 1 - вызывается до отображения диалога, 2 - вызывается после и позволяет обработать полученную от пользователя информацию
- установить настройку, чтобы диалог отображался только для авторизованных пользователей
Авторизованный пользователь - тот, чей договор был найден. Вся логика авторизации пользователя должна быть реализована в дин.коде. (Несколько простейших примеров реализации идут в дин.коде в поставке с модулем). Если договор был найден, то в обработчике диалога в дин.коде в JSON объект "chatData" нужно положить id договора под ключом "contractId"
contractId
contractId
contractId