Интеграция с DialogFlow

Последние изменения: 24.10.2021

Для интеграции с текущей версией DialogFlow необходимо обращаться к сервисам Google с использованием авторизации и библиотек Google. Поэтому для быстрого подключения DialogFlow к ботам на основе Sherlock Platform был реализован интеграционный модуль, включая web сервис https://dialogflow.sherlockcrm.ru/, реализующий непосредственно работу с DialogFlow, и пример бота на основе данного сервиса.

Подключение DialogFlow

Для подключения DialogFlow необходимо:

  1. Зарегистрировать в DialogFlow и создать нового агента (Agent)
  2. Получить в настройках агента Project ID и ключ к сервисному аккаунту в формате json
  3. Выслать ключ к сервисному аккаунту в поддержку Sherlock для регистрации на сервисе 
  4. Указать Project ID и имя файла с ключом в настройках бота

Типовой бот DialogFlow Connector

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

  1. В сценарии [2. Обработка всех сообщений] перехватываются все сообщения
  2. В сценарии [3. Обработка отдельного сообщения] выполняется запрос к интеграционному сервису и чтение основных данных из ответа
  3. Также в сценарии [3. Обработка отдельного сообщения] выводиться текст ответа и, по необходимости, идет переключение на оператора

Формат вызова web сервиса

Web сервис реализует единственный метод POST следующего формата

https://dialogflow.sherlockcrm.ru/api/DialogFlow?projectID=<ProjectID>&filePath=<keyFileName>&SessionId=<SessionId>

В теле запроса передается json с данными запроса. Пример json приведен ниже:

{
"text": "Бонусы",
"languageCode": "ru-RU"
}

Web сервис возвращает в ответ json, соответствующий документации DialogFlow https://cloud.google.com/dialogflow/docs/reference/rest/v2/DetectIntentResponse

 

Помогла ли вам статья?