Система управления чат-ботами (whatsapp, viber, vk и так далее)

400 000 руб. за проект • наличный расчёт, безналичный расчёт, электронные деньги
10 сентября 2018, 03:06 • 32 отклика • 183 просмотра
Обязательные требования к разработке
Допустимые языки: PHP, Python

Допустимые фреймворки: Laravel>= 5.6, Symfony 3-4, YII2, Django

Допустимые СУБД: Postgres, Mysql

Необходимо разработать систему, которая позволит реализовать взаимодействие между клиентами и компаниями посредством мессенджеров.

Для административного интерфейса допустимо использовать любую бесплатную тему, однако, предпочтительно AdminLTE.

MARVEL - https://marvelapp.com/5gdhjgh/screen/47457626

Система должна позволять: 1.Подключать сторонние проекты и выдавать им ключ доступа, далее APIKEY.

2.Подключать к системе 4 мессенджера для проекта – Telegram, Viber, WhatsApp, VK.

3.Настроить систему чат-меню.

4.Настроить вебхуки.

При любым настройках WebHook, необходимо предусмотреть возможность BASIC AUTH, а также передачи Headers



AI: Представляет из себя небольшой ML, который позволит классифицировать фразы по категориям. То-есть, клиент забивает фразу в справочник и помечает эту фразу как “Биллинг”, и таких фраз он может забить N штук. Таким образом происходит «обучение с учителем».



Так же, необходимо иметь возможность задать выделения по текстам примеров, чтобы система понимала например слова ”завтра” и “послезавтра” как соответствующие даты.



Естественно, если система распознала событие, то она должна вернуть ответ. И тут возможно 2 варианта.

1.Система возвращает ответ из записанных статически заранее

2.Система шлет webhook на указанный в настройках события и получает оттуда ответ.



В общем и целом, логика поведения следующая:

1.Клиент шлет сообщение в чат

2.Мессенджер уведомляет систему

3.Система идет в «События AI» и определяет событие для этого сообщения.

4.Допустим клиент написал “Хочу купить ….. ”

5.Событие смотрит свои настройки и определяет, есть ли меню для меня.



Важно понимать, что при любом из вариантов ответа AI, мы можем включить WebHook. В таком случае, ответ WebHook конкатенируется с меню.



Чат меню Для каждого сообщения, в зависимости от его категории, мы можем добавить меню, состоящее из пунктов. Когда клиент отвечает, в мессенджер, например «1» наша система должна ловить событие из мессенджера и выполнять предопределенные действия.

1.Любой пункт меню может иметь персональный URL для webhook, при такой конфигурации уведомление о событии будет идти на конкретный обработчик на сервере интегратора.

2.Категория может иметь настройку URL для Webhook – в случаях, когда нет персонального webhook у пункта, будет отрабатывать.

3.Все меню глобально может иметь настройку URL для Webhook – эта настройка будет иметь важность только в случае отсутствия таковой у пункта меню и у категории.

Важно понимать, что меню может быть вложенным. То-есть может быть до 10 уровней вложенности от родительского меню. И к каждом у предыдущему пункту можно вернуться, необходимо иметь возможность задать код для возврата на предыдущее меню.



Суть шаблонов сообщений заключается в задании предварительных шаблонов для ответов на запросы клиентов. Важно то, что эти шаблоны должны быть настраиваемы не только для клиента, но и для канала данных.

Необходимо предусмотреть

1.CallBack по URL в систему интегратора, о том, что вот такое сообщение пошло клиенту. Это позволит интеграторам обеспечить более хорошую систему логирования.

2.Подключить меню к шаблону. То-есть, допустим мы шлем клиенту приглашение пойти в ресторан, и тут же шлем ему меню:

3.Необходимо предусмотреть связь шаблонов с AI, чтобы была возможность из AI сразу инициировать отправку шаблона клиенту.



Меню самообслуживания – это набор команд, отправив которые, клиент перейдет в подменю или сразу получит заданные вами ответы. С помощью меню ваш клиент может получить нужную информацию без участия оператора. В мессенджере Телеграм пункты меню выводятся в виде кнопок.



У каждого пункта меню может быть предопределенный текст, а также может быть настройка WebHook URL.

При наличии Webhook URL мы уведомляем систему интегратора о выборе данного пункта меню клиентом.



Файлы