Чат-бот на Web-сервисе 1C для агрегатора мессенджеров Umnico

Поставлена задача — объединить трафик с популярных мессенджеров WhatsApp, Telegram и Viber и в один сервис и уйти от использования сотрудниками личных аккаунтов в этих мессенджерах при общении с клиентом. Для решения возможно использовать сервис агрегации мессенджеров. В таких сервисах все сообщения от клиентов из разных социальных сетей или мессенджеров попадают в одно окно с которым работает сотрудник. Сотруднику не нужно иметь открытыми по 3-5 и более страниц и мониторить их все и сразу.

Требования определенные для сервиса агрегации мессенджеров:

  • Агрегатор должен работать со следующими мессенджерами: WhatsApp Business, Telegram, Viber;
  • Должна иметься возможность распределять диалоги между операторами (несколько учетных записей в сервисе) и по возможности распределение по отделам;
  • Должна быть отчетность по работе операторов;
  • Должно быть мобильное приложение;
  • Возможность отправлять сообщение первым в WhatsApp Business;
  • Возможность настраивать простую автоматизацию для новых сообщений (Чат-бот);
  • Открытое API;
  • Конкурентная цена.

Был изучен рынок подобных сервисов, произведено сравнение по определенным параметрам. Сравнение в данной статье приводиться не будет, так как условия предоставления услуг меняются достаточно часто и данное сравнение через месяц уже может быть не актуально. В результате принято решение в пользу сервиса Umnico.  Данный сервис подходит по большинству параметров, имеет конкурентную стоимость за предоставленный функционал. Так же имеет такие полезные «Плюшки», как постановка задачи и «мини CRM» или встроенная «Воронка продаж». Из минусов — у сервиса нет возможности настраивать простую автоматизацию для новых сообщений (Чат-бот), но есть открытое API, а значит задачу возможно решить своими силами. Так же на момент знакомства нет функционала «Написать первым» для WhatsApp Business, но ее пообещали добавить в ближайшее время. Работа с официальным аккаунтом WhatsApp имеет определенные ограничения и особенности.

Выбрав данный сервис поставленная задача почти решена, но остался один не решенный пункт — Чат-бот. Поскольку на момент знакомства с сервисом в процессе был проект по разработке CRM системы для 1С, то решено разработать решение для организации функционала чат бота именно на этой платформе с использованием Web-сервисов, а за одно и рассмотреть возможность более глубоко интегрировать агрегатор мессенджеров в CRM систему. 

Автор разработки заранее согласен, что для подобной реализации — 1С не самый лучший выбор и написать подобный сервис например на Python было бы корректнее. Но в данной ситуации было принято решение именно в пользу 1С. 

Результатом работы стала отдельная подсистема (доработка, дополнение, модуль) для 1С — Интеграции Umnico. Данную доработку нельзя назвать всеохватывающей интеграцией. Она выполняет конкретно поставленную задачу под конкретный проект, но в будущем она может быть развита до более широкого функционала если такие задачи будут поставлены.

Подсистема Umnico предназначена для организации простых сценариев диалога клиента с ботом до того как диалогу подключится сотрудник. С помощью сценариев можно провести первичное определение потребности клиента и проставить соответствующий тег в сервисе Umnico, например для фильтрации диалогов разных отделов. Разработка поддерживает три канала связи: WhatsApp Business, Telegram Bot, Viber Bot.

Автор данной разработки будет благодарен Вам, если Вы выполните регистрацию в данном сервисе по его реферальной ссылке:

https://umnico.com/register?referral=N4IgTgpgZiBcCMAOAnABngXyA

При регистрации по данной ссылке, вы можете обратиться к автору за файлом конфигурации данной подсистемы,  консультацией или помощью в настройке, а так же для пожеланий к доработке под Ваши нужды,  по почте: it@helper-it.ru

Кратко про разработанную подсистему Umnico

Подсистема состоит из справочника, HTTP-сервиса, одного регистра сведений и двух перечислений. Все настройки выполняются при добавлении интеграции в справочник. Под одной интеграцией понимается взаимодействие с одним аккаунтом в сервисе Umnico. Возможно добавление нескольких интеграции. Вся система автономна и не связана с объектами типовых конфигураций, а значит может быть развернута на базе данных без какой-либо  конфигурации.

Примеры настройки:

SettingUmnico
Пример настройки интеграции с Umnico
SettingStepUmnoco
Пример настройки сценария в сервисе Umnico

Помимо функции чат-бота — в подсистему заложены функции записи телефонного номера в параметры клиента Umnico и перенос из сервиса Umnico в локальный регистр системы, что в дальнейшем позволит связывать чаты в сервисе с контрагентами и реализовать дополнительный функционал. Формы созданы для обычного приложения, но при необходимости можно будет обновить и для управляемых форм.

UmnicoLK
Пример диалога клиента с чат ботом в сервисе Umnico

Простые примеры возможностей данного модуля:

ChatBotWBAUmnico ChatBotTGUmnico ChatBotViber

 

1. Настройка интеграции

В рамках подсистемы можно подключить несколько интеграций разных аккаунтов в сервисе Umnico, с индивидуальными настройками для каждой. Для создания интеграции необходимо добавить запись в справочник «Интеграции Umniko«. 

Параметр «Работает» — если данный параметр не установлен — интеграция не реагирует на входящие запросы. 

APIToken — токен интеграции с Umnico. Что бы его получить необходимо в личном кабинете перейти в раздел «Настройки» -> раздел «Открытое API«. Содержимое поля «Ваш API токен:«, необходимо вставить в поле «APIToken» и нажать кнопку «Прочитать«. Заполнятся поля с настройками интеграции: «Account Id» и «User Id«. 

