В этом документе описывается формат веб-перехватчика для взаимодействия между Actions on Google и службой выполнения, которая определяет пользовательский диалоговый интерфейс пользователя .
Важно понимать, как Actions on Google и ваше выполнение взаимодействуют через форматы веб-перехватчиков Actions on Google:
- Чтобы участвовать в беседах с Actions on Google, ваше выполнение реализует вебхук , который может отвечать на HTTP-запросы от Actions on Google.
- Когда пользователи вызывают ваше действие, ваше выполнение получает
HTTP POST
с полезными данными JSON, описывающими запрос пользователя. - В свою очередь, ваше выполнение отвечает за чтение параметров из полезных данных запроса, создание соответствующего ответа в формате JSON и отправку ответа Ассистенту с этим ответом.
Типы запросов
В этой таблице приведены типы запросов, которые ваш вебхук может получать от Ассистента:
Тип | Описание | Примеры JSON |
---|---|---|
Запросы на вызов | Пользовательские высказывания, которые начинают разговор с вашего удовлетворения или запускают действия с глубокими ссылками (например, «Поговорите с личным шеф-поваром, чтобы найти рецепты ужина» ).
| |
Запросы на разговор | Высказывания пользователей в одном сеансе после начала разговора о вашем выполнении. В формате веб-перехватчика беседы это необработанные текстовые ответы пользователя, соответствующие намерениям actions.intent.TEXT , которые вы запросили на предыдущем ходу. | |
Результаты помощника | Запросы, отправленные Помощником для вашего выполнения, когда ваш веб-перехватчик запросил вспомогательное намерение на предыдущем этапе диалога для обработки частей диалога (например, actions.intent.OPTION и actions.intent.PERMISSION ). |
Запросы на разговор и ответы
В типичном сценарии взаимодействия Actions on Google пользователи произносят фразу, чтобы вызвать действие. Чтобы предоставить ответ, Actions on Google находит выполнение, соответствующее действию, вызванному пользователем, и отправляет туда запрос.
Как только Actions on Google определит, что ваше выполнение соответствует запросу пользователя, он начнет сеанс беседы, отправив HTTP-запрос, содержащий полезную нагрузку JSON с информацией о запросе пользователя, в вашу конечную точку выполнения. Ваше выполнение анализирует запрос и возвращает ответ, содержащий полезную нагрузку JSON. Затем действия в Google преобразуют полезную нагрузку в речевой и мультимедийный вывод для пользователей.
![](https://google-developers.gonglchuangl.net/static/assistant/actions/images/json-conversation.png?authuser=0&hl=ru)
Чтобы узнать больше о формате полезных данных 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 преобразует ответ от вашего выполнения в ответное сообщение, понятное Помощнику.
![](https://google-developers.gonglchuangl.net/static/assistant/actions/images/json-dialogflow.png?authuser=0&hl=ru)
Чтобы узнать больше о формате полезных данных JSON, когда Actions on Google вызывает ваше выполнение через Dialogflow, см. Формат веб-перехватчика Dialogflow .