- JSON-представление
- Ожидаемый ввод
- Входная подсказка
- РечевойОтвет
- РичОтклик
- Элемент
- Простой ответ
- Базовая карта
- Кнопка
- Структурированный ответ
- Обновление заказа
- Действие
- Квитанция
- Информация об отказе
- Информация об отмене
- ИнТранзитИнфо
- Информация о выполнении
- Информация о возврате
- Уведомление пользователя
- Медиаответ
- Медиаобъект
- КарусельОбзор
- Элемент
- СтолКарточка
- Свойства столбца
- Ряд
- Клетка
- HTMLОтвет
- Предположение
- LinkOutПредложение
- Ожидаемое намерение
- Окончательный ответ
- CustomPushMessage
- Уведомление пользователя
- Цель
AppResponse — это ответ, отправленный выполнением в Google Assistant. Примеры того, как это используется в Actions on Google, см. на странице https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json#conversation-response-body .
JSON-представление | |
---|---|
{ "conversationToken": string, "userStorage": string, "resetUserStorage": boolean, "expectUserResponse": boolean, "expectedInputs": [ { object ( |
Поля | |
---|---|
conversationToken | Непрозрачный токен, который повторно передается действию при каждом ходе разговора. |
userStorage | Непрозрачный токен, управляемый действием, который сохраняется во всех разговорах для конкретного пользователя. Если оно пусто или не указано, существующий постоянный токен останется неизменным. Максимальный размер строки составляет 10 КБ. Если для одного и того же пользователя одновременно происходит несколько диалогов, обновления этого токена могут неожиданно перезаписать друг друга. |
resetUserStorage | Следует ли очищать сохраненный файл userStorage. Если установлено значение true, то при следующем взаимодействии с пользователем поле userStorage будет пустым. |
expectUserResponse | Указывает, ожидает ли действие ответа пользователя. Это верно, когда разговор продолжается, и ложно, когда разговор завершен. |
expectedInputs[] | Список входных данных, которые ожидает действие. Каждый вход может представлять собой обычное действие по намерению Google (начинается с «действий») или входное значение, содержащее список возможных намерений. На данный момент поддерживается только один вход. |
finalResponse | Окончательный ответ, когда Действие не ожидает ввода пользователя. |
customPushMessage | Пользовательское push-сообщение, которое позволяет разработчикам отправлять структурированные данные для действий в Google. |
isInSandbox | Указывает, следует ли обрабатывать ответ в изолированном режиме. Этот бит необходим для отправки структурированных данных в Google в режиме песочницы. |
Ожидаемый ввод
JSON-представление | |
---|---|
{ "inputPrompt": { object ( |
Поля | |
---|---|
inputPrompt | Настраиваемое приглашение, используемое для запроса ввода данных у пользователя. |
possibleIntents[] | Список намерений, которые можно использовать для выполнения этого ввода. Чтобы действия в Google просто возвращали необработанный пользовательский ввод, приложение должно запрашивать намерение |
speechBiasingHints[] | Список фраз, которые Action хочет, чтобы Google использовал для искажения речи. Допускается до 1000 фраз. |
Входная подсказка
Приглашение для ввода, используемое помощником, чтобы помочь пользователю ввести данные для вопроса приложения.
JSON-представление | |
---|---|
{ "initialPrompts": [ { object ( |
Поля | |
---|---|
initialPrompts[] | Начальные запросы с просьбой ввести данные. Поддерживается только один параметр Initial_prompt. |
richInitialPrompt | Оперативная полезная нагрузка. |
noInputPrompts[] | Подсказка, используемая для запроса пользователя, когда пользователь не вводит данные. |
РечевойОтвет
Ответ, содержащий только речь. УСТАРЕЛО.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
type поля объединения. Типы речевого вывода: текст в речь или SSML. type может быть только одним из следующих: | ||
textToSpeech | Обычный текст речевого вывода, например: «Куда вы хотите пойти?»/ | |
ssml | Структурированный устный ответ пользователю в формате SSML, например « |
РичОтклик
Богатый ответ, который может включать аудио, текст, карточки, предложения и структурированные данные.
JSON-представление | |
---|---|
{ "items": [ { object ( |
Поля | |
---|---|
items[] | Список элементов пользовательского интерфейса, составляющих ответ. Элементы должны соответствовать следующим требованиям: 1. Первый элемент должен быть |
suggestions[] | Список предлагаемых ответов. Они всегда будут появляться в конце ответа. Если они используются в |
linkOutSuggestion | Дополнительный чип предложения, который может ссылаться на соответствующее приложение или сайт. |
Элемент
Пункты ответа.
JSON-представление | |
---|---|
{ "name": string, // Union field |
Поля | ||
---|---|---|
name | Необязательный именованный идентификатор этого элемента. | |
item поля объединения. Тип предмета. item может быть только одним из следующих: | ||
simpleResponse | Голосовой и текстовый ответ. | |
basicCard | Базовая карта. | |
structuredResponse | Структурированная полезная нагрузка, которая будет обработана Google. | |
mediaResponse | Ответ, указывающий набор медиафайлов для воспроизведения. | |
carouselBrowse | Карточка просмотра карусели, вместо этого используйте коллекциюBrowse.. | |
tableCard | Настольная карта. | |
htmlResponse | Html-ответ, используемый для рендеринга на Canvas. |
Простой ответ
Простой ответ, содержащий речь или текст, который будет показан пользователю.
JSON-представление | |
---|---|
{ "textToSpeech": string, "ssml": string, "displayText": string } |
Поля | |
---|---|
textToSpeech | Обычный текст речевого вывода, например: «Куда вы хотите пойти?» Взаимоисключающее с ssml. |
ssml | Структурированный устный ответ пользователю в формате SSML, например |
displayText | Необязательный текст для отображения в чате. Если он не указан, будет использоваться отображение текста textToSpeech или ssml, указанного выше. Ограничено 640 символами. |
Базовая карта
Базовая карточка для отображения некоторой информации, например изображения и/или текста.
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "formattedText": string, "image": { object ( |
Поля | |
---|---|
title | Общее название карты. Необязательный. |
subtitle | Необязательный. |
formattedText | Текст карточки. Поддерживает ограниченный набор синтаксиса уценки для форматирования. Обязательно, если изображение не присутствует. |
image | Изображение героя для карты. Высота фиксирована и равна 192dp. Необязательный. |
buttons[] | Кнопки. В настоящее время поддерживается не более 1 кнопки. Необязательный. |
imageDisplayOptions | тип опции отображения изображения. Необязательный. |
Кнопка
Объект-кнопка, который обычно появляется внизу карточки.
JSON-представление | |
---|---|
{
"title": string,
"openUrlAction": {
object ( |
Поля | |
---|---|
title | название кнопки. Необходимый. |
openUrlAction | Действие, которое необходимо выполнить, когда пользователь нажимает кнопку. Необходимый. |
Структурированный ответ
Ответ, определенный для приложения, для ответа структурированными данными.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
data поля объединения. Контейнер ответа полезной нагрузки от 3P-агентов. data могут быть только одним из следующих: | ||
orderUpdate | Приложение предоставляет обновление заказа (например, | |
orderUpdateV3 | Приложение предоставляет обновление заказа в формате API v3 после получения заказа. |
Обновление заказа
Устарело: вместо этого используйте V3 Proto. Обновление заказа.
JSON-представление | |
---|---|
{ "googleOrderId": string, "actionOrderId": string, "orderState": { object ( |
Поля | ||
---|---|---|
googleOrderId | Идентификатор заказа – это идентификатор, выданный Google. | |
actionOrderId | Необходимый. Идентификатор канонического заказа, ссылающийся на этот заказ. Если интеграторы не генерируют канонический идентификатор заказа в своей системе, они могут просто скопировать googleOrderId, включенный в заказ. | |
orderState | Новое состояние порядка. | |
orderManagementActions[] | Обновлены применимые действия управления для заказа, например управление, изменение, обращение в службу поддержки. | |
receipt | Квитанция о заказе. | |
updateTime | Когда заказ был обновлен с точки зрения приложения. Временная метка в формате RFC3339 UTC «Зулу» с точностью до наносекунд. Пример: | |
totalPrice | Новая общая стоимость заказа | |
lineItemUpdates | Карта изменений на уровне позиции с указанием идентификатора позиции. Необязательный. Объект, содержащий список пар | |
userNotification | Если указано, отображает пользователю уведомление с указанным заголовком и текстом. Указание уведомления — это предложение об уведомлении, которое не обязательно приведет к отправке уведомления. | |
infoExtension | Дополнительные данные на основе индивидуального состояния заказа или в дополнение к информации стандартного состояния. Объект, содержащий поля произвольного типа. Дополнительное поле | |
info о поле объединения. Дополнительная информация, связанная с состоянием заказа. info может быть только одной из следующих: | ||
rejectionInfo | Информация о состоянии отказа. | |
cancellationInfo | Информация о статусе отмены. | |
inTransitInfo | Информация о транзитном состоянии. | |
fulfillmentInfo | Информация о состоянии выполнения. | |
returnInfo | Информация о возвращенном состоянии. |
Действие
Последующее действие, связанное с обновлением заказа.
JSON-представление | |
---|---|
{ "type": enum ( |
Поля | |
---|---|
type | тип действия. |
button | Надпись на кнопке и ссылка. |
Квитанция
Устарело: вместо этого используйте V3 Proto. Получение, когда состояние ПОДТВЕРЖДЕНО или любое другое состояние (например, IN_TRANSIT, ВЫПОЛНЕНО), включая состояние ПОДТВЕРЖДЕНО.
JSON-представление | |
---|---|
{ "confirmedActionOrderId": string, "userVisibleOrderId": string } |
Поля | |
---|---|
confirmedActionOrderId | Подтвержденный идентификатор заказа, когда заказ был получен интегратором. Это канонический идентификатор заказа, используемый в системе интегратора, ссылающийся на заказ, и впоследствии может использоваться для идентификации заказа как Обратите внимание, что это поле устарело. Вместо этого передайте поле через OrderUpdate.action_order_id. |
userVisibleOrderId | Необязательный. Идентификатор пользователя, ссылающийся на текущий заказ, который будет отображаться в карточке квитанции, если таковая имеется. Это должен быть идентификатор, который обычно отображается в распечатанной квитанции или квитанции, отправленной на электронную почту пользователя. Пользователь должен иметь возможность использовать этот идентификатор, ссылаясь на свой заказ для обслуживания клиентов, предоставляемого интеграторами. Обратите внимание, что это поле должно быть заполнено, если интегратор генерирует идентификатор пользователя для заказа с распечатанной квитанцией или квитанцией по электронной почте. |
Информация об отказе
Информация об отклонении, когда состояние ОТКЛОНЕНО. Это сообщение может быть заполнено при первоначальном обновлении заказа в диалоге или при последующем обновлении асинхронного заказа.
JSON-представление | |
---|---|
{
"type": enum ( |
Поля | |
---|---|
type | Тип отклонения. |
reason | Причина ошибки. |
Информация об отмене
Устарело: вместо этого используйте V3 Proto. Информация об отмене, когда состояние ОТМЕНЕНО.
JSON-представление | |
---|---|
{ "reason": string } |
Поля | |
---|---|
reason | Причина отмены. |
ИнТранзитИнфо
Устарело: вместо этого используйте V3 Proto. Информация в пути, когда состояние IN_TRANSIT.
JSON-представление | |
---|---|
{ "updatedTime": string } |
Поля | |
---|---|
updatedTime | Время последнего обновления в пути. Временная метка в формате RFC3339 UTC «Зулу» с точностью до наносекунд. Пример: |
Информация о выполнении
Устарело: вместо этого используйте V3 Proto. Информация о выполнении, когда состояние ВЫПОЛНЕНО.
JSON-представление | |
---|---|
{ "deliveryTime": string } |
Поля | |
---|---|
deliveryTime | Когда заказ будет выполнен. Временная метка в формате RFC3339 UTC «Зулу» с точностью до наносекунд. Пример: |
Информация о возврате
Устарело: вместо этого используйте V3 Proto. Возвращаемая информация, когда состояние ОТКЛОНЕНО.
JSON-представление | |
---|---|
{ "reason": string } |
Поля | |
---|---|
reason | Причина возврата. |
Уведомление пользователя
Необязательное уведомление пользователя, которое будет отображаться как часть обновления заказа.
JSON-представление | |
---|---|
{ "title": string, "text": string } |
Поля | |
---|---|
title | Заголовок уведомления пользователя. |
text | Содержание уведомления. |
Медиаответ
Ответ, указывающий набор медиафайлов, которые будут воспроизводиться в ходе разговора.
JSON-представление | |
---|---|
{ "mediaType": enum ( |
Поля | |
---|---|
mediaType | тип носителя в этом ответе. |
mediaObjects[] | Список медиа-объектов. |
Медиаобъект
Представляет один медиа-объект, который возвращается с помощью MediaResponse. Содержит информацию о носителе, такую как имя, описание, URL-адрес и т. д.
JSON-представление | |
---|---|
{ "name": string, "description": string, "contentUrl": string, // Union field |
Поля | ||
---|---|---|
name | имя этого медиа-объекта. | |
description | описание этого медиа-объекта. | |
contentUrl | URL-адрес, указывающий на медиа-контент. | |
image поля объединения. Изображение для показа вместе с медиа-картой. image может быть только одним из следующих: | ||
largeImage | Большое изображение, например обложка альбома и т. д. | |
icon | Небольшой значок изображения отображается справа от заголовка. Его размер изменен до 36x36 dp. |
КарусельОбзор
Представляет набор документов AMP в виде карусели из крупных элементов. Можно выбрать элементы для запуска связанного с ними документа AMP в средстве просмотра AMP.
JSON-представление | |
---|---|
{ "items": [ { object ( |
Поля | |
---|---|
items[] | Мин: 2. Макс: 10. |
imageDisplayOptions | тип опции отображения изображения. Необязательный. |
Элемент
Товар в карусели.
JSON-представление | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
Поля | |
---|---|
title | название элемента карусели. Необходимый. |
description | описание элемента карусели. Необязательный. |
footer | Текст нижнего колонтитула элемента карусели, отображаемый под описанием. Одна строка текста, обрезанная многоточием. Необязательный. |
image | Главное изображение для элемента карусели. Необязательный. |
openUrlAction | URL-адрес документа, связанного с элементом карусели. Документ может содержать содержимое HTML или, если для параметра «urlTypeHint» установлено значение AMP_CONTENT, содержимое AMP. Необходимый. |
СтолКарточка
Карточка таблицы для отображения таблицы текста.
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
Поля | |
---|---|
title | Общее название таблицы. Необязательно, но должно быть установлено, если установлены субтитры. |
subtitle | Подзаголовок к таблице. Необязательный. |
image | Изображение, связанное с таблицей. Необязательный. |
columnProperties[] | Заголовки и выравнивание столбцов. |
rows[] | Данные строки таблицы. Первые три строки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие строки будут отображаться для данной поверхности. На поверхностях, поддерживающих возможность WEB_BROWSER, вы можете указать пользователю на веб-страницу с дополнительными данными. |
buttons[] | Кнопки. В настоящее время поддерживается не более 1 кнопки. Необязательный. |
Свойства столбца
Сохраняет свойства столбцов (включая заголовки).
JSON-представление | |
---|---|
{
"header": string,
"horizontalAlignment": enum ( |
Поля | |
---|---|
header | Текст заголовка столбца. |
horizontalAlignment | Горизонтальное выравнивание содержимого по столбцу. Если не указано, содержимое будет выровнено по переднему краю. |
Ряд
Описывает строку в таблице.
JSON-представление | |
---|---|
{
"cells": [
{
object ( |
Поля | |
---|---|
cells[] | Ячейки в этом ряду. Первые три ячейки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие ячейки будут отображаться для данной поверхности. |
dividerAfter | Указывает, должен ли быть разделитель после каждой строки. |
Клетка
Описывает ячейку в строке.
JSON-представление | |
---|---|
{ "text": string } |
Поля | |
---|---|
text | Текстовое содержимое ячейки. |
HTMLОтвет
Ответ, который отображает HTML с помощью функции интерактивного холста. Максимальный размер ответа — 50 КБ.
JSON-представление | |
---|---|
{ "updatedState": value, "suppressMic": boolean, "url": string } |
Поля | |
---|---|
updatedState | Передайте приложению следующий объект JSON. |
suppressMic | Предоставьте опцию, чтобы микрофон не открывался после этого захватывающего ответа. |
url | URL-адрес приложения. |
Предположение
Чип предложения, который пользователь может нажать, чтобы быстро опубликовать ответ на беседу.
JSON-представление | |
---|---|
{ "title": string } |
Поля | |
---|---|
title | Текст, показанный в чипе предложения. При нажатии этот текст будет дословно отправлен обратно в беседу, как если бы пользователь его набрал. Каждое название должно быть уникальным среди набора фишек предложений. Требуется максимум 25 символов. |
LinkOutПредложение
Создает чип предложения, который позволяет пользователю перейти к приложению или веб-сайту, связанному с этим агентом.
JSON-представление | |
---|---|
{
"destinationName": string,
"url": string,
"openUrlAction": {
object ( |
Поля | |
---|---|
destinationName | Название приложения или сайта, на который ссылается этот чип. Чип будет отображаться с заголовком «Открыть». |
url | Устарело. Вместо этого используйте OpenUrlAction. |
openUrlAction | URL-адрес приложения или сайта, который открывается, когда пользователь нажимает на чип подсказки. Право собственности на это приложение/URL-адрес должно быть подтверждено в действиях на консоли разработчика Google, иначе предложение не будет показано пользователю. Действие Open URL поддерживает http, https и URL-адреса намерений. URL-адреса намерений см. по адресу: https://developer.chrome.com/multidevice/android/intents . |
Ожидаемое намерение
Ожидаемое намерение, которое приложение просит предоставить помощнику.
JSON-представление | |
---|---|
{ "intent": string, "inputValueData": { "@type": string, field1: ..., ... }, "parameterName": string } |
Поля | |
---|---|
intent | Встроенное имя намерения, например |
inputValueData | Дополнительные данные конфигурации, необходимые для встроенного намерения. Возможные значения для встроенных намерений: Объект, содержащий поля произвольного типа. Дополнительное поле |
parameterName | Необязательно, параметр запрашиваемого намерения. Действительно только для запрошенных намерений. Используется для искажения речи. |
Окончательный ответ
Окончательный ответ, когда ввод пользователя не ожидается.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
response поля Союза. Возможные типы ответов. response может быть только одним из следующих: | ||
speechResponse | Разговорный ответ, когда от пользователя не требуется вводить данные. | |
richResponse | Богатый ответ, когда пользователю не требуется вводить данные. |
ПользовательскоеPushMessage
Пользовательское push-сообщение, содержащее структурированные данные для выполнения действий API выполнения.
JSON-представление | |
---|---|
{ "target": { object ( |
Поля | ||
---|---|---|
target | Указанная цель для push-запроса. | |
content поля объединения. Различные типы полезной нагрузки. content может быть только одним из следующих: | ||
orderUpdate | Обновление заказа, обновляющее заказы, размещенные через API транзакций. | |
userNotification | Если указано, отображает пользователю уведомление с указанным заголовком и текстом. |
Уведомление пользователя
Уведомление пользователя для отображения с запросом.
JSON-представление | |
---|---|
{ "title": string, "text": string } |
Поля | |
---|---|
title | Название уведомления. |
text | Содержание уведомления. |
Цель
Указанная цель для push-запроса.
JSON-представление | |
---|---|
{
"userId": string,
"intent": string,
"argument": {
object ( |
Поля | |
---|---|
userId | Целевой пользователь. |
intent | Намерение достичь цели. |
argument | Аргумент для цели для намерения. Для V1 поддерживается только один аргумент. |
locale | Языковой стандарт для таргетинга. Соответствует языковому коду IETF BCP-47. Может использоваться многоязычным приложением для нацеливания пользователя на указанное локализованное приложение. Если не указано, по умолчанию используется en-US. |