URL WebHook — адрес вашего опубликованного Web сервиса. Для работы интеграции необходимо опубликовать web сервис из конфигуратора. И указать в поле «URL WebHook»  внешний адрес вашей публикации. Важно что-бы были выполнены пробросы портов (если требуется) и соединение было защищенным (требуется SSL сертификат). Так же, если публикуется база с авторизацией пользователей, то необходимо решить вопрос с авторизацией входящих запросов, так как сервис Umnico не умеет выполнять авторизацию самостоятельно. Как выполнять авторизацию запросов по средством обратного прокси с помощью Web сервера Nginx можно прочитать в статье: Web-сервис 1С без авторизации

Telegram Token — токен Telegram бота подключенного в сервис Umnico.  Как зарегистрировать бота и подключить к Umnico можно прочитать в базе знаний Umnico. https://help.umnico.com/telegrambot. Отправка клавиатуры кнопок и сообщения следующего сценария после отправленной клавиатуры боту осуществляется напрямую в сервис Telegram и по этому данные сообщения не отображаются  в окне диалога Umnico. 

Viber Token — токен Viber бота подключенного в сервис Umnico.  Как зарегистрировать бота и подключить к Umnico можно прочитать в базе знаний Umnico. https://help.umnico.com/viberbot. Отправка клавиатуры кнопок осуществляется напрямую в сервис Viber и по этому данные сообщения не отображаются  в окне диалога Umnico.

Viber Name — имя пользователя который будет отправлять сообщение не через сервис Umnico. Что бы его заполнить необходимо нажать кнопку «Получить».

В настройках режима работы можно задать «время работы» ваших операторов и «текст в нерабочее время» который будет отправлен клиенту после завершения сценария, если клиент написал в нерабочее время. Если текст не задан, после сценария ничего отправляться не будет.

Дней до повторного запуска сценариев — устанавливает количество дней после последнего сообщения клиента (если параметр «Обновлять дату при входящем сообщении» установлен)  или после окончания выполнения сценария (если параметр «Обновлять дату при входящем сообщении» не установлен).

Обновлять дату при входящем сообщении — установленный параметр включает обновление даты при каждом входящем сообщении от клиента. Рекомендуется устанавливать данный параметр, так как сервис Umnico может отправлять повторно уведомления о входящих сообщениях. И если не установлен данный параметр. Интеграция может на каждое сообщение повторно выполнить не завершенный сценарий. Что будет выглядеть как «Спам» с нашей стороны.Однако включение данного параметра при использовании фйлового варианта базы может увеличить нагрузку и спровоцировать подвисание работы базы. 

2. Настройки сценариев бота

В данном разделе настраивается логика построения диалога бота с клиентом.  Сценарий по которому будет выставлен диалог.
Любое взаимодействие начинается с строки сценария с номером 1. Доступны следующие варианты действия:

Сл. сценарий без ответа — отправляется текст сообщения из одноименного поля и не дожидаясь действия клиента переходит к выполнению следующего сценария номер строки которого указан в поле «Следующий сценарий».
Конец сценария — последнее действие для каждого сценария. Отправляет текст сообщения и завершает выполнение сценария. Далее диалог с клиентом производится только сотрудником через сервис Umnico. Каждый сценарий должен заканчиваться данным вариантом действия.

Запросить номер телефона — Данное действие работает в ограниченном режиме и не гарантирует корректного определения номера телефона клиента. Если в сервисе Umnico у клиента не заполнено поле «Телефон», тогда сценарий выполнится. Если в этом поле есть данные, сценарий запроса телефона игнорируется, выполняется следующий сценарий указанный в колонке «Следующий сценарий»
Для канала Telegram — будет отправлен текст из колонки «Текст сообщения».
Для канала Viber — будет отправлен текст сообщения из колонки и клавиатура с кнопками: «Сообщить номер» и «Не сообщать номер». При нажатии кнопки «Сообщить номер» будет отправлен текст с номером, который мы запишем в сервис Umniko. При отказе. Не будет записан.
Для канала WhatsApp будет отправлен текст: «Пожалуйста, уточните Ваш номер телефона. Если номер: (цифры номера аккаунта whatsapp), верный, отправьте цифру — «1» Если нет, отправьте правильный номер.»
Если клиент отправит цифру  «1» или другой номер — мы запишем его номер в сервис Umnico. Если не отправит номер, ничего не запишем. Перейдем к след. шагу.

Следующий сценарий — отправляет текст сообщения и после любого ответа клиента переходит к выполнению следующего сценария с номером в поле «Следующий сценарий».

Клавиатура кнопокданное действие требует заполнения «Настройки кнопок«. В настройках необходимо указать:  номер кнопки (цифра которую нужно будет отправить в случае связи через WhatsApp Business), текст кнопки, тег — который будет установлен в сервисе Umnico после выбора данной кнопки и номер следующего сценария при выборе данной кнопки. Действие отправляет текст сообщения и «клавиатуру кнопок» для каналов связи Telegram Bot и Viber Bot. Для WhatsApp Business  отправляет текст сообщения и строки с текстом кнопок и цифрами соответствующими номерам заданным при настройке кнопок. После выбора клиентом конкретной кнопки, в сервисе Umnico устанавливается заданный тег и стартует следующая указанная в настройках для выбранной кнопки строка сценария. Если клиент в ответ на отправленные кнопки не выбирает конкретную кнопку, а присылает произвольный текст — ему повторно отправляется запрос кнопок и так до успешного ответа на отправленные кнопки.  

 

Write a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Close