Для интеграции с текущей версией DialogFlow необходимо обращаться к сервисам Google с использованием авторизации и библиотек Google. Поэтому для быстрого подключения DialogFlow к ботам на основе Sherlock Platform был реализован интеграционный модуль, включая web сервис https://dialogflow.sherlockcrm.ru/, реализующий непосредственно работу с DialogFlow, и пример бота на основе данного сервиса.
Подключение DialogFlow
Для подключения DialogFlow необходимо:
- Зарегистрировать в DialogFlow и создать нового агента (Agent)
- Получить в настройках агента Project ID и ключ к сервисному аккаунту в формате json
- Выслать ключ к сервисному аккаунту в поддержку Sherlock для регистрации на сервисе
- Указать Project ID и имя файла с ключом в настройках бота
Типовой бот DialogFlow Connector
Данный типовой бот реализует пример взаимодействия с DialogFlow. При работе данного бота:
- В сценарии [2. Обработка всех сообщений] перехватываются все сообщения
- В сценарии [3. Обработка отдельного сообщения] выполняется запрос к интеграционному сервису и чтение основных данных из ответа
- Также в сценарии [3. Обработка отдельного сообщения] выводиться текст ответа и, по необходимости, идет переключение на оператора
Формат вызова web сервиса
Web сервис реализует единственный метод POST следующего формата
В теле запроса передается json с данными запроса. Пример json приведен ниже:
{
"text": "Бонусы",
"languageCode": "ru-RU"
}
Web сервис возвращает в ответ json, соответствующий документации DialogFlow https://cloud.google.com/dialogflow/docs/reference/rest/v2/DetectIntentResponse