Действия с форматами веб-перехватчиков Google (Dialogflow)

В этом документе описывается формат веб-перехватчика для взаимодействия между Actions on Google и службой выполнения, которая определяет пользовательский диалоговый интерфейс пользователя .

Важно понимать, как Actions on Google и ваше выполнение взаимодействуют через форматы веб-перехватчиков Actions on Google:

  • Чтобы участвовать в беседах с Actions on Google, ваше выполнение реализует вебхук , который может отвечать на HTTP-запросы от Actions on Google.
  • Когда пользователи вызывают ваше действие, ваше выполнение получает HTTP POST с полезными данными JSON, описывающими запрос пользователя.
  • В свою очередь, ваше выполнение отвечает за чтение параметров из полезных данных запроса, создание соответствующего ответа в формате JSON и отправку ответа Ассистенту с этим ответом.

Типы запросов

В этой таблице приведены типы запросов, которые ваш вебхук может получать от Ассистента:

Тип Описание Примеры JSON
Запросы на вызов Пользовательские высказывания, которые начинают разговор с вашего удовлетворения или запускают действия с глубокими ссылками (например, «Поговорите с личным шеф-поваром, чтобы найти рецепты ужина» ).
  • При использовании Dialogflow эти запросы соответствуют намерениям, определенным в разделе «Обнаружение» настроек интеграции Google Assistant .
  • При использовании Actions SDK эти запросы соответствуют намерениям, определенным в вашем пакете действий .
Запросы на разговор Высказывания пользователей в одном сеансе после начала разговора о вашем выполнении. В формате веб-перехватчика беседы это необработанные текстовые ответы пользователя, соответствующие намерениям actions.intent.TEXT , которые вы запросили на предыдущем ходу.
Результаты помощника Запросы, отправленные Помощником для вашего выполнения, когда ваш веб-перехватчик запросил вспомогательное намерение на предыдущем этапе диалога для обработки частей диалога (например, actions.intent.OPTION и actions.intent.PERMISSION ).

Запросы на разговор и ответы

В типичном сценарии взаимодействия Actions on Google пользователи произносят фразу, чтобы вызвать действие. Чтобы предоставить ответ, Actions on Google находит выполнение, соответствующее действию, вызванному пользователем, и отправляет туда запрос.

Как только Actions on Google определит, что ваше выполнение соответствует запросу пользователя, он начнет сеанс беседы, отправив HTTP-запрос, содержащий полезную нагрузку JSON с информацией о запросе пользователя, в вашу конечную точку выполнения. Ваше выполнение анализирует запрос и возвращает ответ, содержащий полезную нагрузку JSON. Затем действия в Google преобразуют полезную нагрузку в речевой и мультимедийный вывод для пользователей.

Рисунок 1. Действия в Google, вызывающие ваше выполнение через Actions SDK.

Чтобы узнать больше о формате полезных данных JSON, когда Actions on Google вызывает ваше выполнение через Actions SDK, см. раздел Формат веб-перехватчика беседы .

Запросы и ответы диалогового потока

При создании действий вы можете дополнительно использовать Dialogflow, чтобы упростить задачу создания диалоговых интерфейсов. В этом сценарии Dialogflow действует как прокси-сервер между Actions on Google и вашим выполнением. Вместо отправки запроса HTTP/JSON непосредственно в конечную точку выполнения Actions on Google отправляет его в Dialogflow.

Dialogflow преобразует полезную нагрузку JSON, содержащуюся в исходном запросе, в формат веб-перехватчика Dialogflow и перенаправляет полученный запрос на выполнение вашего Dialogflow.

И наоборот, когда ваше выполнение отправляет ответ в Dialogflow, полезные данные JSON ответа должны соответствовать формату веб-перехватчика Dialogflow. Ваше выполнение анализирует параметры JSON-запроса Dialogflow и генерирует ответ в формате веб-перехватчика Dialogflow. Затем Dialogflow преобразует ответ от вашего выполнения в ответное сообщение, понятное Помощнику.

Рисунок 2. Действия в Google, вызывающие ваше выполнение через Dialogflow.

Чтобы узнать больше о формате полезных данных JSON, когда Actions on Google вызывает ваше выполнение через Dialogflow, см. Формат веб-перехватчика Dialogflow .