- HTTP-запрос
- Тело запроса
- Тело ответа
- Обработчик
- Намерение
- IntentParameterValue
- Сцена
- Статус заполнения слота
- Слот
- Слотрежим
- Статус слота
- Быстрый
- Простой
- Содержание
- Карта
- Изображение
- Заполнение изображения
- Связь
- OpenUrl
- URL-подсказка
- Стол
- ТаблицаСтолбец
- Горизонтальное выравнивание
- ТаблицаРоу
- Таблеселл
- СМИ
- Медиатип
- Необязательные элементы управления медиа
- Медиаобъект
- Медиаизображение
- Режим повтора
- Коллекция
- КоллекцияЭлемент
- Список
- ListItem
- КоллекцияОбзор
- Элемент
- Предположение
- Холст
- НепрерывныйМатчКонфиг
- Ожидаемая фраза
- Обновление заказа
- Тип
- Заказ
- Информация о пользователе
- Номер телефона
- Изображение
- Торговец
- Расположение
- ШиротаДлительность
- Почтовый адрес
- Содержание
- Линейный элемент
- ЦенаАтрибут
- Тип
- Состояние
- Деньги
- Действие
- Тип
- Опенурлэкшн
- AndroidApp
- Фильтр версий
- UrlTypeHint
- Метаданные действия
- Раскрытие информации
- Текст раскрытия информации
- Текстовая ссылка
- Опционы раскрытия информации
- ПрезентацияТребование
- Расширение PurchaseItemExtension
- Статус покупки
- Тип покупки
- ТорговецЕдиницаМера
- Единица
- ПокупкаВозвратИнформация
- Информация о выполнении покупки
- Тип
- Время
- Информация о самовывозе
- Тип звукоснимателя
- Информация о Curbside
- Тип исполнения: CurbsideFulfillmentType
- Транспортное средство
- CheckInInfo
- Тип регистрации
- Опция элемента
- Подробности о продукте
- Расширение резервированияитемекстенсион
- Статус резервирования
- Тип бронирования
- ПерсоналФасилитатор
- Платежные данные
- Результат платежа
- Информация об оплате
- Метод оплатыDisplayInfo
- Тип платежа
- Способ оплатыПроисхождение
- Повышение
- Расширение заказа на покупку
- ПокупкаМестоположениеТип
- Ошибка покупки
- Тип ошибки
- Расширение заказа билета
- БилетСобытие
- Тип
- СобытиеПерсонаж
- Тип
- Уведомление пользователя
- Следующая сцена
- Сессия
- ТипOverride
- ТипOverrideMode
- Тип синонима
- Вход
- ВводДисплей
- Пользователь
- Статус связывания учетной записи
- Статус UserVerificationStatus
- Обручение
- НамерениеПодписка
- Права на пакет
- Право
- АртикулТип
- подписанные данные
- Разрешение
- Дом
- Устройство
- Возможность
- Расположение
- Часовой пояс
- Контекст
- Медиаконтекст
- ХолстКонтекст
- Ожидал
RPC, который представляет API выполнения.
HTTP-запрос
POST https://webhook_handler_service.googleapis.com/fulfill
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса содержит данные следующей структуры:
JSON-представление | |
---|---|
{ "handler": { object ( |
Поля | |
---|---|
handler | Необходимый. Информация для выполнения о том, как обрабатывать запрос. Например, запрос, предназначенный для получения факта, может иметь обработчик с именем «getFact». |
intent | Необходимый. Представляет последнее совпавшее намерение. См. https://developers.google.com/assistant/conversational/intents . |
scene | Необязательный. Информация о текущей и следующей сцене при вызове функции. Будет заполняться при выполнении вызова выполнения в рамках сцены. См. https://developers.google.com/assistant/conversational/scenes . |
session | Необходимый. Содержит данные сеанса, такие как идентификатор сеанса и параметры сеанса. |
user | Необходимый. Пользователь, инициировавший беседу. |
home | Необязательный. Информация, относящаяся к структуре HomeGraph, к которой принадлежит целевое устройство. См. https://developers.google.com/actions/smarthome/concepts/homegraph . |
device | Необходимый. Информация об устройстве, которое пользователь использует для взаимодействия с Действием. |
context | Необязательный. Информация о текущем контексте запроса. Включает, помимо прочего, информацию об активном мультимедийном сеансе или информацию о холсте. |
Тело ответа
В случае успеха тело ответа содержит данные следующей структуры:
Представляет ответ, отправленный разработчиком в Actions on Google.
JSON-представление | |
---|---|
{ "prompt": { object ( |
Поля | |
---|---|
prompt | Необязательный. Представляет запросы, которые будут отправлены пользователю. Эти запросы будут добавлены к ранее добавленным сообщениям, если они не будут перезаписаны явным образом. |
scene | Необязательный. Представляет текущую и следующую сцену. Если установлен |
session | Необязательный. Описывает данные для текущего сеанса, параметры сеанса могут быть созданы, обновлены или удалены при выполнении. |
user | Необязательный. Используйте для указания пользовательских параметров для отправки обратно. |
home | Необязательный. Используется для указания параметров, связанных со структурой HomeGraph, к которой принадлежит целевое устройство. См. https://developers.google.com/actions/smarthome/concepts/homegraph . |
device | Необязательный. Используйте для перемещения между устройствами Ассистента, к которым у пользователя есть доступ. |
expected | Необязательный. Описывает ожидания от следующего хода диалога. |
Обработчик
Представляет обработчик выполнения, который сопоставляет информацию о событиях из Actions on Google с выполнением. Используйте имя обработчика, чтобы определить, какой код следует запустить для выполнения. Например, обработчик может использоваться для получения информации о заказе пользователя с именем обработчика, например «OrderLookup», в то время как другой может получать информацию о продукте из базы данных с именем обработчика, например «GetProductInfo».
JSON-представление | |
---|---|
{ "name": string } |
Поля | |
---|---|
name | Необязательный. Имя обработчика. |
Намерение
Представляет намерение. См. https://developers.google.com/assistant/conversational/intents .
JSON-представление | |
---|---|
{
"name": string,
"params": {
string: {
object ( |
Поля | |
---|---|
name | Необходимый. Имя последнего совпавшего намерения. |
params | Необходимый. Представляет параметры, определенные как часть сопоставления намерений. Это сопоставление имени идентифицированного параметра со значением параметра, определенного на основе пользовательского ввода. Здесь будут отображаться все параметры, определенные в сопоставленном намерении. Объект, содержащий список пар |
query | Необязательный. Напечатанный или устный ввод конечного пользователя, соответствующий этому намерению. Оно будет заполнено при совпадении намерения на основе пользовательского ввода. |
IntentParameterValue
Представляет значение параметра намерения. См. https://developers.google.com/assistant/conversational/types .
JSON-представление | |
---|---|
{ "original": string, "resolved": value } |
Поля | |
---|---|
original | Необходимый. Исходное текстовое значение, извлеченное из высказываний пользователя. |
resolved | Необходимый. Структурированное значение параметра, извлеченное из пользовательского ввода. Оно будет заполнено только в том случае, если параметр определен в сопоставленном намерении и значение параметра можно определить во время сопоставления намерения. |
Сцена
Представьте сцену. Сцены могут вызывать выполнение, добавлять подсказки и собирать значения слотов от пользователя. Сцены запускаются событиями или намерениями и могут запускать события и соответствовать намерениям для перехода к другим сценам.
JSON-представление | |
---|---|
{ "name": string, "slotFillingStatus": enum ( |
Поля | |
---|---|
name | Необходимый. Название текущей сцены. |
slotFillingStatus | Необходимый. Текущий статус заполнения слотов. Это поле доступно только для чтения. |
slots | Слоты, связанные с текущей сценой. Ответы обработчика не могут возвращать слоты, которые не были отправлены в запросе. Объект, содержащий список пар |
next | Необязательный. Информация о месте, где будет происходить следующая казнь. |
Статус заполнения слота
Представляет текущий статус заполнения слотов.
Перечисления | |
---|---|
UNSPECIFIED | Резервное значение, если поле использования не заполнено. |
INITIALIZED | Слоты инициализированы, но заполнение слотов не началось. |
COLLECTING | Значения слотов собираются. |
FINAL | Все значения слотов являются окончательными и не могут быть изменены. |
Слот
Представляет слот.
JSON-представление | |
---|---|
{ "mode": enum ( |
Поля | |
---|---|
mode | Режим слота (обязательный или необязательный). Может быть установлен разработчиком. |
status | Статус слота. |
value | Стоимость слота. Изменение этого значения в ответе приведет к изменению значения в заполнении слота. |
updated | Указывает, было ли получено значение слота в последний ход. Это поле доступно только для чтения. |
prompt | Необязательный. Это приглашение отправляется пользователю, когда необходимо заполнить необходимый слот. Это приглашение переопределяет существующее приглашение, определенное в консоли. Это поле не включается в запрос вебхука. |
Слотрежим
Представляет режим слота, то есть требуется он или нет.
Перечисления | |
---|---|
MODE_UNSPECIFIED | Резервное значение, если поле использования не заполнено. |
OPTIONAL | Указывает, что слот не требуется для завершения заполнения слота. |
REQUIRED | Указывает, что слот необходим для завершения заполнения слота. |
Статус слота
Представляет состояние слота.
Перечисления | |
---|---|
SLOT_UNSPECIFIED | Резервное значение, если поле использования не заполнено. |
EMPTY | Указывает, что слот не имеет значений. Этот статус нельзя изменить посредством ответа. |
INVALID | Указывает, что значение слота недопустимо. Этот статус можно установить через ответ. |
FILLED | Указывает, что слот имеет значение. Этот статус нельзя изменить посредством ответа. |
Быстрый
Представлять ответ пользователю. См. https://developers.google.com/assistant/conversational/prompts .
JSON-представление | |
---|---|
{ "override": boolean, "firstSimple": { object ( |
Поля | |
---|---|
override | Необязательный. Режим объединения этих сообщений с ранее определенными сообщениями. «true» удаляет все ранее определенные сообщения (первое и последнее простое, содержимое, ссылку на предложения и холст) и добавляет сообщения, определенные в этом приглашении. «false» добавляет сообщения, определенные в этом приглашении, к сообщениям, определенным в предыдущих ответах. Если оставить для этого поля значение «false», также можно будет добавлять к некоторым полям простые приглашения, приглашение «Предложения» и приглашение «Холст» (часть приглашения «Содержимое»). Сообщения «Содержимое» и «Ссылка» всегда перезаписываются, если они определены в приглашении. Значение по умолчанию — «ложь». |
firstSimple | Необязательный. Первый голосовой и текстовый ответ. |
content | Необязательный. Содержимое, такое как карточка, список или медиафайл, который будет отображаться пользователю. |
lastSimple | Необязательный. Последний голосовой и текстовый ответ. |
suggestions[] | Необязательный. Предложения, которые будут отображаться пользователю и всегда будут появляться в конце ответа. Если поле «переопределить» в содержащем приглашении имеет значение «ложь», заголовки, определенные в этом поле, будут добавлены к заголовкам, определенным в любых ранее определенных подсказках предложений, а повторяющиеся значения будут удалены. |
link | Необязательный. Дополнительный чип предложения, который может ссылаться на соответствующее приложение или сайт. Чип будет отображаться с заголовком «Открыть (имя)». Макс 20 символов. |
canvas | Необязательный. Представляет ответ Interactive Canvas, который будет отправлен пользователю. |
orderUpdate | Необязательное действие отвечает OrderUpdate после получения заказа во время потока транзакций. При получении этого Google записывает это обновление в заказ и в случае успеха отображает карточку квитанции вместе с TTS, отправленным на устройства отображения. |
Простой
Представляет простой запрос, который необходимо отправить пользователю. См. https://developers.google.com/assistant/conversational/prompts-simple .
JSON-представление | |
---|---|
{ "speech": string, "text": string } |
Поля | |
---|---|
speech | Необязательный. Представляет речь, которая будет произнесена пользователю. Это может быть SSML или преобразование текста в речь. Если поле «переопределить» в содержащем приглашении имеет значение «истина», речь, определенная в этом поле, заменяет речь предыдущего простого приглашения. См. https://developers.google.com/assistant/conversational/ssml . |
text | Необязательный текст для отображения в чате. Если не указано, будет использоваться отображение речевого поля выше. Ограничено 640 символами. Если поле «переопределить» в содержащем приглашении имеет значение «истина», текст, определенный в этом поле, заменяется на текст предыдущего простого приглашения. |
Содержание
Объект-контейнер для расширенных подсказок или подсказок выбора.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
| ||
card | Базовая карта. | |
image | Изображение. | |
table | Настольная карта. | |
media | Ответ, указывающий набор медиафайлов для воспроизведения. | |
collection | Карточка, представляющая набор вариантов на выбор. | |
list | Карточка со списком вариантов для выбора. | |
collectionBrowse | Карточка с набором веб-страниц, которые нужно открыть. |
Карта
Базовая карточка для отображения некоторой информации, например изображения и/или текста. См. https://developers.google.com/assistant/conversational/prompts-rich#basic_card .
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
Поля | |
---|---|
title | Общее название карты. Необязательный. |
subtitle | Необязательный. |
text | Текст карточки. Поддерживает ограниченный набор синтаксиса уценки для форматирования. Обязательно, если изображение не присутствует. |
image | Изображение героя для карты. Высота фиксирована и равна 192dp. Необязательный. |
imageFill | Как будет заполнен фон изображения. Необязательный. |
button | Кнопка с исходящей ссылкой. Необязательный. |
Изображение
Изображение, отображаемое на карточке. См. https://developers.google.com/assistant/conversational/prompts-rich#image-cards .
JSON-представление | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
Поля | |
---|---|
url | Исходный URL изображения. Изображения могут быть в формате JPG, PNG и GIF (анимированные и неанимированные). Например, |
alt | Текстовое описание изображения, которое будет использоваться для обеспечения доступности, например программы чтения с экрана. Необходимый. |
height | Высота изображения в пикселях. Необязательный. |
width | Ширина изображения в пикселях. Необязательный. |
Заполнение изображения
Возможные варианты отображения изображения, влияющие на представление изображения. Это следует использовать, когда соотношение сторон изображения не соответствует соотношению сторон контейнера изображения.
Перечисления | |
---|---|
UNSPECIFIED | |
GRAY | Заполните промежутки между изображением и контейнером изображения серыми полосами. |
WHITE | Заполните промежутки между изображением и контейнером изображения белыми полосами. |
CROPPED | Изображение масштабируется таким образом, чтобы ширина и высота изображения соответствовали размерам контейнера или превышали их. Это может обрезать верхнюю и нижнюю часть изображения, если масштабированная высота изображения больше высоты контейнера, или обрезать левую и правую часть изображения, если ширина масштабированного изображения больше ширины контейнера. Это похоже на «Режим масштабирования» на широкоэкранном телевизоре при воспроизведении видео с соотношением сторон 4:3. |
Связь
Дополнительный чип предложения, который может ссылаться на соответствующее приложение или сайт. Чип будет отображаться с заголовком «Открыть (имя)».
JSON-представление | |
---|---|
{
"name": string,
"open": {
object ( |
Поля | |
---|---|
name | Название ссылки. Максимум 20 символов. |
open | Что происходит, когда пользователь открывает ссылку |
OpenUrl
JSON-представление | |
---|---|
{
"url": string,
"hint": enum ( |
Поля | |
---|---|
url | Поле URL-адреса, которое может быть любым из: URL-адреса http/https для открытия приложения, связанного с приложением, или веб-страницы. |
hint | Указывает подсказку для типа URL-адреса. |
URL-подсказка
Различные типы подсказок URL.
Перечисления | |
---|---|
LINK_UNSPECIFIED | Не указано |
AMP | URL-адрес, указывающий непосредственно на контент AMP, или канонический URL-адрес, который ссылается на контент AMP через . См. https://amp.dev/ . |
Стол
Карточка таблицы для отображения таблицы текста. См. https://developers.google.com/assistant/conversational/prompts-rich#table_cards .
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
Поля | |
---|---|
title | Общее название таблицы. Необязательно, но должно быть установлено, если установлены субтитры. |
subtitle | Подзаголовок к таблице. Необязательный. |
image | Изображение, связанное с таблицей. Необязательный. |
columns[] | Заголовки и выравнивание столбцов. |
rows[] | Данные строки таблицы. Первые три строки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие строки будут отображаться для данной поверхности. На поверхностях, которые поддерживают возможность WEB_BROWSER, вы можете указать пользователю на веб-страницу с дополнительными данными. |
button | Кнопка. |
ТаблицаСтолбец
JSON-представление | |
---|---|
{
"header": string,
"align": enum ( |
Поля | |
---|---|
header | Текст заголовка столбца. |
align | Горизонтальное выравнивание содержимого по столбцу. Если не указано, содержимое будет выровнено по переднему краю. |
Горизонтальное выравнивание
Выравнивание содержимого внутри ячейки.
Перечисления | |
---|---|
UNSPECIFIED | |
LEADING | Передний край ячейки. Это значение по умолчанию. |
CENTER | Содержимое выравнивается по центру столбца. |
TRAILING | Содержимое выравнивается по заднему краю столбца. |
ТаблицаРоу
Описывает строку в таблице.
JSON-представление | |
---|---|
{
"cells": [
{
object ( |
Поля | |
---|---|
cells[] | Ячейки в этом ряду. Первые три ячейки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие ячейки будут отображаться для данной поверхности. |
divider | Указывает, должен ли быть разделитель после каждой строки. |
Таблеселл
Описывает ячейку в строке.
JSON-представление | |
---|---|
{ "text": string } |
Поля | |
---|---|
text | Текстовое содержимое ячейки. |
СМИ
Представляет один медиа-объект. Содержит информацию о носителе, такую как имя, описание, URL-адрес и т. д. См. https://developers.google.com/assistant/conversational/prompts-media .
JSON-представление | |
---|---|
{ "mediaType": enum ( |
Поля | |
---|---|
mediaType | |
startOffset | Начальное смещение первого медиа-объекта. Длительность в секундах, содержащая до девяти дробных цифр, заканчивающаяся символом « |
optionalMediaControls[] | Дополнительные типы управления мультимедиа, которые может поддерживать этот сеанс ответа на мультимедиа. Если установлено, запрос будет отправлен на 3p, когда произойдет определенное медиа-событие. Если не установлено, 3p все равно должен обрабатывать два типа управления по умолчанию: FINISHED и FAILED. |
mediaObjects[] | Список медиа-объектов |
repeatMode | Режим повтора для списка медиа-объектов. |
firstMediaObjectIndex | Отсчитываемый от 0 индекс первого медиа-объекта в mediaObjects для воспроизведения. Если не указано, равно нулю или выходит за пределы, воспроизведение начинается с первого медиа-объекта в mediaObjects. |
Медиатип
Тип носителя этого ответа.
Перечисления | |
---|---|
MEDIA_TYPE_UNSPECIFIED | |
AUDIO | Аудио файл. |
MEDIA_STATUS_ACK | Ответ на подтверждение отчета о состоянии СМИ. |
Необязательные элементы управления медиа
Дополнительные типы управления мультимедиа, которые может поддерживать ответ мультимедиа
Перечисления | |
---|---|
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED | Неустановленное значение |
PAUSED | Приостановленное мероприятие. Срабатывает, когда пользователь приостанавливает воспроизведение мультимедиа. |
STOPPED | Остановленное мероприятие. Срабатывает, когда пользователь выходит из сеанса 3p во время воспроизведения мультимедиа. |
Медиаобъект
Представляет один медиа-объект
JSON-представление | |
---|---|
{
"name": string,
"description": string,
"url": string,
"image": {
object ( |
Поля | |
---|---|
name | Имя этого медиа-объекта. |
description | Описание этого медиа-объекта. |
url | URL-адрес, указывающий на медиа-контент. Файлы MP3 должны размещаться на веб-сервере и быть общедоступными через URL-адрес HTTPS. Прямая трансляция поддерживается только для формата MP3. |
image | Изображение для показа вместе с медиа-картой. |
Медиаизображение
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
| ||
large | Большое изображение, например обложка альбома и т. д. | |
icon | Небольшой значок изображения отображается справа от заголовка. Его размер изменен до 36x36 dp. |
Режим повтора
Типы режима повтора для списка медиа-объектов.
Перечисления | |
---|---|
REPEAT_MODE_UNSPECIFIED | Эквивалент ВЫКЛ. |
OFF | Завершить сеанс мультимедиа в конце последнего медиа-объекта. |
ALL | Перейдите к началу первого медиа-объекта, когда будет достигнут конец последнего медиа-объекта. |
Коллекция
Карточка, представляющая набор вариантов на выбор. См . https://developers.google.com/assistant/conversational/prompts-selection#collection .
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
Поля | |
---|---|
title | Название сборника. Необязательный. |
subtitle | Подзаголовок сборника. Необязательный. |
items[] | Список предметов. Он может иметь минимум 2 и максимум 10 . |
imageFill | Как будут заполняться фоны изображений предметов коллекции. Необязательный. |
КоллекцияЭлемент
Предмет в коллекции
JSON-представление | |
---|---|
{ "key": string } |
Поля | |
---|---|
key | Необходимый. Ключ NLU, соответствующий имени ключа записи в связанном типе. |
Список
Карточка для представления списка вариантов на выбор. См. https://developers.google.com/assistant/conversational/prompts-selection#list .
JSON-представление | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
Поля | |
---|---|
title | Название списка. Необязательный. |
subtitle | Подзаголовок списка. Необязательный. |
items[] | Список предметов. Минимум 2 и максимум 30 . |
ListItem
Элемент в списке
JSON-представление | |
---|---|
{ "key": string } |
Поля | |
---|---|
key | Необходимый. Ключ NLU, соответствующий имени ключа записи в связанном типе. |
КоллекцияОбзор
Представляет набор веб-документов как коллекцию элементов большой плитки. Элементы могут быть выбраны для запуска связанного с ними веб-документа в средстве веб-просмотра. См . https://developers.google.com/assistant/conversational/prompts-selection#collectionBrowse .
JSON-представление | |
---|---|
{ "items": [ { object ( |
Поля | |
---|---|
items[] | Список предметов. Он может иметь минимум 2 и максимум 10 . |
imageFill | Тип опции отображения изображения. |
Элемент
Предмет в коллекции.
JSON-представление | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
Поля | |
---|---|
title | Необходимый. Название предмета коллекции. |
description | Описание предмета коллекции. |
footer | Текст нижнего колонтитула элемента коллекции, отображаемый под описанием. Одна строка текста, обрезанная многоточием. |
image | Изображение предмета коллекции. |
openUriAction | Необходимый. URI для открытия, если элемент выбран. |
Предположение
Предложения предоставляют пользователям устройств с дисплеем чипы предложений, когда Ассистент отображает подсказку. Используйте чипы предложений, чтобы подсказать ответы пользователей, чтобы продолжить или развернуть разговор. При нажатии чип подсказки дословно возвращает отображаемый текст в разговор, как если бы его набрал пользователь. См. https://developers.google.com/assistant/conversational/prompts#suggestions .
JSON-представление | |
---|---|
{ "title": string } |
Поля | |
---|---|
title | Необходимый. Текст, отображаемый в чипе предложения. При нажатии этот текст будет дословно отправлен обратно в беседу, как если бы пользователь его напечатал. Каждое название должно быть уникальным среди множества фишек предложений. Макс. 25 символов |
Холст
Представляет ответ Interactive Canvas, который будет отправлен пользователю. Его можно использовать вместе с полем «firstSimple» в содержащем приглашении для разговора с пользователем в дополнение к отображению ответа на интерактивном холсте. Максимальный размер ответа — 50 КБ. См. https://developers.google.com/assistant/interactivecanvas .
JSON-представление | |
---|---|
{
"url": string,
"data": [
value
],
"suppressMic": boolean,
"continuousMatchConfig": {
object ( |
Поля | |
---|---|
url | URL-адрес интерактивного веб-приложения на основе холста для загрузки. Если не установлено, URL-адрес текущего активного холста будет использоваться повторно. |
data[] | Необязательный. Данные JSON, которые будут переданы на веб-страницу иммерсивного опыта как событие. Если поле «переопределить» в содержащем приглашении имеет значение «ложь», значения данных, определенные в этом приглашении Canvas, будут добавлены после значений данных, определенных в предыдущих приглашениях Canvas. |
suppressMic | Необязательный. Значение по умолчанию: ложь. |
continuousMatchConfig | Конфигурация, используемая для запуска режима непрерывного сопоставления. |
НепрерывныйМатчКонфиг
Конфигурация, используемая для запуска режима непрерывного сопоставления.
JSON-представление | |
---|---|
{
"expectedPhrases": [
{
object ( |
Поля | |
---|---|
expectedPhrases[] | Все возможные ожидаемые фразы во время сеанса в режиме непрерывного матча. |
durationSeconds | Продолжительность включения режима непрерывного матча. Если указано, микрофон будет закрыт по истечении времени. Максимально допустимое значение — 180. |
Ожидаемая фраза
JSON-представление | |
---|---|
{ "phrase": string, "alternativePhrases": [ string ] } |
Поля | |
---|---|
phrase | Фраза для сопоставления во время сеанса режима непрерывного сопоставления. |
alternativePhrases[] | Некоторые фразы могут быть неправильно распознаны речевой моделью даже при искажении речи. Это позволяет разработчикам указывать альтернативные триггеры для омофонов. |
Обновление заказа
Обновление заказа.
JSON-представление | |
---|---|
{ "type": enum ( |
Поля | |
---|---|
type | Устарело: вместо этого используйте OrderUpdate.update_mask. Если тип = SNAPSHOT, OrderUpdate.order должен содержать весь заказ. Если тип = ORDER_STATUS, это изменение статуса уровня заказа. Подхватываются только order.last_update_time и этот вертикальный статус. Примечание. type.ORDER_STATUS поддерживает только обновления статуса PurcahaseOrderExtension, и расширение этой поддержки не планируется. Вместо этого мы рекомендуем использовать updateMask, поскольку он более универсальный, расширяемый и может использоваться для всех вертикалей. |
order | |
updateMask | Примечание. Существуют следующие соображения/рекомендации для следующих специальных полей: 1. order.last_update_time всегда будет обновляться как часть запроса на обновление. 2. order.create_time, order.google_order_id и order.merchant_order_id будут игнорироваться, если они указаны как часть updateMask. Это разделенный запятыми список полных имен полей. Пример: |
userNotification | Если указано, отображает пользователю уведомление с указанным заголовком и текстом. Указание уведомления — это предложение об уведомлении, которое не обязательно приведет к отправке уведомления. |
reason | Причина изменения/обновления. |
Тип
Устарело: вместо этого используйте OrderUpdate.update_mask. Разрешено обновление заказа.
Перечисления | |
---|---|
TYPE_UNSPECIFIED | Тип не указан, не следует задавать это явно. |
ORDER_STATUS | Только обновлять статус заказа. |
SNAPSHOT | Обновить снимок заказа. |
Заказ
Сущность заказа. Примечание. 1. Все строки на всех уровнях должны содержать менее 1000 символов, если не указано иное. 2. Число всех повторяющихся полей на всех уровнях должно быть менее 50, если не указано иное. 3. Все временные метки на всех уровнях, если они указаны, должны быть действительными.
JSON-представление | |
---|---|
{ "googleOrderId": string, "merchantOrderId": string, "userVisibleOrderId": string, "userVisibleStateLabel": string, "buyerInfo": { object ( |
Поля | ||
---|---|---|
googleOrderId | Google присвоил идентификатор заказа. | |
merchantOrderId | Обязательно: внутренний идентификатор заказа, присвоенный продавцом. Этот идентификатор должен быть уникальным и необходим для последующих операций обновления заказа. Этот идентификатор может быть установлен в соответствии с предоставленным googleOrderId или любым другим уникальным значением. Обратите внимание, что идентификатор, предоставляемый пользователям, — это userVisibleOrderId, который может иметь другое, более удобное для пользователя значение. Максимально допустимая длина — 128 символов. | |
userVisibleOrderId | Идентификатор пользователя, ссылающийся на текущий заказ. Этот идентификатор должен соответствовать идентификатору, отображаемому для этого заказа в других контекстах, включая веб-сайты, приложения и электронную почту. | |
userVisibleStateLabel | Устарело: вместо этого используйте статус OrderExtensions. Видимая пользователем метка состояния этого заказа. | |
buyerInfo | Информация о покупателе. | |
image | Изображение, связанное с заказом. | |
createTime | Обязательно: дата и время создания заказа. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: | |
lastUpdateTime | Дата и время последнего обновления заказа. Требуется для OrderUpdate. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: | |
transactionMerchant | Продавец, который облегчил оформление заказа. Это может отличаться от поставщика уровня позиции. Пример: заказ Expedia с позицией от ANA. | |
contents | Обязательно: содержимое заказа, которое представляет собой группу позиций. | |
priceAttributes[] | Цена, скидки, налоги и так далее. | |
followUpActions[] | Последующие действия на уровне заказа. | |
paymentData | Данные, связанные с оплатой заказа. | |
termsOfServiceUrl | Ссылка на условия обслуживания, применимые к заказу/предлагаемому заказу. | |
note | Примечания, прилагаемые к заказу. | |
promotions[] | Все акции, которые связаны с этим заказом. | |
disclosures[] | Раскрытие информации, связанное с этим приказом. | |
vertical | Устарело: вместо этого используйте вертикали. Эти свойства будут применяться ко всем позициям, если они не будут переопределены в какой-либо позиции. Эта тематика должна соответствовать типу вертикали на уровне позиции. Возможные значения: Объект, содержащий поля произвольного типа. Дополнительное поле | |
verticals полей объединения. Эти свойства будут применяться ко всем позициям, если они не будут переопределены в какой-либо позиции. Эта тематика должна соответствовать типу вертикали на уровне позиции. verticals могут быть только одним из следующих: | ||
purchase | Заказ на покупку | |
ticket | Заказ билетов |
Информация о пользователе
Информация о пользователе. Используется для представления информации о пользователе, связанной с заказом.
JSON-представление | |
---|---|
{
"email": string,
"firstName": string,
"lastName": string,
"displayName": string,
"phoneNumbers": [
{
object ( |
Поля | |
---|---|
email | Электронная почта пользователя, например: janedoe@gmail.com . |
firstName | Имя пользователя. |
lastName | Фамилия пользователя. |
displayName | Отображаемое имя пользователя может отличаться от имени или фамилии. |
phoneNumbers[] | Телефонные номера пользователя. |
Номер телефона
Стандартное представление номера телефона.
JSON-представление | |
---|---|
{ "e164PhoneNumber": string, "extension": string, "preferredDomesticCarrierCode": string } |
Поля | |
---|---|
e164PhoneNumber | Номер телефона в формате E.164, как определено в Рекомендации E.164 Международного союза электросвязи (ITU). ссылка на вики: https://en.wikipedia.org/wiki/E.164 |
extension | Расширение не стандартизировано в рекомендациях ITU, за исключением того, что оно определяется как серия чисел с максимальной длиной 40 цифр. Здесь он определен как строка, допускающая возможное использование начального нуля в расширении (организации имеют полную свободу в этом, поскольку стандарт не определен). Помимо цифр, здесь могут храниться и некоторые другие символы набора, такие как «,» (обозначающие ожидание). Например, в ххх-ххх-хххх доб. 123, «123» — это расширение. |
preferredDomesticCarrierCode | Код выбора оператора связи, который предпочтителен при звонках на этот номер телефона внутри страны. Сюда также входят коды, которые необходимо набирать в некоторых странах при звонках со стационарных телефонов на мобильные телефоны и наоборот. Например, в Колумбии перед номером телефона необходимо набрать цифру «3» при звонке с мобильного телефона на домашний стационарный телефон и наоборот. https://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code Обратите внимание, что это «предпочтительный» код, что означает, что другие коды также могут работать. |
Изображение
Изображение, отображаемое на карточке.
JSON-представление | |
---|---|
{ "url": string, "accessibilityText": string, "height": integer, "width": integer } |
Поля | |
---|---|
url | Исходный URL изображения. Изображения могут быть в формате JPG, PNG и GIF (анимированные и неанимированные). Например, |
accessibilityText | Текстовое описание изображения, которое будет использоваться для обеспечения доступности, например программы чтения с экрана. Необходимый. |
height | Высота изображения в пикселях. Необязательный. |
width | Ширина изображения в пикселях. Необязательный. |
Торговец
Продавец для корзины/заказа/позиции.
JSON-представление | |
---|---|
{ "id": string, "name": string, "image": { object ( |
Поля | |
---|---|
id | Необязательный идентификатор, присвоенный продавцу, если таковой имеется. |
name | Название торговца вроде «Панера Хлеб». |
image | Изображение, связанное с торговцем. |
phoneNumbers[] | Телефоны торговцев. |
address | Адрес торговца. |
Расположение
Контейнер, представляющий местоположение.
JSON-представление | |
---|---|
{ "coordinates": { object ( |
Поля | |
---|---|
coordinates | Геокоординаты. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
formattedAddress | Отобразить адрес, например, «1600 Amphitheatre Pkwy, Mountain View, CA 94043». Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
zipCode | Почтовый индекс. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
city | Город. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
postalAddress | Почтовый адрес. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
name | Название места. |
phoneNumber | Номер телефона местоположения, например контактный номер офиса или номер телефона места доставки. |
notes | Заметки о локации. |
placeId | PlaceId используется с API Places для получения сведений о месте. См. https://developers.google.com/places/web-service/place-id . |
ШиротаДлительность
Объект, представляющий пару широты и долготы. Это выражается в виде пары двойных чисел, обозначающих градусы широты и градусы долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в пределах нормализованных диапазонов.
JSON-представление | |
---|---|
{ "latitude": number, "longitude": number } |
Поля | |
---|---|
latitude | Широта в градусах. Оно должно находиться в диапазоне [-90,0, +90,0]. |
longitude | Долгота в градусах. Оно должно находиться в диапазоне [-180,0, +180,0]. |
Почтовый адрес
Представляет почтовый адрес, например, для адресов почтовой доставки или платежей. Учитывая почтовый адрес, почтовая служба может доставлять товары в помещение, почтовый ящик или подобное место. Он не предназначен для моделирования географических мест (дорог, городов, гор).
Обычно адрес создается посредством пользовательского ввода или путем импорта существующих данных, в зависимости от типа процесса.
Советы по вводу/редактированию адреса: – Используйте виджет адреса с поддержкой i18n, например https://github.com/google/libaddressinput . – Пользователям не должны предоставляться элементы пользовательского интерфейса для ввода или редактирования полей за пределами стран, где это поле есть. использовал.
Дополнительные инструкции по использованию этой схемы см. на странице https://support.google.com/business/answer/6397478 .
JSON-представление | |
---|---|
{ "revision": integer, "regionCode": string, "languageCode": string, "postalCode": string, "sortingCode": string, "administrativeArea": string, "locality": string, "sublocality": string, "addressLines": [ string ], "recipients": [ string ], "organization": string } |
Поля | |
---|---|
revision | Версия схемы Все новые версии должны быть обратно совместимы со старыми версиями. |
regionCode | Необходимый. CLDR-код региона страны/региона адреса. Это никогда не предполагается, и пользователь должен убедиться в правильности значения. Подробности см. на http://cldr.unicode.org/ и http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html . Пример: «CH» для Швейцарии. |
languageCode | Необязательный. Код языка BCP-47 содержимого этого адреса (если известен). Часто это язык пользовательского интерфейса формы ввода или ожидается, что он будет соответствовать одному из языков, используемых в стране/регионе адреса, или их транслитерированным эквивалентам. Это может повлиять на форматирование в некоторых странах, но не имеет решающего значения для правильности данных и никогда не повлияет на проверку или другие операции, не связанные с форматированием. Если это значение неизвестно, его следует опустить (вместо указания возможно неправильного значения по умолчанию). Примеры: «ж-Хант», «джа», «джа-Латн», «ен». |
postalCode | Необязательный. Почтовый индекс адреса. Не все страны используют или требуют наличия почтовых индексов, но там, где они используются, они могут вызвать дополнительную проверку других частей адреса (например, проверка штата/почтового индекса в США). |
sortingCode | Необязательный. Дополнительный код сортировки для конкретной страны. В большинстве регионов это не используется. Там, где оно используется, значение представляет собой либо строку типа «CEDEX», за которой необязательно следует число (например, «CEDEX 7»), либо просто число, представляющее «код сектора» (Ямайка), «указатель зоны доставки». (Малави) или «индикатор почтового отделения» (например, Кот-д'Ивуар). |
administrativeArea | Необязательный. Высшее административное подразделение, используемое для почтовых адресов страны или региона. Например, это может быть штат, провинция, область или префектура. В частности, для Испании это провинция, а не автономное сообщество (например, «Барселона», а не «Каталония»). Многие страны не используют административную зону в почтовых адресах. Например, в Швейцарии это место следует оставить незаселенным. |
locality | Необязательный. Обычно относится к части адреса, посвященной городу. Примеры: город в США, ИТ-коммуна, почтовый город Великобритании. В регионах мира, где населенные пункты не определены четко или не вписываются в эту структуру, оставьте locality пустым и используйте адресные строки. |
sublocality | Необязательный. Сублокальность адреса. Например, это могут быть микрорайоны, районы, районы. |
addressLines[] | Неструктурированные адресные строки, описывающие нижние уровни адреса. Поскольку значения в адресных строках не содержат информации о типе и иногда могут содержать несколько значений в одном поле (например, «Остин, Техас»), важно, чтобы порядок строк был ясен. Порядок адресных строк должен быть «порядком конверта» для страны/региона адреса. В местах, где это может отличаться (например, в Японии), адрес_языка используется для явного указания (например, «ja» для упорядочивания от большого к меньшему и «ja-Latn» или «en» для упорядочения от малого к большому). Таким образом, в зависимости от языка можно выбрать наиболее конкретную строку адреса. Минимально допустимое структурное представление адреса состоит из кода региона, а вся остальная информация помещается в строки адреса. Можно было бы очень приблизительно отформатировать такой адрес без геокодирования, но никакие семантические рассуждения не могли быть сделаны ни о каком из компонентов адреса, пока он не был хотя бы частично решен. Создание адреса, содержащего только регионКод и адресные строки, а затем геокодирование — рекомендуемый способ обработки полностью неструктурированных адресов (в отличие от угадывания, какие части адреса должны быть населенными пунктами или административными областями). |
recipients[] | Необязательный. Получатель по адресу. Это поле может при определенных обстоятельствах содержать многострочную информацию. Например, он может содержать информацию об уходе. |
organization | Необязательный. Название организации по адресу. |
Содержание
Обертка для позиций.
JSON-представление | |
---|---|
{
"lineItems": [
{
object ( |
Поля | |
---|---|
lineItems[] | Список позиций заказа. Требуется как минимум 1 элемент строки, допускается не более 50. Все позиции должны относиться к одной тематике. |
Линейный элемент
Одна позиция содержит одну вертикаль. Заказ или корзина могут содержать несколько позиций одной тематики. Подстроки/дополнения и т. д. должны быть определены в вертикальных прототипах в зависимости от вариантов их использования. Примечание. 1. Все строки на всех уровнях должны содержать менее 1000 символов, если не указано иное. 2. Число всех повторяющихся полей на всех уровнях должно быть менее 50, если не указано иное. 3. Все временные метки на всех уровнях, если они указаны, должны быть действительными.
JSON-представление | |
---|---|
{ "id": string, "name": string, "userVisibleStateLabel": string, "provider": { object ( |
Поля | ||
---|---|---|
id | Обязательно: идентификатор позиции, присвоенный продавцом. Используется для идентификации существующей позиции при применении частичных обновлений. Максимально допустимая длина — 64 символа. | |
name | Название позиции, отображаемое в чеке. Максимально допустимая длина — 100 символов. | |
userVisibleStateLabel | Устарело. Вместо этого используйте статус вертикального уровня. Например, для покупок используйте PurchaseOrderExtension.status. Видимая пользователем метка состояния этой позиции. | |
provider | Поставщик конкретной позиции, если он отличается от общего заказа. Пример: заказ Expedia с поставщиком позиций ANA. | |
priceAttributes[] | Цена и корректировки на уровне позиции. | |
followUpActions[] | Последующие действия в позиции. | |
recipients[] | Клиенты на уровне позиции, это может отличаться от покупателя на уровне заказа. Пример: Пользователь X забронировал столик в ресторане на имя пользователя Y. | |
image | Небольшое изображение, связанное с этим элементом, если таковое имеется. | |
description | Описание позиции. | |
notes[] | Дополнительные примечания, применимые к этой конкретной позиции, например, правила отмены. | |
disclosures[] | Раскрытие информации, связанное с этой статьей. | |
vertical | Устарело: вместо этого используйте вертикали. Обязательно: семантическое содержание позиции в зависимости от ее типа/тематики. Каждая вертикаль должна включать свои собственные детали выполнения. Должно быть одно из следующих значений: Объект, содержащий поля произвольного типа. Дополнительное поле | |
verticals полей объединения. Обязательно: семантическое содержание позиции в зависимости от ее типа/тематики. Каждая вертикаль должна включать свои собственные детали выполнения. verticals могут быть только одним из следующих: | ||
purchase | Заказы на покупку товаров, продуктов питания и т. д. | |
reservation | Заказы на бронирование, такие как ресторан, стрижка и т. д. |
ЦенаАтрибут
Атрибут цены заказа или позиции.
JSON-представление | |
---|---|
{ "type": enum ( |
Поля | ||
---|---|---|
type | Обязательно: тип денежного атрибута. | |
name | Обязательно: отображаемая пользователем строка атрибута цены. Оно отправлено и локализовано продавцом. | |
id | Необязательно: идентификатор позиции, которой соответствует эта цена. | |
state | Обязательно: Состояние цены: расчетная или фактическая. | |
taxIncluded | Включена ли цена в налог. | |
spec поля Union. Представляет либо денежную сумму, либо миллипроценты. spec может быть только одной из следующих: | ||
amount | Денежная сумма. | |
amountMillipercentage | Процентное значение до 1/1000 процента. Например: 8,750% обозначается как 8750, отрицательные проценты представляют собой процентные скидки. Устаревшее это поле. Можно рассмотреть возможность добавления обратно, когда требуется надежный вариант использования. |
Тип
Обозначает тип денег.
Перечисления | |
---|---|
TYPE_UNSPECIFIED | Тип не указан, клиентам не нужно задавать его явно. |
REGULAR | Обычная отображаемая цена без применения скидок и т. д. |
DISCOUNT | Вычитается из промежуточной суммы. |
TAX | Добавляется к промежуточной сумме. |
DELIVERY | Добавляется к промежуточной сумме. |
SUBTOTAL | Итого, без учета некоторых сборов. |
FEE | Любая дополнительная плата. |
GRATUITY | Добавляется к промежуточной сумме. |
TOTAL | Отображается цена заказа или позиции. |
Состояние
Представляет состояние цены.
Перечисления | |
---|---|
STATE_UNSPECIFIED | Не указан. |
ESTIMATE | Цена является приблизительной, но окончательная сумма будет близка к этой сумме. Пример: В случаях, когда на момент транзакции точно неизвестен налог, общая сумма будет ПРИМЕРНОЙ. |
ACTUAL | Фактическая цена, которая будет взиматься с пользователя. |
Деньги
Представляет сумму денег с типом валюты.
JSON-представление | |
---|---|
{ "currencyCode": string, "amountInMicros": string } |
Поля | |
---|---|
currencyCode | Трехбуквенный код валюты, определенный в ISO 4217. |
amountInMicros | Сумма в микро. Например, в этом поле должно быть установлено значение 1990000 за 1,99 доллара США. |
Действие
Последующее действие, связанное с заказом или позицией.
JSON-представление | |
---|---|
{ "type": enum ( |
Поля | |
---|---|
type | Обязательно: Тип действия. |
title | Название или метка действия, отображаемая пользователю. Максимально допустимая длина — 100 символов. |
openUrlAction | Действия, которые необходимо предпринять. |
actionMetadata | Метаданные, связанные с действием. |
Тип
Возможные последующие действия.
Перечисления | |
---|---|
TYPE_UNSPECIFIED | Неопределенное действие. |
VIEW_DETAILS | Действие «Просмотр сведений о заказе». |
MODIFY | Изменить действие заказа. |
CANCEL | Отменить действие заказа. |
RETURN | Действие заказа на возврат. |
EXCHANGE | Действие заказа на обмен. |
EMAIL | Действие по электронной почте. Типы EMAIL и CALL устарели. openUrlAction.url можно использовать как номер телефона или адрес электронной почты. |
CALL | Вызов действия. |
REORDER | Изменение порядка действий. |
REVIEW | Просмотр действия заказа. |
CUSTOMER_SERVICE | Свяжитесь со службой поддержки клиентов. |
FIX_ISSUE | Чтобы устранить проблему, перейдите на сайт продавца или в приложение. |
DIRECTION | Ссылка на направление. |
Опенурлэкшн
Открывает указанный URL.
JSON-представление | |
---|---|
{ "url": string, "androidApp": { object ( |
Поля | |
---|---|
url | Поле URL-адреса, которое может быть любым из: URL-адреса http/https для открытия приложения, связанного с приложением, или веб-страницы. |
androidApp | Информация о приложении Android, если ожидается, что URL-адрес будет выполнен приложением Android. |
urlTypeHint | Указывает подсказку для типа URL-адреса. |
AndroidApp
Спецификация приложения Android для ограничений выполнения
JSON-представление | |
---|---|
{
"packageName": string,
"versions": [
{
object ( |
Поля | |
---|---|
packageName | Имя пакета Имя пакета должно быть указано при указании Android Fulfillment. |
versions[] | Если указано несколько фильтров, любое совпадение с фильтром приведет к запуску приложения. |
Фильтр версий
VersionFilter следует включить, если требуются определенные версии приложения.
JSON-представление | |
---|---|
{ "minVersion": integer, "maxVersion": integer } |
Поля | |
---|---|
minVersion | Минимальный код версии или 0 включительно. |
maxVersion | Код максимальной версии включительно. Рассматриваемый диапазон — [minVersion:maxVersion]. Нулевой диапазон подразумевает любую версию. Примеры. Чтобы указать одну версию, используйте: [target_version:target_version]. Чтобы указать любую версию, оставьте minVersion и maxVersion неуказанными. Чтобы указать все версии до maxVersion, оставьте minVersion неуказанным. Чтобы указать все версии из minVersion, оставьте maxVersion неуказанным. |
UrlTypeHint
Различные типы подсказок URL.
Перечисления | |
---|---|
URL_TYPE_HINT_UNSPECIFIED | Не указано |
AMP_CONTENT | URL-адрес, указывающий непосредственно на контент AMP, или канонический URL-адрес, который ссылается на контент AMP через <link rel="amphtml">. |
Метаданные действия
Связанные метаданные для каждого действия.
JSON-представление | |
---|---|
{ "expireTime": string } |
Поля | |
---|---|
expireTime | Время истечения срока действия этого действия. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
Раскрытие информации
Информация о продукте, услуге или политике, которая может быть представлена пользователю.
JSON-представление | |
---|---|
{ "title": string, "disclosureText": { object ( |
Поля | |
---|---|
title | Название раскрытия. Пример: «Информация по безопасности». |
disclosureText | Содержание раскрытия. Веб-ссылки разрешены. |
presentationOptions | Варианты представления раскрытия. |
Текст раскрытия информации
Представляет собой обычный текст с веб-ссылками.
JSON-представление | |
---|---|
{
"template": string,
"textLinks": [
{
object ( |
Поля | |
---|---|
template | Текст для отображения, содержащий заполнители, такие как «{0}» и «{1}», для каждой текстовой ссылки, которую необходимо вставить. Пример: «ВНИМАНИЕ: этот продукт может подвергнуть вас воздействию химических веществ, которые, как известно в штате Калифорния, вызывают рак. Для получения дополнительной информации перейдите по адресу {0}». Этот текст раскрытия не должен содержать никакого рекламного или рекламного контента. |
textLinks[] | Текстовые ссылки, которые необходимо подставить в шаблон. Первый будет заменен на "{0}" в строке шаблона, второй на "{1}" и т. д. |
Текстовая ссылка
Текстовая ссылка, которую необходимо подставить в шаблон.
JSON-представление | |
---|---|
{ "displayText": string, "url": string } |
Поля | |
---|---|
displayText | Текст, который должен отображаться пользователям. |
url | URL-адрес, на который должны быть перенаправлены пользователи при активации ссылки. |
Опционы раскрытия информации
Варианты представления раскрытия информации.
JSON-представление | |
---|---|
{
"presentationRequirement": enum ( |
Поля | |
---|---|
presentationRequirement | Требование к раскрытию информации. |
initiallyExpanded | Следует ли изначально расширять содержание раскрытия. По умолчанию он изначально свернут. |
ПрезентацияТребование
Требование к раскрытию информации.
Перечисления | |
---|---|
REQUIREMENT_UNSPECIFIED | Неопределенное требование. Не следует устанавливать это явно. |
REQUIREMENT_OPTIONAL | Раскрытие не является обязательным. Его можно пропустить, если устройство не поддерживает показ раскрытой информации. |
REQUIREMENT_REQUIRED | Раскрытие информации является обязательным. Разговор будет переведен на телефон, если устройство не поддерживает отображение раскрытой информации. |
Расширение PurchaseItemExtension
Содержимое позиции вертикальной закупки.
JSON-представление | |
---|---|
{ "status": enum ( |
Поля | |
---|---|
status | Обязательно: статус на уровне позиции. |
userVisibleStatusLabel | Обязательно: видимая пользователем метка/строка статуса. Максимально допустимая длина — 50 символов. |
type | Обязательно: Тип покупки. |
productId | Идентификатор продукта или предложения, связанный с этой позицией. |
quantity | Количество товара. |
unitMeasure | Единица измерения. Указывает размер элемента в выбранных единицах. Размер вместе с активной ценой используется для определения цены за единицу. |
returnsInfo | Возвращает информацию об этой позиции. Если параметр не установлен, эта позиция наследует уровень заказа и возвращает информацию. |
fulfillmentInfo | Информация о выполнении для этой позиции. Если этот параметр не установлен, эта позиция наследует информацию о выполнении уровня заказа. |
itemOptions[] | Дополнительные дополнения или подпункты. |
productDetails | Подробности о товаре. |
extension | Любые дополнительные поля, которыми обмениваются продавец и Google. Примечание. Использование этого расширения настоятельно не рекомендуется. В зависимости от варианта использования/обстоятельств рассмотрите одно из следующих действий: 1. Определите поля в PurchaseItemExtension, если оно может использоваться для других вариантов использования (т. е. для общих возможностей/функциональности). 2. Используйтевертикальное_расширение, если оно относится к индивидуальному, неуниверсальному варианту использования/функции. Объект, содержащий поля произвольного типа. Дополнительное поле |
Статус покупки
Статус покупки, связанный с заказом на покупку или конкретной позицией.
Перечисления | |
---|---|
PURCHASE_STATUS_UNSPECIFIED | Статус не указан. |
READY_FOR_PICKUP | Готов забрать. |
SHIPPED | Отправленный. |
DELIVERED | Доставленный. |
OUT_OF_STOCK | Распродано. |
IN_PREPARATION | «IN_PREPARATION» может иметь разное значение в разных контекстах. Для заказа ЕДА это может быть приготовление еды. Для розничной торговли это может быть упаковка товара. |
CREATED | Порядок создан. |
CONFIRMED | Продавец подтвердил заказ. |
REJECTED | Продавец отклонил заказ или позицию. |
RETURNED | Товар был возвращен пользователем. |
CANCELLED | Заказ или позиция были отменены пользователем. |
CHANGE_REQUESTED | Пользователь запросил изменение заказа, и интегратор обрабатывает это изменение. После обработки запроса заказ должен быть переведен в другое состояние. |
Тип покупки
Категория покупки.
Перечисления | |
---|---|
PURCHASE_TYPE_UNSPECIFIED | Неизвестное значение. |
RETAIL | Сюда входят покупки, такие как физические товары. |
FOOD | В стоимость входит покупка еды по заказу. |
GROCERY | Покупка продуктов. |
MOBILE_RECHARGE | Предоплаченная покупка пополнения мобильного телефона. |
ТорговецЕдиницаМера
Мера ценообразования торговой единицы.
JSON-представление | |
---|---|
{
"measure": number,
"unit": enum ( |
Поля | |
---|---|
measure | Значение: Пример 1.2. |
unit | Единица: Пример ФУНТ, ГРАММ. |
Единица
Перечисления | |
---|---|
UNIT_UNSPECIFIED | Единица не указана. |
MILLIGRAM | Миллиграмм. |
GRAM | Грамм. |
KILOGRAM | Килограмм. |
OUNCE | Унция. |
POUND | Фунт. |
ПокупкаВозвратИнформация
Возвращает информацию, связанную с заказом или конкретной позицией.
JSON-представление | |
---|---|
{ "isReturnable": boolean, "daysToReturn": integer, "policyUrl": string } |
Поля | |
---|---|
isReturnable | Если это правда, возврат разрешен. |
daysToReturn | Возврат разрешен в течение этого количества дней. |
policyUrl | Ссылка на политику возврата. |
Информация о выполнении покупки
Информация о выполнении, связанная с заказом на покупку или конкретной позицией.
JSON-представление | |
---|---|
{ "id": string, "fulfillmentType": enum ( |
Поля | |
---|---|
id | Уникальный идентификатор для этого варианта услуги. |
fulfillmentType | Обязательно: Тип выполнения. |
expectedFulfillmentTime | Окно, если указан временной диапазон, или ETA, если указано одно время. Ожидаемое время доставки или самовывоза. |
expectedPreparationTime | Окно, если указан временной диапазон, или ETA, если указано одно время. Ожидаемое время приготовления еды. Предпочтительно одноразовое. |
location | Место самовывоза или доставки. |
expireTime | Время, когда истекает срок действия этой возможности выполнения. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
price | Стоимость этого варианта. |
fulfillmentContact | Контакт пользователя для этого выполнения. |
shippingMethodName | Название способа доставки, выбранного пользователем. |
storeCode | StoreCode местоположения. Пример: Walmart — это продавец, а storeCode — это магазин Walmart, в котором произошло выполнение. https://support.google.com/business/answer/3370250?ref_topic=4596653 . |
pickupInfo | Дополнительная информация о том, как будет собираться заказ. Это поле применимо только в том случае, если тип выполнения — САМОВЫВОЗ. |
Тип
Тип исполнения.
Перечисления | |
---|---|
TYPE_UNSPECIFIED | Тип не указан. |
DELIVERY | Этот заказ будет доставлен. |
PICKUP | Этот заказ необходимо забрать. |
Время
Конструкция Time, представляющая время события, которое будет использоваться при отображении заказа пользователю.
JSON-представление | |
---|---|
{ "timeIso8601": string } |
Поля | |
---|---|
timeIso8601 | Представляет время события заказа, например время резервирования, время доставки и т. д. Это может быть продолжительность (время начала и окончания), просто дата, дата и т. д. См. https://en.wikipedia.org/wiki/ISO_8601 для всех поддерживаемых форматов. |
Информация о самовывозе
Подробности о том, как забрать заказ. Он включает такие сведения, как тип получения и дополнительные метаданные, прикрепленные к каждому типу, если таковые имеются.
JSON-представление | |
---|---|
{ "pickupType": enum ( |
Поля | |
---|---|
pickupType | Способ получения, например INSTORE, CURBSIDE и т. д. |
curbsideInfo | Подробности, относящиеся к информации на обочине. Если тип PickupType не «CURBSIDE», это поле будет игнорироваться. |
checkInInfo[] | Список различных методов, поддерживаемых партнером для поддержки регистрации. |
Тип звукоснимателя
Список поддерживаемых типов звукоснимателей.
Перечисления | |
---|---|
UNSPECIFIED | Тип получения не указан. |
INSTORE | Возьмите еду в ресторане. |
CURBSIDE | Припаркуйте автомобиль в специально отведенном месте возле ресторана, и кто-нибудь доставит туда еду. |
Информация о Curbside
Подробности о том, как будет облегчен порядок на тротуаре.
JSON-представление | |
---|---|
{ "curbsideFulfillmentType": enum ( |
Поля | |
---|---|
curbsideFulfillmentType | Партнерам нужна дополнительная информация, чтобы облегчить заказ самовывоза. В зависимости от того, какой тип выполнения выбран, от пользователя будут собраны соответствующие данные. |
userVehicle | Данные об автомобиле пользователя, разместившего заказ. |
Тип исполнения: CurbsideFulfillmentType
Возможные значения типов исполнения на обочине.
Перечисления | |
---|---|
UNSPECIFIED | Тип исполнения на обочине не указан. |
VEHICLE_DETAIL | Детали транспортного средства необходимы для облегчения посадки на обочине. |
Транспортное средство
Подробности об автомобиле
JSON-представление | |
---|---|
{
"make": string,
"model": string,
"licensePlate": string,
"colorName": string,
"image": {
object ( |
Поля | |
---|---|
make | Марка автомобиля (например, «Хонда»). Это отображается пользователю и должно быть локализовано. Необходимый. |
model | Модель автомобиля (например, «Гром»). Это отображается пользователю и должно быть локализовано. Необходимый. |
licensePlate | Номерной знак автомобиля (например, «1ABC234»). Необходимый. |
colorName | Название цвета автомобиля, например. черный Опционально. |
image | URL-адрес фотографии автомобиля. Фотография будет отображаться с размером примерно 256x256 пикселей. Должен быть в формате jpg или png. Необязательный. |
CheckInInfo
Метаданные, необходимые партнеру для поддержки метода возврата.
JSON-представление | |
---|---|
{
"checkInType": enum ( |
Поля | |
---|---|
checkInType | Метод, используемый для отправки инструкций по регистрации. |
Тип регистрации
Различные методы, используемые для отправки инструкций по регистрации.
Перечисления | |
---|---|
CHECK_IN_TYPE_UNSPECIFIED | Неизвестное значение. |
EMAIL | Информация о регистрации заезда будет отправлена по электронной почте. |
SMS | Информация о регистрации будет отправлена по SMS. |
Опция элемента
Представляет надстройки или подэлементы.
JSON-представление | |
---|---|
{ "id": string, "name": string, "prices": [ { object ( |
Поля | |
---|---|
id | Для опций, которые являются элементами, уникальный идентификатор элемента. |
name | Название опции. |
prices[] | Общая стоимость опциона. |
note | Примечание, связанное с опцией. |
quantity | Для опций, которые являются позициями, укажите количество. |
productId | Идентификатор продукта или предложения, связанный с этой опцией. |
subOptions[] | Чтобы определить другие вложенные дополнительные параметры. |
Подробности о продукте
Подробности о товаре.
JSON-представление | |
---|---|
{ "productId": string, "gtin": string, "plu": string, "productType": string, "productAttributes": { string: string, ... } } |
Поля | |
---|---|
productId | Идентификатор продукта или предложения, связанный с этой позицией. |
gtin | Глобальный торговый номер продукта. Полезно, если OfferId отсутствует в Merchant Center. Необязательный. |
plu | Коды поиска цен, обычно называемые кодами PLU, номерами PLU, PLU, кодами продукции или этикетками продукции, представляют собой систему номеров, которая однозначно идентифицирует оптовые продукты, продаваемые в продуктовых магазинах и супермаркетах. |
productType | Категория товара определяется продавцом. Например, «Домой > Бакалея > Молочные продукты и яйца > Молоко > Цельное молоко» |
productAttributes | Подробная информация о товаре, предоставленная продавцом, например { "аллерген": "арахис" }. Полезно, если OfferId отсутствует в Merchant Center. Необязательный. Объект, содержащий список пар |
Расширение резервированияитемекстенсион
Содержимое позиций для заказов на резервирование, таких как ресторан, стрижка и т. д.
JSON-представление | |
---|---|
{ "status": enum ( |
Поля | |
---|---|
status | Обязательно: Статус резервирования. |
userVisibleStatusLabel | Обязательно: видимая пользователем метка/строка статуса. Максимально допустимая длина — 50 символов. |
type | Тип бронирования. Может быть отключено, если ни один из вариантов типа не применим. |
reservationTime | Время, когда запланировано выполнение услуги/события. Это может быть диапазон времени, дата или точное время. |
userAcceptableTimeRange | Диапазон времени, приемлемый для пользователя. |
confirmationCode | Код подтверждения для этого бронирования. |
partySize | Количество людей. |
staffFacilitators[] | Персонал-посредники, которые будут обслуживать бронирование. Бывший. Парикмахер. |
location | Место проведения услуги/мероприятия. |
Статус резервирования
Статус бронирования.
Перечисления | |
---|---|
RESERVATION_STATUS_UNSPECIFIED | Неопределенный статус. |
PENDING | Бронирование находится на рассмотрении. |
CONFIRMED | Бронирование подтверждено. |
CANCELLED | Бронирование отменено пользователем. |
FULFILLED | Бронирование выполнено. |
CHANGE_REQUESTED | Требуется изменение бронирования |
REJECTED | Срок резервирования истек или отклонен интегратором. |
Тип бронирования
Тип бронирования.
Перечисления | |
---|---|
RESERVATION_TYPE_UNSPECIFIED | Неопределенный тип. |
RESTAURANT | Бронирование ресторана. |
HAIRDRESSER | Бронь в парикмахерскую. |
ПерсоналФасилитатор
Информация об обслуживающем лице.
JSON-представление | |
---|---|
{
"name": string,
"image": {
object ( |
Поля | |
---|---|
name | Имя координатора. Бывший. «Джон Смит» |
image | Образы исполнителя. |
Платежные данные
Платежные данные, относящиеся к заказу.
JSON-представление | |
---|---|
{ "paymentResult": { object ( |
Поля | |
---|---|
paymentResult | Результат платежа, который используется интегратором для завершения транзакции. Это поле будет заполнено Actions on Google, если процесс оформления заказа управляется Actions on Google. |
paymentInfo | Платежная информация о заказе, полезная для взаимодействия с пользователем. |
Результат платежа
Результат платежа, используемый интегратором для завершения транзакции.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
result поля объединения. Предоставляются либо платежные данные Google, либо способ оплаты продавца. result может быть только одним из следующих: | ||
googlePaymentData | Google предоставил данные о способе оплаты. Если ваша платежная система указана как платежная система, поддерживаемая Google, здесь: https://developers.google.com/pay/api/ Перейдите к своей платежной системе по ссылке, чтобы получить более подробную информацию. В противном случае обратитесь к следующей документации для получения подробной информации о полезной нагрузке. https://developers.google.com/pay/api/pay-data-cryptography | |
merchantPaymentMethodId | Продавец/Действие предоставил способ оплаты, выбранный пользователем. |
Информация об оплате
Платежная информация по выполняемому заказу. Этот прототип собирает информацию, полезную для взаимодействия с пользователем.
JSON-представление | |
---|---|
{ "paymentMethodDisplayInfo": { object ( |
Поля | |
---|---|
paymentMethodDisplayInfo | Отображаемая информация о способе оплаты, использованном для транзакции. |
paymentMethodProvenance | Происхождение способа оплаты, использованного для транзакции. Пользователь мог зарегистрировать один и тот же способ оплаты как в Google, так и в продавце. |
Метод оплатыDisplayInfo
Результат платежа, используемый интегратором для завершения транзакции.
JSON-представление | |
---|---|
{
"paymentType": enum ( |
Поля | |
---|---|
paymentType | Тип платежа. |
paymentMethodDisplayName | Видимое пользователю название способа оплаты. Например, VISA **** 1234 Проверка счета **** 5678 |
paymentMethodVoiceName | Название способа оплаты, которое будет сообщено пользователю на устройствах с голосовым помощником. Например, «виза заканчивается на один, два, три, четыре» или «текущий счет, заканчивающийся на пять, шесть, семь, восемь». Примечание. Это строка, оптимизированная для голосовой связи, которая будет использоваться вместо payMethodDisplayName для устройств голосового помощника. Если эта строка не задана, вместо этого пользователю будет сообщено имя платежаMethodDisplayName. |
Тип платежа
PaymentType указывает форму оплаты, используемую для метода оплаты, предоставляемого Продавцом. Действие также должно предоставить отображаемое имя способа оплаты.
Перечисления | |
---|---|
PAYMENT_TYPE_UNSPECIFIED | Неуказанный тип оплаты. |
PAYMENT_CARD | Кредитная/дебетовая или предоплаченная карта. |
BANK | Способ оплаты – банковский счет. |
LOYALTY_PROGRAM | Способ оплаты – программа лояльности. |
CASH | Способ оплаты – наличный. |
GIFT_CARD | Способ оплаты – подарочная карта. |
WALLET | Сторонний кошелек, например Paypal. |
Способ оплатыПроисхождение
Представляет происхождение метода оплаты, используемого для транзакции.
Перечисления | |
---|---|
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED | Происхождение не указано. |
PAYMENT_METHOD_PROVENANCE_GOOGLE | Провенанс — Google. |
PAYMENT_METHOD_PROVENANCE_MERCHANT | Провенанс - Купец. |
Повышение
Акции/предложения, добавленные в корзину.
JSON-представление | |
---|---|
{ "coupon": string } |
Поля | |
---|---|
coupon | Обязательно: код купона, примененный к этому предложению. |
Расширение заказа на покупку
Расширение заказа для вертикальной покупки. Эти свойства применимы ко всем позициям внутри заказа, если они не переопределены в позиции.
JSON-представление | |
---|---|
{ "status": enum ( |
Поля | |
---|---|
status | Обязательно: общий статус заказа. |
userVisibleStatusLabel | Видимая пользователем метка/строка статуса. Максимально допустимая длина — 50 символов. |
type | Обязательно: Тип покупки. |
returnsInfo | Информация о возврате заказа. |
fulfillmentInfo | Информация о выполнении заказа. |
purchaseLocationType | Место покупки (в магазине/онлайн) |
errors[] | Необязательно: ошибки, из-за которых этот заказ был отклонен. |
extension | Любые дополнительные поля, которыми обмениваются продавец и Google. Примечание. Использование этого расширения настоятельно не рекомендуется. В зависимости от варианта использования/обстоятельств рассмотрите одно из следующих действий: 1. Определите поля в PurchaseOrderExtension, если его можно использовать для других вариантов использования (т. е. для общих возможностей/функциональности). 2. Используйтевертикальное_расширение, если оно относится к индивидуальному, неуниверсальному варианту использования/функции. Объект, содержащий поля произвольного типа. Дополнительное поле |
ПокупкаМестоположениеТип
Тип места покупки.
Перечисления | |
---|---|
UNSPECIFIED_LOCATION | Неизвестное значение. |
ONLINE_PURCHASE | Все покупки совершаются онлайн. |
INSTORE_PURCHASE | Все покупки в магазине. |
Ошибка покупки
Ошибки, из-за которых заказ на поставку может быть отклонен.
JSON-представление | |
---|---|
{ "type": enum ( |
Поля | |
---|---|
type | Обязательно: здесь указывается подробная причина, по которой заказ отклоняется продавцом. |
description | Дополнительное описание ошибки. |
entityId | Идентификатор объекта, соответствующий ошибке. Пример: это может соответствовать LineItemId/ItemOptionId. |
updatedPrice | Актуально в случае ошибки типа PRICE_CHANGED/INCORRECT_PRICE. |
availableQuantity | Доступное количество сейчас. Применимо в случае AVAILABILITY_CHANGED. |
Тип ошибки
Возможные типы ошибок.
Перечисления | |
---|---|
ERROR_TYPE_UNSPECIFIED | Неизвестная ошибка |
NOT_FOUND | Объект не найден. Это может быть Item, FulfillmentOption, Promotion. Требуется идентификатор объекта. |
INVALID | Данные объекта недействительны. может быть Item, FulfillmentOption, Promotion. Требуется идентификатор объекта. |
AVAILABILITY_CHANGED | Товар недоступен или его недостаточно для выполнения запроса. Требуется идентификатор объекта. |
PRICE_CHANGED | Цена товара отличается от цены в сущности «Товар». Требуется идентификатор объекта и обновленная цена. |
INCORRECT_PRICE | Ошибки цен в сборах, итого. Требуется идентификатор объекта и обновленная цена. |
REQUIREMENTS_NOT_MET | Не соблюдены ограничения на прием заказа - минимальный размер корзины и т. д. |
TOO_LATE | Срок действия опции FulfillmentOption истек. |
NO_CAPACITY | Нет доступной мощности для обслуживания. Используйте этот код ошибки, если ни один из более мелких типов ошибок не применим. |
NO_COURIER_AVAILABLE | Курьера доставки найти не удалось. Детализированный тип ошибки, который можно отнести к категории NO_CAPACITY. |
INELIGIBLE | Пользователь не имеет права разместить заказ (внесен в черный список). |
OUT_OF_SERVICE_AREA | Невозможно доставить по запрошенному адресу из-за пограничных правил и т. д. |
CLOSED | Во время заказа ресторан закрыт. |
PROMO_NOT_APPLICABLE | Общий код ошибки, позволяющий отследить все случаи невозможности применения промокода, если ни один из приведенных ниже не подходит. Добавьте промокод в качестве идентификатора объекта. |
PROMO_NOT_RECOGNIZED | Код купона не был распознан партнером. Добавьте промокод в качестве идентификатора объекта. |
PROMO_EXPIRED | Не удалось подать заявку, поскольку срок действия акции истек. Добавьте промокод в качестве идентификатора объекта. |
PROMO_USER_INELIGIBLE | Текущий пользователь не имеет права на этот купон. Добавьте промокод в качестве идентификатора объекта. |
PROMO_ORDER_INELIGIBLE | Текущий заказ не имеет права на этот купон. Добавьте промокод в качестве идентификатора объекта. |
UNAVAILABLE_SLOT | Слот предварительного заказа недоступен. |
FAILED_PRECONDITION | Не соблюдены ограничения на прием заказа – минимальный размер корзины и т. д. |
PAYMENT_DECLINED | Неверный платеж. |
MERCHANT_UNREACHABLE | Торговец недоступен. Это помогает, когда партнер является агрегатором и не смог связаться с продавцом. |
ACCOUNT_LINKING_FAILED | Продавец попытался связать учетную запись Google пользователя с учетной записью в своей системе, но при этом столкнулся с ошибкой. |
Расширение заказа билета
Содержание заказа для заказов билетов, таких как кино, спорт и т. д.
JSON-представление | |
---|---|
{
"ticketEvent": {
object ( |
Поля | |
---|---|
ticketEvent | Событие применимо ко всем билетам отдельных позиций. |
БилетСобытие
Представляет одно событие.
JSON-представление | |
---|---|
{ "type": enum ( |
Поля | |
---|---|
type | Обязательно: тип билета на мероприятие, например, фильм, концерт. |
name | Обязательно: Название мероприятия. Например, если событие представляет собой фильм, это должно быть название фильма. |
description | Описание события. |
url | URL-адрес информации о мероприятии. |
location | Место, где происходит событие или находится организация. |
eventCharacters[] | Персонажи, связанные с этим событием. Это могут быть режиссеры или актеры киномероприятия, артисты концерта и т. д. |
startDate | Время начала. |
endDate | Время окончания. |
doorTime | Время входа, которое может отличаться от времени начала мероприятия. например, мероприятие начинается в 9 утра, но время входа — 8:30 утра. |
Тип
Тип мероприятия.
Перечисления | |
---|---|
EVENT_TYPE_UNKNOWN | Неизвестный тип события. |
MOVIE | Фильм. |
CONCERT | Концерт. |
SPORTS | Спорт. |
СобытиеПерсонаж
Один персонаж мероприятия, например, организатор, исполнитель и т. д.
JSON-представление | |
---|---|
{ "type": enum ( |
Поля | |
---|---|
type | Тип персонажа события, например актер или режиссер. |
name | Имя персонажа. |
image | Изображения персонажей. |
Тип
Тип персонажа.
Перечисления | |
---|---|
TYPE_UNKNOWN | Неизвестный тип. |
ACTOR | Актер. |
PERFORMER | Исполнитель. |
DIRECTOR | Директор. |
ORGANIZER | Организатор. |
Уведомление пользователя
Необязательное уведомление пользователя, которое будет отображаться как часть обновления заказа.
JSON-представление | |
---|---|
{ "title": string, "text": string } |
Поля | |
---|---|
title | Заголовок уведомления пользователя. Максимально допустимая длина — 30 символов. |
text | Содержание уведомления. Максимально допустимая длина — 100 символов. |
Следующая сцена
Представляет сцену, которая будет выполняться следующей.
JSON-представление | |
---|---|
{ "name": string } |
Поля | |
---|---|
name | Имя сцены, которая будет выполняться следующей. |
Сессия
Содержит информацию о текущем сеансе разговора.
JSON-представление | |
---|---|
{
"id": string,
"params": {
string: value,
...
},
"typeOverrides": [
{
object ( |
Поля | |
---|---|
id | Необходимый. Глобальный уникальный идентификатор текущего сеанса беседы. Это поле доступно только для чтения. |
params | Необходимый. Список всех параметров, собранных из форм и намерений во время сеанса. Ключ — это имя параметра. Определенные здесь параметры будут объединены с параметрами, уже определенными в сеансе. Параметры со значением null будут удалены из сеанса. См. документацию по хранилищу сеансов: https://developers.google.com/assistant/conversational/storage-session . Объект, содержащий список пар |
typeOverrides[] | Необязательный. Типы, ограниченные сеансом. Определяемые типы сеансов могут дополнять или заменять существующие типы. Имена типов должны быть уникальными. |
languageCode | Язык текущего сеанса разговора. Соответствует языковому коду IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt . Это может отличаться от языкового стандарта пользователя, если действие использует многоязычные функции. Например, когда установлен handler_response.expected.language_code, он меняет язык разговора для всех последующих ходов, что будет отражено в этом поле. |
ТипOverride
Представляет переопределение типа.
JSON-представление | |
---|---|
{ "name": string, "mode": enum ( |
Поля | |
---|---|
name | Необходимый. Имя типа, который нужно дополнить или переопределить. |
mode | Необходимый. Как этот тип следует объединить со значениями других типов. |
synonym | |
ТипOverrideMode
Типы изменений для типа сущности сеанса.
Перечисления | |
---|---|
TYPE_UNSPECIFIED | Не указан. Это значение никогда не следует использовать. |
TYPE_REPLACE | Определения типов в этом ответе заменят определения типов, определенные ранее. |
TYPE_MERGE | Определения типов в этом ответе будут объединены с определениями типов, которые были определены ранее. Новые определения типов перезапишут существующие определения типов. |
Тип синонима
Представляет тип с синонимами.
JSON-представление | |
---|---|
{
"entries": [
{
object ( |
Поля | |
---|---|
entries[] | Необходимый. Список записей для типа синонима. |
Вход
Представляет запись для типа синонима.
JSON-представление | |
---|---|
{
"name": string,
"synonyms": [
string
],
"display": {
object ( |
Поля | |
---|---|
name | Необходимый. Название записи (например, «велосипед»). Запись в этом поле должна быть включена в поле повторяющихся синонимов, чтобы ее можно было распознать как допустимое значение типа. |
synonyms[] | Необходимый. Список синонимов для записи (например, «велосипед», «велосипед»). |
display | Необязательный. Информация об элементе. |
ВводДисплей
JSON-представление | |
---|---|
{ "title": string, "description": string, "image": { object ( |
Поля | |
---|---|
title | Необходимый. Название предмета. При нажатии этот текст будет дословно отправлен обратно в беседу, как если бы пользователь его напечатал. Каждый заголовок должен быть уникальным среди множества элементов коллекции. |
description | Необязательный. Текст карточки. |
image | Необязательный. Изображение для отображения. |
footer | Необязательный. Текст нижнего колонтитула элемента коллекции просмотра, отображаемый под описанием. Одна строка текста, обрезанная многоточием. |
openUrl | URL-адрес документа, связанного с элементом карусели просмотра. Требуется для просмотра карусели. |
Пользователь
Представляет пользователя, отправляющего запрос к действию.
JSON-представление | |
---|---|
{ "locale": string, "params": { string: value, ... }, "accountLinkingStatus": enum ( |
Поля | |
---|---|
locale | Основная языковая настройка пользователя, делающего запрос. Соответствует языковому коду IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt . Однако вложенный тег сценария не включен. |
params | Необязательный. Список всех параметров, связанных с текущим пользователем. См. документацию по пользовательскому хранилищу: https://developers.google.com/assistant/conversational/storage-user . Объект, содержащий список пар |
accountLinkingStatus | Связана ли учетная запись пользователя с приложением. |
verificationStatus | Указывает статус проверки пользователя. |
lastSeenTime | Временная метка последнего взаимодействия с этим пользователем. Это поле будет опущено, если пользователь ранее не взаимодействовал с агентом. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
engagement | Вовлечение текущего пользователя, включая любые подписки на намерения. |
packageEntitlements[] | Права пользователя, связанные с пакетом Android, связанным с текущим действием. |
permissions[] | Содержит разрешения, предоставленные пользователем этому действию. |
Статус связывания учетной записи
Указывает, связал ли конечный пользователь свою учетную запись с этим приложением. См. документацию по связыванию аккаунтов: https://developers.google.com/assistant/identity .
Перечисления | |
---|---|
ACCOUNT_LINKING_STATUS_UNSPECIFIED | Неизвестный. |
NOT_LINKED | Пользователь не связал свою учетную запись с этим приложением. |
LINKED | Пользователь связал свою учетную запись с этим приложением. |
Статус UserVerificationStatus
Указывает, проверил ли Google пользователя. Статус VERIFIED означает, что вы можете сохранять данные между разговорами, используя поле параметров или привязывая учетную запись.
Перечисления | |
---|---|
USER_VERIFICATION_STATUS_UNSPECIFIED | Неизвестный. |
GUEST | Гость пользователь. |
VERIFIED | Проверенный пользователь. |
Обручение
Предоставляет дополнительную доступную только для чтения информацию о том, для каких механизмов взаимодействия зарегистрировался текущий пользователь. Например, может быть полезно знать, на какие намерения уже подписан пользователь, чтобы не просить его снова подписаться на то же намерение. т.е. эту информацию можно использовать для условного маршрута к сцене для настройки DailyUpdates или PushNotifications, только если пользователь еще не подписался. См. документацию по взаимодействию с пользователями: https://developers.google.com/assistant/engagement .
JSON-представление | |
---|---|
{ "pushNotificationIntents": [ { object ( |
Поля | |
---|---|
pushNotificationIntents[] | Содержит список намерений, для которых пользователь включил push-уведомление. |
dailyUpdateIntents[] | Содержит список намерений, для которых пользователь включил ежедневное обновление. |
НамерениеПодписка
Описывает существующую IntentSubscription.
JSON-представление | |
---|---|
{ "intent": string, "contentTitle": string } |
Поля | |
---|---|
intent | Имя намерения, на которое подписано. |
contentTitle | Краткое описание подписки. Он используется в качестве метки уведомления и когда Ассистент запрашивает разрешение у пользователя. |
Права на пакет
Список прав пользователя, связанных с именем пакета. См. документацию по транзакциям цифровых товаров: https://developers.google.com/assistant/transactions/digital/dev-guide-digital-non-consumables .
JSON-представление | |
---|---|
{
"packageName": string,
"entitlements": [
{
object ( |
Поля | |
---|---|
packageName | Имя пакета Android, указанное в пакете действий. |
entitlements[] | Права пользователя для данного пакета. |
Право
Определяет цифровые права пользователя.
JSON-представление | |
---|---|
{ "sku": string, "skuType": enum ( |
Поля | |
---|---|
sku | Артикул продукта. Название пакета для платного приложения, суффикс документа Finky для покупки в приложении и подписки в приложении. Сопоставьте getSku() в API биллинга Play InApp. См. документацию по выставлению счетов в Play InApp: https://developer.android.com/google/play/billing . |
skuType | Тип SKU. |
inAppDetails | Доступно только для покупок в приложении и подписок в приложении. |
АртикулТип
Перечисления | |
---|---|
SKU_TYPE_UNSPECIFIED | |
IN_APP | Покупка в приложении |
SUBSCRIPTION | Подписки |
APP | Платные приложения |
подписанные данные
JSON-представление | |
---|---|
{ "inAppPurchaseData": { object }, "inAppDataSignature": string } |
Поля | |
---|---|
inAppPurchaseData | Содержит все данные о покупках в приложении в формате JSON. Подробности см. в таблице 6 на странице https://developer.android.com/google/play/billing/billing_reference.html . |
inAppDataSignature | Соответствует IN_APP_DATA_SIGNATURE из метода getPurchases() в Play InApp Billing API. |
Разрешение
Возможные значения разрешения.
Перечисления | |
---|---|
PERMISSION_UNSPECIFIED | Неопределенное разрешение. |
DEVICE_PRECISE_LOCATION | Запросите точное местоположение пользователя, широту/долготу и форматированный адрес. |
DEVICE_COARSE_LOCATION | Запросите приблизительное местоположение пользователя, почтовый индекс, код города и страны. |
UPDATE | Запросите разрешения на отправку обновлений. См. https://developers.google.com/assistant/engagement/daily . |
Дом
Представляет структуру HomeGraph, к которой принадлежит целевое устройство пользователя.
JSON-представление | |
---|---|
{ "params": { string: value, ... } } |
Поля | |
---|---|
params | Необязательный. Список параметров, связанных со структурой HomeGraph, к которой принадлежит целевое устройство. См. документацию по домашнему хранилищу: https://developers.google.com/assistant/conversational/storage-home . Объект, содержащий список пар |
Устройство
Представляет устройство, которое пользователь использует для запроса действия.
JSON-представление | |
---|---|
{ "capabilities": [ enum ( |
Поля | |
---|---|
capabilities[] | Необходимый. возможности устройства, делающего запрос к Действию. |
currentLocation | Необязательный. Местоположение устройства пользователя. Обратите внимание: это поле заполняется только после того, как конечный пользователь предоставит разрешения на определение местоположения. См. сообщение о местоположении для получения более подробной информации о том, какие поля устанавливаются в зависимости от грубого или мелкозернистого разрешения. См. документацию по разрешениям: https://developers.google.com/assistant/conversational/permissions . |
timeZone | Необязательный. Часовой пояс, связанный с клиентским устройством. Его можно использовать для разрешения значений даты и времени. |
Возможность
Возможности, поддерживаемые поверхностью устройства на момент запроса.
Перечисления | |
---|---|
UNSPECIFIED | Неуказанные возможности устройства. |
SPEECH | Устройство может общаться с пользователем посредством преобразования текста в речь или SSML. |
RICH_RESPONSE | Устройство может отображать расширенные ответы, такие как карточки, списки и таблицы. |
LONG_FORM_AUDIO | Устройство может воспроизводить длинные аудиофайлы, такие как музыка и подкасты. |
INTERACTIVE_CANVAS | Устройство может отображать ответ на интерактивном холсте. |
WEB_LINK | Устройство может использовать веб-ссылки в расширенных ответах для открытия веб-браузера. |
HOME_STORAGE | Устройство может поддерживать сохранение и выборку данных из домашнего хранилища. |
Расположение
Контейнер, представляющий местоположение.
JSON-представление | |
---|---|
{ "coordinates": { object ( |
Поля | |
---|---|
coordinates | Геокоординаты. Требуется разрешение [DEVICE_PRECISE_LOCATION]. |
postalAddress | Почтовый адрес. Требуется разрешение [DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION]. Если предоставлено разрешение на грубое определение местоположения, ожидается, что будут заполнены только поля «postalCode» и «locality». Разрешение на точное местоположение заполнит дополнительные поля, такие как «administrativeArea» и «addressLines». |
Часовой пояс
Представляет часовой пояс из базы данных часовых поясов IANA .
JSON-представление | |
---|---|
{ "id": string, "version": string } |
Поля | |
---|---|
id | Часовой пояс IANA Часовой пояс базы данных, например «Америка/Нью_Йорк». |
version | Необязательный. Номер версии базы данных часовых поясов IANA, например «2019a». |
Контекст
Содержит контекстную информацию, когда пользователь выполняет запрос. Такой контекст включает, помимо прочего, информацию об активном сеансе мультимедиа, состоянии веб-приложения Canvas и т. д.
JSON-представление | |
---|---|
{ "media": { object ( |
Поля | |
---|---|
media | Содержит контекстную информацию о текущем активном сеансе мультимедиа. |
canvas | Содержит контекстную информацию о текущем холсте. |
Медиаконтекст
Содержит контекстную информацию о текущем активном сеансе мультимедиа.
JSON-представление | |
---|---|
{ "progress": string, "index": integer } |
Поля | |
---|---|
progress | Медиа-прогресс текущего активного медиа-файла. Длительность в секундах, содержащая до девяти дробных цифр, заканчивающаяся символом « |
index | Индекс текущего активного медиа-файла, отсчитываемый от 0, в списке медиа-файлов в медиа-ответе. |
ХолстКонтекст
Содержит контекстную информацию о текущем холсте.
JSON-представление | |
---|---|
{ "state": value } |
Поля | |
---|---|
state | Необязательный. Состояние устанавливается приложением 3P Interactive Canvas. Это устанавливается только для запроса, а не для ответа. Например, если это приложение с рецептами, состояние может быть значением struct: { "current_page": 5, "last_page": 3, } Максимальный размер — 50 КБ. |
Ожидал
Описывает ожидания от следующего хода диалога.
JSON-представление | |
---|---|
{ "speech": [ string ] } |
Поля | |
---|---|
speech[] | Список фраз, которые Действие ожидает от произнесения пользователя для искажения речи. Допускается до 1000 фраз. Примечание. Это поле имеет то же значение, что и ExpectedInput.speech_biasing_hints в API версии 2. |