Method: fulfill

RPC, который представляет собой API выполнения

HTTP-запрос

POST https://webhook_handler_service.googleapis.com/fulfill

URL-адрес использует синтаксис транскодирования gRPC .

Тело запроса

Тело запроса содержит данные со следующей структурой:

Представление JSON
{
  "handler": {
    object (Handler)
  },
  "intent": {
    object (Intent)
  },
  "scene": {
    object (Scene)
  },
  "session": {
    object (Session)
  },
  "user": {
    object (User)
  },
  "home": {
    object (Home)
  },
  "device": {
    object (Device)
  },
  "context": {
    object (Context)
  }
}
Поля
handler

object ( Handler )

Необходимый. Информация для выполнения о том, как обрабатывать запрос. Например, запрос, предназначенный для получения факта, может иметь обработчик с именем «getFact».

intent

object ( Intent )

Необходимый. Представляет последнее совпавшее намерение. См. https://developers.google.com/assistant/conversational/intents .

scene

object ( Scene )

Необязательный. Информация о текущей и следующей сцене при вызове функции. Будет заполнено, когда вызов выполнения будет сделан в рамках сцены. См. https://developers.google.com/assistant/conversational/scenes .

session

object ( Session )

Необходимый. Содержит данные сеанса, такие как идентификатор сеанса и параметры сеанса.

user

object ( User )

Необходимый. Пользователь, инициировавший беседу.

home

object ( Home )

Необязательный. Информация, относящаяся к структуре HomeGraph, к которой принадлежит целевое устройство. См. https://developers.google.com/actions/smarthome/concepts/homegraph .

device

object ( Device )

Необходимый. Информация об устройстве, которое пользователь использует для взаимодействия с действием.

context

object ( Context )

Необязательный. Информация о текущем контексте запроса. Включает, но не ограничивается информацией об активном мультимедийном сеансе или информации о холсте.

Тело ответа

В случае успеха тело ответа содержит данные со следующей структурой:

Представляет ответ, отправленный разработчиком в Actions on Google.

Представление JSON
{
  "prompt": {
    object (Prompt)
  },
  "scene": {
    object (Scene)
  },
  "session": {
    object (Session)
  },
  "user": {
    object (User)
  },
  "home": {
    object (Home)
  },
  "device": {
    object (Device)
  },
  "expected": {
    object (Expected)
  }
}
Поля
prompt

object ( Prompt )

Необязательный. Представляет подсказки, которые должны быть отправлены пользователю. Эти подсказки будут добавлены к ранее добавленным сообщениям, если они явно не будут перезаписаны.

scene

object ( Scene )

Необязательный. Представляет текущую и следующую сцену. Если установлен параметр Scene.next , среда выполнения немедленно перейдет к указанной сцене.

session

object ( Session )

Необязательный. Описывает данные для текущего сеанса, параметры сеанса могут быть созданы, обновлены или удалены при выполнении.

user

object ( User )

Необязательный. Используйте для указания пользовательских параметров для отправки обратно.

home

object ( Home )

Необязательный. Используется для указания параметров, связанных со структурой HomeGraph, к которой принадлежит целевое устройство. См. https://developers.google.com/actions/smarthome/concepts/homegraph .

device

object ( Device )

Необязательный. Используйте для перемещения между устройствами Assistant, к которым у пользователя есть доступ.

expected

object ( Expected )

Необязательный. Описывает ожидания для следующего хода диалога.

Обработчик

Представляет обработчик выполнения, который сопоставляет информацию о событии из Actions on Google с выполнением. Используйте имя обработчика, чтобы определить, какой код вы должны запустить при выполнении. Например, обработчик может использоваться для получения информации о заказе пользователя с именем обработчика, например «OrderLookup», в то время как другой может получать информацию о продукте из базы данных с именем обработчика, например «GetProductInfo».

Представление JSON
{
  "name": string
}
Поля
name

string

Необязательный. Имя обработчика.

Намерение

Представляет намерение. См. https://developers.google.com/assistant/conversational/intents .

Представление JSON
{
  "name": string,
  "params": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "query": string
}
Поля
name

string

Необходимый. Имя последнего совпавшего намерения.

params

map (key: string, value: object ( IntentParameterValue ))

Необходимый. Представляет параметры, определенные как часть сопоставления намерений. Это сопоставление имени идентифицированного параметра со значением параметра, идентифицированного из пользовательского ввода. Все идентифицированные параметры, определенные в совпадающем намерении, будут отображаться здесь.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

query

string

Необязательный. Печатный или устный ввод от конечного пользователя, соответствующий этому намерению. Это будет заполнено, когда намерение совпало, на основе пользовательского ввода.

IntentParameterValue

Представляет значение для параметра намерения. См. https://developers.google.com/assistant/conversational/types .

Представление JSON
{
  "original": string,
  "resolved": value
}
Поля
original

string

Необходимый. Исходное текстовое значение, извлеченное из высказывания пользователя.

resolved

value ( Value format)

Необходимый. Структурированное значение параметра, извлеченное из пользовательского ввода. Это будет заполнено только в том случае, если параметр определен в сопоставленном намерении, и значение параметра может быть идентифицировано во время сопоставления намерения.

Сцена

Представьте сцену. Сцены могут вызывать выполнение, добавлять подсказки и собирать значения слотов от пользователя. Сцены запускаются событиями или намерениями и могут запускать события и соответствовать намерениям для перехода к другим сценам.

Представление JSON
{
  "name": string,
  "slotFillingStatus": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  },
  "next": {
    object (NextScene)
  }
}
Поля
name

string

Необходимый. Название текущей сцены.

slotFillingStatus

enum ( SlotFillingStatus )

Необходимый. Текущий статус заполнения слота. Это поле доступно только для чтения.

slots

map (key: string, value: object ( Slot ))

Слоты, связанные с текущей сценой. Ответы обработчика не могут возвращать слоты, которые не были отправлены в запросе.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

next

object ( NextScene )

Необязательный. Информация о сцене, которая будет выполнена дальше.

Статус заполнения слота

Представляет текущий статус заполнения слота.

перечисления
UNSPECIFIED Резервное значение, когда поле использования не заполнено.
INITIALIZED Слоты были инициализированы, но заполнение слотов не началось.
COLLECTING Значения слотов собираются.
FINAL Все значения слотов являются окончательными и не могут быть изменены.

Слот

Представляет слот.

Представление JSON
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
Поля
mode

enum ( SlotMode )

Режим слота (обязательный или необязательный). Может быть установлен разработчиком.

status

enum ( SlotStatus )

Статус слота.

value

value ( Value format)

Стоимость слота. Изменение этого значения в ответе изменит значение заполнения слота.

updated

boolean

Указывает, было ли получено значение слота в последний ход. Это поле доступно только для чтения.

prompt

object ( Prompt )

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

СлотМоде

Представляет режим слота, то есть требуется он или нет.

перечисления
MODE_UNSPECIFIED Резервное значение, когда поле использования не заполнено.
OPTIONAL Указывает, что слот не требуется для завершения заполнения слота.
REQUIRED Указывает, что слот необходим для завершения заполнения слота.

Статус слота

Представляет состояние слота.

перечисления
SLOT_UNSPECIFIED Резервное значение, когда поле использования не заполнено.
EMPTY Указывает, что в слоте нет значений. Этот статус нельзя изменить с помощью ответа.
INVALID Указывает, что значение слота недопустимо. Этот статус можно установить через ответ.
FILLED Указывает, что слот имеет значение. Этот статус нельзя изменить с помощью ответа.

Быстрый

Представлять ответ пользователю. См. https://developers.google.com/assistant/conversational/prompts .

Представление JSON
{
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  },
  "orderUpdate": {
    object (OrderUpdate)
  }
}
Поля
override

boolean

Необязательный. Режим объединения этих сообщений с ранее определенными сообщениями. "true" очищает все ранее определенные сообщения (первое и последнее простые, содержание, ссылки предложений и холст) и добавляет сообщения, определенные в этом приглашении. «false» добавляет сообщения, определенные в этом приглашении, к сообщениям, определенным в предыдущих ответах. Если оставить для этого поля значение «false», это также позволяет добавлять к некоторым полям простые подсказки, подсказки «Предложения» и подсказки «Холст» (часть подсказки «Содержимое»). Сообщения Content и Link всегда перезаписываются, если они определены в подсказке. Значение по умолчанию — «ложь».

firstSimple

object ( Simple )

Необязательный. Первый голосовой и текстовый ответ.

content

object ( Content )

Необязательный. Содержимое, такое как карта, список или медиафайл для отображения пользователю.

lastSimple

object ( Simple )

Необязательный. Последний голосовой и текстовый ответ.

suggestions[]

object ( Suggestion )

Необязательный. Предложения для отображения пользователю, которые всегда будут отображаться в конце ответа. Если поле «переопределить» в содержащей подсказке равно «false», заголовки, определенные в этом поле, будут добавлены к заголовкам, определенным в любых ранее определенных подсказках с предложениями, а повторяющиеся значения будут удалены.

canvas

object ( Canvas )

Необязательный. Представляет ответ Interactive Canvas, отправляемый пользователю.

orderUpdate

object ( OrderUpdate )

Необязательное действие отвечает сообщением OrderUpdate после получения заказа во время потока транзакций. Получив это, Google записывает это обновление в заказ и в случае успеха отображает карточку квитанции вместе с TTS, отправленным на устройства отображения.

Простой

Представляет простое приглашение для отправки пользователю. См. https://developers.google.com/assistant/conversational/prompts-simple .

Представление JSON
{
  "speech": string,
  "text": string
}
Поля
speech

string

Необязательный. Представляет речь, которая будет произнесена пользователю. Может быть SSML или преобразование текста в речь. Если поле «переопределить» в содержащем приглашении равно «истине», речь, определенная в этом поле, заменяет речь предыдущего простого приглашения. См. https://developers.google.com/assistant/conversational/ssml .

text

string

Необязательный текст для отображения в пузыре чата. Если не задано, будет использоваться отображение речевого поля выше. Ограничено 640 символами. Если поле «переопределить» в содержащем приглашении равно «истине», текст, определенный в этом поле, заменяется текстом предыдущего простого приглашения.

Содержание

Объект-контейнер для расширенных подсказок или подсказок выбора.

Представление JSON
{

  // Union field content can be only one of the following:
  "card": {
    object (Card)
  },
  "image": {
    object (Image)
  },
  "table": {
    object (Table)
  },
  "media": {
    object (Media)
  },
  "collection": {
    object (Collection)
  },
  "list": {
    object (List)
  },
  "collectionBrowse": {
    object (CollectionBrowse)
  }
  // End of list of possible types for union field content.
}
Поля

content поля объединения.

content может быть только одним из следующих:

card

object ( Card )

Базовая карта.

image

object ( Image )

Изображение.

table

object ( Table )

Карточка стола.

media

object ( Media )

Ответ, указывающий набор медиа для воспроизведения.

collection

object ( Collection )

Карточка, представляющая набор вариантов для выбора.

list

object ( List )

Карточка со списком вариантов для выбора.

collectionBrowse

object ( CollectionBrowse )

Карточка, представляющая набор веб-страниц, которые нужно открыть.

Карта

Базовая карта для отображения некоторой информации, например изображения и/или текста. См. https://developers.google.com/assistant/conversational/prompts-rich#basic_card .

Представление JSON
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
Поля
title

string

Общее название карты. Необязательный.

subtitle

string

Необязательный.

text

string

Основной текст карты. Поддерживает ограниченный набор синтаксиса уценки для форматирования. Обязательно, если изображение отсутствует.

image

object ( Image )

Изображение героя для карты. Высота фиксирована на 192dp. Необязательный.

imageFill

enum ( ImageFill )

Как будет заполняться фон изображения. Необязательный.

button

object ( Link )

Кнопка с исходящей ссылкой. Необязательный.

Изображение

Изображение, отображаемое на карточке. См. https://developers.google.com/assistant/conversational/prompts-rich#image-cards .

Представление JSON
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
Поля
url

string

Исходный URL изображения. Изображения могут быть в формате JPG, PNG и GIF (анимированные и неанимированные). Например, https://www.agentx.com/logo.png . Необходимый.

alt

string

Текстовое описание изображения, которое будет использоваться для специальных возможностей, например, для программ чтения с экрана. Необходимый.

height

integer

Высота изображения в пикселях. Необязательный.

width

integer

Ширина изображения в пикселях. Необязательный.

Заполнение изображения

Возможные параметры отображения изображения, влияющие на представление изображения. Это следует использовать, когда соотношение сторон изображения не соответствует соотношению сторон контейнера изображения.

перечисления
UNSPECIFIED
GRAY Заполните промежутки между изображением и контейнером изображения серыми полосами.
WHITE Заполните промежутки между изображением и контейнером изображения белыми полосами.
CROPPED Изображение масштабируется таким образом, чтобы ширина и высота изображения соответствовали или превышали размеры контейнера. Это может обрезать верхнюю и нижнюю части изображения, если высота масштабированного изображения больше высоты контейнера, или обрезать левую и правую часть изображения, если ширина масштабированного изображения больше ширины контейнера. Это похоже на «Режим масштабирования» на широкоэкранном телевизоре при воспроизведении видео формата 4:3.

OpenUrl

Представление JSON
{
  "url": string,
  "hint": enum (UrlHint)
}
Поля
url

string

Поле URL-адреса, которое может быть любым из: - URL-адреса http/https для открытия приложения, связанного с приложением, или веб-страницы.

hint

enum ( UrlHint )

Указывает подсказку для типа URL.

URL-подсказка

Различные типы URL-подсказок.

перечисления
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 (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
Поля
title

string

Общее название таблицы. Необязательно, но необходимо установить, если установлены субтитры.

subtitle

string

Подзаголовок к таблице. Необязательный.

image

object ( Image )

Изображение, связанное с таблицей. Необязательный.

columns[]

object ( TableColumn )

Заголовки и выравнивание столбцов.

rows[]

object ( TableRow )

Данные строки таблицы. Первые 3 строки гарантированно будут показаны, но другие могут быть вырезаны на определенных поверхностях. Пожалуйста, проверьте с помощью симулятора, чтобы увидеть, какие строки будут отображаться для данной поверхности. На поверхностях, поддерживающих функцию WEB_BROWSER, вы можете указать пользователю веб-страницу с дополнительными данными.

button

object ( Link )

Кнопка.

ТаблицаСтолбец

Представление JSON
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
Поля
header

string

Текст заголовка столбца.

align

enum ( HorizontalAlignment )

Горизонтальное выравнивание контента относительно столбца. Если не указано, содержимое будет выровнено по переднему краю.

Горизонтальное выравнивание

Выравнивание содержимого внутри ячейки.

перечисления
UNSPECIFIED
LEADING Передний край ячейки. Это значение по умолчанию.
CENTER Содержимое выравнивается по центру столбца.
TRAILING Содержимое выравнивается по заднему краю столбца.

Строка таблицы

Описывает строку в таблице.

Представление JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
Поля
cells[]

object ( TableCell )

Ячейки в этом ряду. Первые 3 ячейки гарантированно будут показаны, но другие могут быть вырезаны на определенных поверхностях. Пожалуйста, проверьте с помощью симулятора, чтобы увидеть, какие ячейки будут отображаться для данной поверхности.

divider

boolean

Указывает, должен ли быть разделитель после каждой строки.

Ячейка Таблицы

Описывает ячейку в строке.

Представление JSON
{
  "text": string
}
Поля
text

string

Текстовое содержимое ячейки.

СМИ

Представляет один медиа-объект. Содержит информацию о носителе, такую ​​как название, описание, URL-адрес и т. д. См . https://developers.google.com/assistant/conversational/prompts-media .

Представление JSON
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ],
  "repeatMode": enum (RepeatMode),
  "firstMediaObjectIndex": integer
}
Поля
mediaType

enum ( MediaType )

startOffset

string ( Duration format)

Начальное смещение первого медиа-объекта.

Длительность в секундах, содержащая до девяти дробных цифр, заканчивающаяся символом ' s '. Пример: "3.5s" .

optionalMediaControls[]

enum ( OptionalMediaControls )

Дополнительные типы управления мультимедиа, которые может поддерживать этот сеанс ответа на мультимедиа. Если установлено, запрос будет сделан на 3p, когда произойдет определенное медиа-событие. Если не установлено, 3p все равно должен обрабатывать два типа управления по умолчанию: FINISHED и FAILED.

mediaObjects[]

object ( MediaObject )

Список медиа-объектов

repeatMode

enum ( RepeatMode )

Режим повтора для списка медиа-объектов.

firstMediaObjectIndex

integer

Отсчитываемый от 0 индекс первого медиаобъекта в медиаобъектах для воспроизведения. Если не указано, ноль или выход за пределы, воспроизведение начинается с первого медиа-объекта в mediaObjects.

Тип носителя

Тип носителя этого ответа.

перечисления
MEDIA_TYPE_UNSPECIFIED
AUDIO Аудиофайл.
MEDIA_STATUS_ACK Ответ на подтверждение отчета о состоянии носителя.

Необязательные элементы управления медиа

Дополнительные типы управления мультимедиа, которые может поддерживать ответ мультимедиа

перечисления
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Неуказанное значение
PAUSED Приостановленное мероприятие. Запускается, когда пользователь приостанавливает мультимедиа.
STOPPED Остановленное событие. Запускается, когда пользователь выходит из сеанса 3p во время воспроизведения мультимедиа.

МедиаОбъект

Представляет один медиа-объект

Представление JSON
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
Поля
name

string

Имя этого медиа-объекта.

description

string

Описание этого медиа-объекта.

url

string

URL-адрес, указывающий на медиаконтент. Файлы MP3 должны размещаться на веб-сервере и быть общедоступными через URL-адрес HTTPS. Прямая трансляция поддерживается только для формата MP3.

image

object ( MediaImage )

Изображение для показа с картой памяти.

МедиаИзображение

Представление JSON
{

  // Union field image can be only one of the following:
  "large": {
    object (Image)
  },
  "icon": {
    object (Image)
  }
  // End of list of possible types for union field image.
}
Поля

image поля Союза.

image может быть только одним из следующих:

large

object ( Image )

Крупное изображение, например обложка альбома и т.п.

icon

object ( Image )

Небольшой значок изображения, отображаемый справа от заголовка. Он изменен на 36x36 dp.

Режим Повтора

Типы режима повтора для списка медиа-объектов.

перечисления
REPEAT_MODE_UNSPECIFIED Эквивалент ВЫКЛ.
OFF Завершить медиасеанс в конце последнего медиаобъекта.
ALL Переход к началу первого медиа-объекта при достижении конца последнего медиа-объекта.

Коллекция

Карточка для представления набора вариантов для выбора. См. https://developers.google.com/assistant/conversational/prompts-selection#collection.

Представление JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Поля
title

string

Название сборника. Необязательный.

subtitle

string

Подзаголовок сборника. Необязательный.

items[]

object ( CollectionItem )

Список предметов. Он может иметь минимум 2 и максимум 10 .

imageFill

enum ( ImageFill )

Как будут заполняться фоновые изображения предметов коллекции. Необязательный.

КоллекцияЭлемент

Предмет в коллекции

Представление JSON
{
  "key": string
}
Поля
key

string

Необходимый. Ключ NLU, который соответствует имени ключа записи в связанном типе.

Список

Карточка для представления списка вариантов для выбора. См. https://developers.google.com/assistant/conversational/prompts-selection#list .

Представление JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
Поля
title

string

Название списка. Необязательный.

subtitle

string

Подзаголовок списка. Необязательный.

items[]

object ( ListItem )

Список предметов. Он может иметь минимум 2 и максимум 30 .

Пункт списка

Элемент в списке

Представление JSON
{
  "key": string
}
Поля
key

string

Необходимый. Ключ NLU, который соответствует имени ключа записи в связанном типе.

КоллекцияОбзор

Представляет набор веб-документов в виде набора элементов большой плитки. Элементы могут быть выбраны для запуска связанного с ними веб-документа в средстве веб-просмотра. См. https://developers.google.com/assistant/conversational/prompts-selection#collectionОбзор .

Представление JSON
{
  "items": [
    {
      object (Item)
    }
  ],
  "imageFill": enum (ImageFill)
}
Поля
items[]

object ( Item )

Список предметов. Он может иметь минимум 2 и максимум 10 .

imageFill

enum ( ImageFill )

Тип опции отображения изображения.

Элемент

Товар в коллекции.

Представление JSON
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (Image)
  },
  "openUriAction": {
    object (OpenUrl)
  }
}
Поля
title

string

Необходимый. Название предмета коллекции.

description

string

Описание предмета коллекции.

footer

string

Текст нижнего колонтитула для элемента коллекции, отображаемый под описанием. Одна строка текста, обрезанная многоточием.

image

object ( Image )

Изображение для предмета коллекции.

openUriAction

object ( OpenUrl )

Необходимый. URI для открытия, если элемент выбран.

Предположение

Предложения предоставляют пользователям устройств с дисплеем чипы предложений, когда Ассистент отображает подсказку. Используйте подсказки, чтобы намекнуть на реакцию пользователя, чтобы продолжить или повернуть разговор. При нажатии чип предложения возвращает отображаемый текст в разговор дословно, как если бы пользователь набрал его. См. https://developers.google.com/assistant/conversational/prompts#suggestions ,

Представление JSON
{
  "title": string
}
Поля
title

string

Необходимый. Текст, показанный в чипе предложения. При нажатии этот текст будет дословно отправлен обратно в беседу, как если бы пользователь набрал его. Каждое название должно быть уникальным среди набора фишек предложений. Максимум 25 символов

Холст

Представляет ответ Interactive Canvas, отправляемый пользователю. Это можно использовать в сочетании с полем «firstSimple» в содержащем приглашении, чтобы поговорить с пользователем в дополнение к отображению интерактивного ответа холста. Максимальный размер ответа составляет 50 000 байт. См. https://developers.google.com/assistant/interactivecanvas .

Представление JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "continuousMatchConfig": {
    object (ContinuousMatchConfig)
  }
}
Поля
url

string

URL-адрес веб-приложения интерактивного холста для загрузки. Если не задано, будет повторно использоваться URL-адрес текущего активного холста.

data[]

value ( Value format)

Необязательный. Данные JSON для передачи на веб-страницу иммерсивного опыта в качестве события. Если поле «переопределить» в содержащей подсказке равно «false», значения данных, определенные в этой подсказке Canvas, будут добавлены после значений данных, определенных в предыдущих подсказках Canvas.

suppressMic

boolean

Необязательный. Значение по умолчанию: ложь.

continuousMatchConfig

object ( ContinuousMatchConfig )

Конфигурация, используемая для запуска режима непрерывного совпадения.

Конфигурация Непрерывного Матча

Конфигурация, используемая для запуска режима непрерывного совпадения.

Представление JSON
{
  "expectedPhrases": [
    {
      object (ExpectedPhrase)
    }
  ],
  "durationSeconds": integer
}
Поля
expectedPhrases[]

object ( ExpectedPhrase )

Все возможные ожидаемые фразы во время этого непрерывного сеанса в режиме совпадения.

durationSeconds

integer

Продолжительность, в течение которой режим непрерывного совпадения остается включенным. Если указано, микрофон будет закрыт по истечении времени. Максимально допустимое значение – 180.

Ожидаемая фраза

Представление JSON
{
  "phrase": string,
  "alternativePhrases": [
    string
  ]
}
Поля
phrase

string

Фраза для сопоставления во время сеанса режима непрерывного сопоставления.

alternativePhrases[]

string

Некоторые фразы могут быть неправильно распознаны моделью речи даже при искажении речи. Это позволяет разработчикам указывать альтернативные триггеры для омофонов.

ЗаказатьОбновить

Обновление заказа.

Представление JSON
{
  "type": enum (Type),
  "order": {
    object (Order)
  },
  "updateMask": string,
  "userNotification": {
    object (UserNotification)
  },
  "reason": string
}
Поля
type
(deprecated)

enum ( Type )

Устарело: вместо этого используйте OrderUpdate.update_mask. Если type = SNAPSHOT, OrderUpdate.order должен быть всем заказом. Если type = ORDER_STATUS, это изменение статуса уровня заказа. Подбираются только order.last_update_time и этот вертикальный статус. Примечание: type.ORDER_STATUS поддерживает только обновления статуса PurcahaseOrderExtension, и мы не планируем расширять эту поддержку. Вместо этого мы рекомендуем использовать updateMask, так как он является более универсальным, расширяемым и может использоваться для всех вертикалей.

order

object ( Order )

updateMask

string ( FieldMask format)

Примечание. Существуют следующие соображения/рекомендации для следующих специальных полей: 1. order.last_update_time всегда будет обновляться как часть запроса на обновление. 2. order.create_time, order.google_order_id и order.merchant_order_id будут игнорироваться, если они предоставлены как часть updateMask.

Это список разделенных запятыми полных имен полей. Пример: "user.displayName,photo" .

userNotification

object ( UserNotification )

Если указано, отображает уведомление пользователю с указанным заголовком и текстом. Указание уведомления является предложением об уведомлении и не обязательно приведет к уведомлению.

reason

string

Причина изменения/обновления.

Тип

Устарело: вместо этого используйте OrderUpdate.update_mask. Разрешены обновления заказа.

перечисления
TYPE_UNSPECIFIED Тип не указан, не следует задавать его явно.
ORDER_STATUS Только обновить статус заказа.
SNAPSHOT Обновить снимок заказа.

Заказ

Сущность заказа. Примечание. 1. Все строки на всех уровнях должны содержать менее 1000 символов, если не указано иное. 2. Количество повторяющихся полей на всех уровнях должно быть меньше 50, если не указано иное. 3. Все временные метки на всех уровнях, если они указаны, должны быть действительными временными метками.

Представление JSON
{
  "googleOrderId": string,
  "merchantOrderId": string,
  "userVisibleOrderId": string,
  "userVisibleStateLabel": string,
  "buyerInfo": {
    object (UserInfo)
  },
  "image": {
    object (Image)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "transactionMerchant": {
    object (Merchant)
  },
  "contents": {
    object (Contents)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "paymentData": {
    object (PaymentData)
  },
  "termsOfServiceUrl": string,
  "note": string,
  "promotions": [
    {
      object (Promotion)
    }
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseOrderExtension)
  },
  "ticket": {
    object (TicketOrderExtension)
  }
  // End of list of possible types for union field verticals.
}
Поля
googleOrderId

string

Идентификатор заказа, назначенный Google.

merchantOrderId

string

Требуется: Продавец назначает внутренний идентификатор заказа. Этот идентификатор должен быть уникальным и требуется для последующих операций обновления заказа. Этот идентификатор может быть установлен равным предоставленному googleOrderId или любому другому уникальному значению. Обратите внимание, что идентификатор, представленный пользователям, — это userVisibleOrderId, который может быть другим, более удобным для пользователя значением. Максимально допустимая длина составляет 128 символов.

userVisibleOrderId

string

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

userVisibleStateLabel
(deprecated)

string

Устарело: вместо этого используйте статус OrderExtensions. Видимая пользователем метка для состояния этого заказа.

buyerInfo

object ( UserInfo )

Информация о покупателе.

image

object ( Image )

Изображение, связанное с заказом.

createTime

string ( Timestamp format)

Обязательно: Дата и время создания заказа.

Временная метка в формате RFC3339 UTC "Zulu" с разрешением в наносекунды и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

lastUpdateTime

string ( Timestamp format)

Дата и время последнего обновления заказа. Требуется для обновления заказа.

Временная метка в формате RFC3339 UTC "Zulu" с разрешением в наносекунды и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

transactionMerchant

object ( Merchant )

Продавец, который упростил оформление заказа. Это может отличаться от поставщика уровня позиции. Пример: заказ Expedia с позицией от ANA.

contents

object ( Contents )

Требуется: содержимое заказа, представляющее собой группу позиций.

priceAttributes[]

object ( PriceAttribute )

Цена, скидки, налоги и так далее.

followUpActions[]

object ( Action )

Последующие действия на уровне заказа.

paymentData

object ( PaymentData )

Данные, связанные с оплатой заказа.

termsOfServiceUrl

string

Ссылка на условия обслуживания, применимые к заказу/предлагаемому заказу.

note

string

Примечания к заказу.

promotions[]

object ( Promotion )

Все рекламные акции, связанные с этим заказом.

disclosures[]

object ( Disclosure )

Раскрытие информации, связанное с этим заказом.

vertical
(deprecated)

object

Устарело: вместо этого используйте вертикали. Эти свойства будут применяться ко всем позициям, если они не переопределены в какой-либо позиции. Эта вертикаль должна соответствовать типу вертикали уровня позиции. Возможные значения: google.actions.orders.v3.verticals.purchase.PurchaseOrderExtension google.actions.orders.v3.verticals.ticket.TicketOrderExtension

Объект, содержащий поля произвольного типа. Дополнительное поле "@type" содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" } .

Объединение полевых verticals . Эти свойства будут применяться ко всем позициям, если они не переопределены в какой-либо позиции. Эта вертикаль должна соответствовать типу вертикали уровня позиции. verticals могут быть только одним из следующих:
purchase

object ( PurchaseOrderExtension )

Заказ на покупку

ticket

object ( TicketOrderExtension )

Заказ билетов

Информация о пользователе

Информация о пользователе. Это используется для представления информации о пользователе, связанном с заказом.

Представление JSON
{
  "email": string,
  "firstName": string,
  "lastName": string,
  "displayName": string,
  "phoneNumbers": [
    {
      object (PhoneNumber)
    }
  ]
}
Поля
email

string

Электронная почта пользователя, например: janedoe@gmail.com .

firstName

string

Имя пользователя.

lastName

string

Фамилия пользователя.

displayName

string

Отображаемое имя пользователя может отличаться от имени или фамилии.

phoneNumbers[]

object ( PhoneNumber )

Номера телефонов пользователя.

Номер телефона

Стандартное представление номера телефона.

Представление JSON
{
  "e164PhoneNumber": string,
  "extension": string,
  "preferredDomesticCarrierCode": string
}
Поля
e164PhoneNumber

string

Номер телефона в формате E.164, как определено в Рекомендации Международного союза электросвязи (ITU) E.164. вики-ссылка: https://en.wikipedia.org/wiki/E.164

extension

string

Расширение не стандартизировано в рекомендациях ITU, за исключением того, что оно определяется как серия чисел с максимальной длиной 40 цифр. Здесь он определяется как строка, чтобы учесть возможное использование начального нуля в расширении (организации имеют полную свободу действий, поскольку стандарт не определен). Помимо цифр, здесь могут храниться некоторые другие символы набора номера, такие как "," (указывающие на ожидание). Например, в ххх-ххх-хххх доб. 123, "123" - расширение.

preferredDomesticCarrierCode

string

Код выбора оператора, который является предпочтительным при звонках на этот номер телефона внутри страны. Сюда также входят коды, которые необходимо набирать в некоторых странах при звонках со стационарных телефонов на мобильные и наоборот. Например, в Колумбии цифру «3» необходимо набирать перед самим телефонным номером при звонке с мобильного телефона на домашний стационарный телефон и наоборот. https://en.wikipedia.org/wiki/Телефонные_номера_в_Колумбии https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code

Обратите внимание, что это «предпочтительный» код, что означает, что другие коды также могут работать.

Изображение

Изображение, отображаемое на карточке.

Представление JSON
{
  "url": string,
  "accessibilityText": string,
  "height": integer,
  "width": integer
}
Поля
url

string

Исходный URL изображения. Изображения могут быть в формате JPG, PNG и GIF (анимированные и неанимированные). Например, https://www.agentx.com/logo.png . Необходимый.

accessibilityText

string

Текстовое описание изображения, которое будет использоваться для специальных возможностей, например, для программ чтения с экрана. Необходимый.

height

integer

Высота изображения в пикселях. Необязательный.

width

integer

Ширина изображения в пикселях. Необязательный.

Торговец

Продавец для корзины/заказа/позиции.

Представление JSON
{
  "id": string,
  "name": string,
  "image": {
    object (Image)
  },
  "phoneNumbers": [
    {
      object (PhoneNumber)
    }
  ],
  "address": {
    object (Location)
  }
}
Поля
id

string

Необязательный идентификатор, присвоенный продавцу, если таковой имеется.

name

string

Имя торговца похоже на "Панера Хлеб".

image

object ( Image )

Образ, связанный с торговцем.

phoneNumbers[]

object ( PhoneNumber )

Телефоны продавца.

address

object ( Location )

Адрес продавца.

Расположение

Контейнер, представляющий местоположение.

Представление JSON
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "name": string,
  "phoneNumber": string,
  "notes": string,
  "placeId": string
}
Поля
coordinates

object ( LatLng )

Географические координаты. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

Отображаемый адрес, например, "1600 Amphitheatre Pkwy, Mountain View, CA 94043". Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

zipCode

string

Почтовый индекс. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

Город. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

postalAddress

object ( PostalAddress )

Почтовый адрес. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

name

string

Название места.

phoneNumber

string

Номер телефона местоположения, например, контактный номер офиса или номер телефона места доставки.

notes

string

Заметки о месте.

placeId

string

placeId используется с Places API для получения сведений о месте. См. https://developers.google.com/places/web-service/place-id .

LatLng

Объект, представляющий пару широта/долгота. Это выражается в виде пары двойных чисел, представляющих градусы широты и градусы долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в нормированных диапазонах.

Представление JSON
{
  "latitude": number,
  "longitude": number
}
Поля
latitude

number

Широта в градусах. Он должен быть в диапазоне [-90,0, +90,0].

longitude

number

Долгота в градусах. Он должен быть в диапазоне [-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

integer

Версия схемы PostalAddress . Это должно быть установлено на 0, что является последней версией.

Все новые версии должны быть обратно совместимы со старыми версиями.

regionCode

string

Необходимый. Код региона CLDR страны/региона адреса. Это никогда не выводится, и пользователь должен убедиться, что значение правильное. Подробности см. на http://cldr.unicode.org/ и http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html . Пример: "CH" для Швейцарии.

languageCode

string

Необязательный. Код языка BCP-47 содержимого этого адреса (если известен). Часто это язык пользовательского интерфейса формы ввода или ожидается, что он будет соответствовать одному из языков, используемых в стране/регионе адреса, или их транслитерированным эквивалентам. Это может повлиять на форматирование в некоторых странах, но не критично для правильности данных и никогда не повлияет на проверку или другие операции, не связанные с форматированием.

Если это значение неизвестно, его следует опустить (вместо указания возможно неправильного значения по умолчанию).

Примеры: «ж-хант», «джа», «джа-латн», «эн».

postalCode

string

Необязательный. Почтовый индекс адреса. Не во всех странах используются или требуются почтовые индексы, но там, где они используются, они могут инициировать дополнительную проверку с другими частями адреса (например, проверка штата/почтового индекса в США).

sortingCode

string

Необязательный. Дополнительный код сортировки для конкретной страны. В большинстве регионов не используется. Там, где он используется, значение представляет собой либо строку, например «CEDEX», за которой может следовать число (например, «CEDEX 7»), либо просто число, представляющее «код сектора» (Ямайка), «указатель области доставки». (Малави) или "указатель почтового отделения" (например, Кот-д'Ивуар).

administrativeArea

string

Необязательный. Высшая административная единица, которая используется для почтовых адресов страны или региона. Например, это может быть штат, провинция, область или префектура. В частности, для Испании это провинция, а не автономное сообщество (например, «Барселона», а не «Каталония»). Многие страны не используют административный район в почтовых адресах. Например, в Швейцарии его следует оставить незаселенным.

locality

string

Необязательный. Обычно относится к городской части адреса. Примеры: город США, IT-коммуна, почтовый город Великобритании. В регионах мира, где населенные пункты плохо определены или плохо вписываются в эту структуру, оставьте поле населенного пункта пустым и используйте адресные строки.

sublocality

string

Необязательный. Подлокальность адреса. Например, это могут быть микрорайоны, районы, районы.

addressLines[]

string

Неструктурированные адресные строки, описывающие нижние уровни адреса.

Поскольку значения в addressLines не имеют информации о типе и иногда могут содержать несколько значений в одном поле (например, «Остин, Техас»), важно, чтобы порядок строк был четким. Порядок адресных строк должен быть «конвертным» для страны/региона адреса. В местах, где это может варьироваться (например, в Японии), address_language используется, чтобы сделать его явным (например, «ja» для упорядочения от большого к меньшему и «ja-Latn» или «en» для упорядочения от маленького к большому). Таким образом, наиболее конкретная строка адреса может быть выбрана в зависимости от языка.

Минимально допустимое структурное представление адреса состоит из кода региона, а вся остальная информация размещается в адресных строках. Такой адрес можно было бы очень приблизительно отформатировать без геокодирования, но никакие семантические рассуждения нельзя было бы сделать ни для одного из компонентов адреса, пока он не был хотя бы частично разрешен.

Создание адреса, содержащего только regionCode и addressLines, а затем геокодирование — рекомендуемый способ обработки полностью неструктурированных адресов (в отличие от угадывания, какие части адреса должны быть населенными пунктами или административными областями).

recipients[]

string

Необязательный. Получатель по адресу. Это поле может при определенных обстоятельствах содержать многострочную информацию. Например, он может содержать информацию об уходе.

organization

string

Необязательный. Название организации по адресу.

Содержание

Обертка для позиций.

Представление JSON
{
  "lineItems": [
    {
      object (LineItem)
    }
  ]
}
Поля
lineItems[]

object ( LineItem )

Список позиций заказа. Требуется хотя бы 1 элемент строки, а разрешено не более 50. Все позиции должны принадлежать одной вертикали.

Позиция

Одна позиция содержит одну вертикаль. В заказе или корзине может быть несколько позиций одной вертикали. Элементы подстроки/дополнения и т. д. должны быть определены в вертикальных прототипах в зависимости от вариантов их использования. Примечание. 1. Все строки на всех уровнях должны содержать менее 1000 символов, если не указано иное. 2. Количество повторяющихся полей на всех уровнях должно быть меньше 50, если не указано иное. 3. Все временные метки на всех уровнях, если они указаны, должны быть действительными временными метками.

Представление JSON
{
  "id": string,
  "name": string,
  "userVisibleStateLabel": string,
  "provider": {
    object (Merchant)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "recipients": [
    {
      object (UserInfo)
    }
  ],
  "image": {
    object (Image)
  },
  "description": string,
  "notes": [
    string
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseItemExtension)
  },
  "reservation": {
    object (ReservationItemExtension)
  }
  // End of list of possible types for union field verticals.
}
Поля
id

string

Требуется: Идентификатор позиции, назначенный продавцом. Используется для идентификации существующей позиции при применении частичных обновлений. Максимально допустимая длина составляет 64 символа.

name

string

Название позиции, отображаемое в квитанции. Максимально допустимая длина составляет 100 символов.

userVisibleStateLabel
(deprecated)

string

Устарело. Вместо этого используйте статус вертикального уровня. For example, for purchases, use PurchaseOrderExtension.status. User visible label for the state of this line item.

provider

object ( Merchant )

The provider of the particular line item, if different from the overall order. Example: Expedia Order with line item provider ANA.

priceAttributes[]

object ( PriceAttribute )

Line item level price and adjustments.

followUpActions[]

object ( Action )

Follow up actions at line item.

recipients[]

object ( UserInfo )

Line item level customers, this could be different from Order level buyer. Example: User X made restaurant reservation under name of user Y.

image

object ( Image )

Small image associated with this item, if any.

description

string

Line item description.

notes[]

string

Additional notes applicable to this particular line item, for example cancellation policy.

disclosures[]

object ( Disclosure )

Disclosures associated with this line item.

vertical
(deprecated)

object

Deprecated: Use verticals instead. Required: Semantic Contents of line item based on its type/vertical. Every vertical should include its own fulfillment details. Must be either one of the following values: google.actions.orders.v3.verticals.purchase.PurchaseItemExtension google.actions.orders.v3.verticals.reservation.ReservationItemExtension google.actions.orders.v3.verticals.ticket.TicketItemExtension

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" } .

Union field verticals . Required: Semantic Contents of line item based on its type/vertical. Every vertical should include its own fulfillment details. verticals can be only one of the following:
purchase

object ( PurchaseItemExtension )

Purchase orders like goods, food etc.

reservation

object ( ReservationItemExtension )

Reservation orders like restaurant, haircut etc.

PriceAttribute

Price attribute of an order or a line item.

Представление JSON
{
  "type": enum (Type),
  "name": string,
  "id": string,
  "state": enum (State),
  "taxIncluded": boolean,

  // Union field spec can be only one of the following:
  "amount": {
    object (Money)
  },
  "amountMillipercentage": integer
  // End of list of possible types for union field spec.
}
Поля
type

enum ( Type )

Required: Type of money attribute.

name

string

Required: User displayed string of the price attribute. This is sent and localized by merchant.

id

string

Optional: Id of the lineitem to which this price corresponds.

state

enum ( State )

Required: State of the price: Estimate vs Actual.

taxIncluded

boolean

Whether the price is tax included.

Union field spec . Represents either monetary amount or milli percentage. spec can be only one of the following:
amount

object ( Money )

Monetary amount.

amountMillipercentage
(deprecated)

integer

The percentage spec, to 1/1000th of a percent. Eg: 8.750% is represented as 8750, negative percentages represent percentage discounts. Deprecating this field. Can consider adding back when a solid usecase is required.

Тип

Represents the type of money.

перечисления
TYPE_UNSPECIFIED Type is unspecified, clients should not have to set this explicitly.
REGULAR Regular display price, before any discounts etc have been applied.
DISCOUNT To be subtracted from the subtotal.
TAX To be added to the subtotal.
DELIVERY To be added to the subtotal.
SUBTOTAL Subtotal before some fees may be added.
FEE Any additional Fee.
GRATUITY To be added to the subtotal.
TOTAL Displayed price of order or line item.

State

Represents the price state.

перечисления
STATE_UNSPECIFIED Not specified.
ESTIMATE The price is just an estimate but the final amount would be close to this amount. Example: In cases where the tax is not accurately known at the time of the transaction, the total would be an ESTIMATE amount.
ACTUAL Actual price that will be charged for user.

Money

Represents an amount of money with its currency type.

Представление JSON
{
  "currencyCode": string,
  "amountInMicros": string
}
Поля
currencyCode

string

The 3-letter currency code defined in ISO 4217.

amountInMicros

string ( int64 format)

Amount in micros. For example, this field should be set as 1990000 for $1.99.

Action

A follow-up action associated with the order or line item.

Представление JSON
{
  "type": enum (Type),
  "title": string,
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "actionMetadata": {
    object (ActionMetadata)
  }
}
Поля
type

enum ( Type )

Required: Type of action.

title

string

Title or label of the action, displayed to the user. Max allowed length is 100 chars.

openUrlAction

object ( OpenUrlAction )

Action to take.

actionMetadata

object ( ActionMetadata )

Metadata associated with an action.

Тип

Possible follow-up actions.

перечисления
TYPE_UNSPECIFIED Unspecified action.
VIEW_DETAILS View order details action.
MODIFY Modify order action.
CANCEL Cancel order action.
RETURN Return order action.
EXCHANGE Exchange order action.
EMAIL

Email action. EMAIL and CALL types are deprecated. openUrlAction.url can be used as a phone-number or an email.

CALL

Call action.

REORDER Reorder action.
REVIEW Review order action.
CUSTOMER_SERVICE Contact customer service.
FIX_ISSUE Direct to merchant site or app to fix the issue.
DIRECTION Direction link.

OpenUrlAction

Opens the given url.

Представление JSON
{
  "url": string,
  "androidApp": {
    object (AndroidApp)
  },
  "urlTypeHint": enum (UrlTypeHint)
}
Поля
url

string

The url field which could be any of: - http/https urls for opening an App-linked App or a webpage

androidApp

object ( AndroidApp )

Information about the Android App if the URL is expected to be fulfilled by an Android App.

urlTypeHint

enum ( UrlTypeHint )

Indicates a hint for the url type.

AndroidApp

Specification of the Android App for fulfillment restrictions

Представление JSON
{
  "packageName": string,
  "versions": [
    {
      object (VersionFilter)
    }
  ]
}
Поля
packageName

string

Package name Package name must be specified when specifing Android Fulfillment.

versions[]

object ( VersionFilter )

When multiple filters are specified, any filter match will trigger the app.

VersionFilter

VersionFilter should be included if specific version/s of the App are required.

Представление JSON
{
  "minVersion": integer,
  "maxVersion": integer
}
Поля
minVersion

integer

Min version code or 0, inclusive.

maxVersion

integer

Max version code, inclusive. The range considered is [minVersion:maxVersion]. A null range implies any version. Examples: To specify a single version use: [target_version:target_version]. To specify any version leave minVersion and maxVersion unspecified. To specify all versions until maxVersion, leave minVersion unspecified. To specify all versions from minVersion, leave maxVersion unspecified.

UrlTypeHint

Different types of url hints.

перечисления
URL_TYPE_HINT_UNSPECIFIED Unspecified
AMP_CONTENT URL that points directly to AMP content, or to a canonical URL which refers to AMP content via <link rel="amphtml">.

ActionMetadata

Related Metadata per action.

Представление JSON
{
  "expireTime": string
}
Поля
expireTime

string ( Timestamp format)

Time when this action will expire.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

Disclosure

A product, service or policy disclosure that may be presented to the user.

Представление JSON
{
  "title": string,
  "disclosureText": {
    object (DisclosureText)
  },
  "presentationOptions": {
    object (DisclosurePresentationOptions)
  }
}
Поля
title

string

Title of the disclosure. Example: "Safety information".

disclosureText

object ( DisclosureText )

Content of the disclosure. Weblinks are allowed.

presentationOptions

object ( DisclosurePresentationOptions )

Presentation options for the disclosure.

DisclosureText

Represents a plain text with web links.

Представление JSON
{
  "template": string,
  "textLinks": [
    {
      object (TextLink)
    }
  ]
}
Поля
template

string

Text to display, containing placeholders like "{0}" and "{1}" for each textlink that should be inserted. Example: "WARNING: This product can expose you to chemicals which are known to the State of California to cause cancer. For more information go to {0}." This disclosure text must not contain any promotional or ad-like content.

DisclosurePresentationOptions

Options for the presentation of a disclosure.

Представление JSON
{
  "presentationRequirement": enum (PresentationRequirement),
  "initiallyExpanded": boolean
}
Поля
presentationRequirement

enum ( PresentationRequirement )

Presentation requirement of the disclosure.

initiallyExpanded

boolean

Whether the content of the disclosure should be initially expanded. By default, it is initially collapsed.

PresentationRequirement

Requirement for the presentation of the disclosure.

перечисления
REQUIREMENT_UNSPECIFIED Unspecified requirement. Should not set this explicitly.
REQUIREMENT_OPTIONAL The disclosure is optional. It can be skipped if the device does not supporting showing disclosures.
REQUIREMENT_REQUIRED The disclosure is required. The conversation will be punt to phone if the device does not support showing disclosures.

PurchaseItemExtension

Line item contents of Purchase Vertical.

Представление JSON
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "productId": string,
  "quantity": integer,
  "unitMeasure": {
    object (MerchantUnitMeasure)
  },
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "itemOptions": [
    {
      object (ItemOption)
    }
  ],
  "productDetails": {
    object (ProductDetails)
  },
  "extension": {
    "@type": string,
    field1: ...,
    ...
  }
}
Поля
status

enum ( PurchaseStatus )

Required: Line item level status.

userVisibleStatusLabel

string

Required: User visible label/string for the status. Max allowed length is 50 chars.

type

enum ( PurchaseType )

Required: Type of purchase.

productId
(deprecated)

string

Product or offer id associated with this line item.

quantity

integer

Quantity of the item.

unitMeasure

object ( MerchantUnitMeasure )

Unit measure. Specifies the size of the item in chosen units. The size, together with the active price is used to determine the unit price.

returnsInfo

object ( PurchaseReturnsInfo )

Returns info for this line item. If unset, this line item inherits order level returns info.

fulfillmentInfo

object ( PurchaseFulfillmentInfo )

Fulfillment info for this line item. If unset, this line item inherits order level fulfillment info.

itemOptions[]

object ( ItemOption )

Additional add-ons or sub-items.

productDetails

object ( ProductDetails )

Details about the product.

extension
(deprecated)

object

Any extra fields exchanged between merchant and google. Note: Use of this extension is highly discouraged. Based on the use-case/circumstances, consider one of the following: 1. Define fields in the PurchaseItemExtension if it could be used for other use-cases (ie. generic capability/functionality). 2. Use vertical_extension if it is specific to a custom, non-generic use-case/feature.

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" } .

PurchaseStatus

Purchase status associated with a purchase order or a particular line item.

перечисления
PURCHASE_STATUS_UNSPECIFIED Status unspecified.
READY_FOR_PICKUP Ready for pick up.
SHIPPED Shipped.
DELIVERED Delivered.
OUT_OF_STOCK Out of stock.
IN_PREPARATION "IN_PREPARATION" could have different meaning in different context. For FOOD order it could be food is being prepared. For Retail, it could be an item is being packaged.
CREATED Order is created.
CONFIRMED The merchant confirmed the order.
REJECTED Merchant rejected the order or line item.
RETURNED The Item was returned by user.
CANCELLED The order or line item was cancelled by user.
CHANGE_REQUESTED User has requested a change to the order, and the integrator is processing this change. The order should be moved to another state after the request is handled.

PurchaseType

The purchase category.

перечисления
PURCHASE_TYPE_UNSPECIFIED Unknown value.
RETAIL It includes purchases like physical goods.
FOOD It includes food order purchase.
GROCERY Grocery purchase.
MOBILE_RECHARGE Prepaid mobile recharge purchase.

MerchantUnitMeasure

Merchant unit pricing measure.

Представление JSON
{
  "measure": number,
  "unit": enum (Unit)
}
Поля
measure

number

Value: Example 1.2.

unit

enum ( Unit )

Unit: Example POUND, GRAM.

Unit

перечисления
UNIT_UNSPECIFIED Unit unspecified.
MILLIGRAM Milligram.
GRAM Gram.
KILOGRAM Kilogram.
OUNCE Ounce.
POUND Pound.

PurchaseReturnsInfo

Returns info associated with an order or a particular line item.

Представление JSON
{
  "isReturnable": boolean,
  "daysToReturn": integer,
  "policyUrl": string
}
Поля
isReturnable

boolean

If true, return is allowed.

daysToReturn

integer

Return is allowed within that many days.

policyUrl

string

Link to the return policy.

PurchaseFulfillmentInfo

Fulfillment info associated with a purchase order or a particular line item.

Представление JSON
{
  "id": string,
  "fulfillmentType": enum (Type),
  "expectedFulfillmentTime": {
    object (Time)
  },
  "expectedPreparationTime": {
    object (Time)
  },
  "location": {
    object (Location)
  },
  "expireTime": string,
  "price": {
    object (PriceAttribute)
  },
  "fulfillmentContact": {
    object (UserInfo)
  },
  "shippingMethodName": string,
  "storeCode": string,
  "pickupInfo": {
    object (PickupInfo)
  }
}
Поля
id

string

Unique identifier for this service option.

fulfillmentType

enum ( Type )

Required: The type of fulfillment.

expectedFulfillmentTime

object ( Time )

A window if a time-range is specified or ETA if single time specified. Expected delivery or pickup time.

expectedPreparationTime

object ( Time )

A window if a time-range is specified or ETA if single time specified. Expected time to prepare the food. Single-time preferred.

location

object ( Location )

Pickup or delivery location.

expireTime

string ( Timestamp format)

Time at which this fulfillment option expires.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

price

object ( PriceAttribute )

Cost of this option.

fulfillmentContact

object ( UserInfo )

User contact for this fulfillment.

shippingMethodName

string

Name of the shipping method selected by the user.

storeCode

string

StoreCode of the location. Example: Walmart is the merchant and storeCode is the walmart store where fulfillment happened. https://support.google.com/business/answer/3370250?ref_topic=4596653 .

pickupInfo

object ( PickupInfo )

Additional information regarding how order would be picked. This field would only be applicable when fulfillment type is PICKUP.

Тип

Fulfillment type.

перечисления
TYPE_UNSPECIFIED Type unspecified.
DELIVERY This order will be delivered.
PICKUP This order needs to be picked up.

Time

Time construct to represent time of an event to use when displaying an order to the user.

Представление JSON
{
  "timeIso8601": string
}
Поля
timeIso8601

string

Represents an order-event time like reservation time, delivery time and so on. Could be a duration (start & end time), just the date, date time etc. Refer https://en.wikipedia.org/wiki/ISO_8601 for all supported formats.

PickupInfo

Details about how an order is picked up. It includes details such as pickup type and additional metadata attached with each type, if any.

Представление JSON
{
  "pickupType": enum (PickupType),
  "curbsideInfo": {
    object (CurbsideInfo)
  },
  "checkInInfo": [
    {
      object (CheckInInfo)
    }
  ]
}
Поля
pickupType

enum ( PickupType )

Pick up method, such as INSTORE, CURBSIDE etc.

curbsideInfo

object ( CurbsideInfo )

Details specific to the curbside information. If pickupType is not "CURBSIDE", this field would be ignored.

checkInInfo[]

object ( CheckInInfo )

List of various methods supported by partner to support check-in.

PickupType

List of supported pickup types.

перечисления
UNSPECIFIED Pick up type unspecified.
INSTORE Pick up food inside the restaurant.
CURBSIDE Park vehicle in a designated spot outside the restaurant and someone would deliver food there.

CurbsideInfo

Details about how curbside order would be facilitated.

Представление JSON
{
  "curbsideFulfillmentType": enum (CurbsideFulfillmentType),
  "userVehicle": {
    object (Vehicle)
  }
}
Поля
curbsideFulfillmentType

enum ( CurbsideFulfillmentType )

Partners need additional information to facilitate curbside pickup orders. Depending upon what fulfillment type is chosen, corresponding details would be collected from the user.

userVehicle

object ( Vehicle )

Vehicle details of the user placing the order.

CurbsideFulfillmentType

Possible values of curbside fulfillment types.

перечисления
UNSPECIFIED Curbside fulfillment type unspecified.
VEHICLE_DETAIL Vehicle detail required to facilitate curbside pickup.

Vehicle

Details about a vehicle

Представление JSON
{
  "make": string,
  "model": string,
  "licensePlate": string,
  "colorName": string,
  "image": {
    object (Image)
  }
}
Поля
make

string

Vehicle make (eg "Honda"). This is displayed to the user and must be localized. Необходимый.

model

string

Vehicle model (eg "Grom"). This is displayed to the user and must be localized. Необходимый.

licensePlate

string

Vehicle license plate number (eg "1ABC234"). Необходимый.

colorName

string

Vehicle color name, eg. black Optional.

image

object ( Image )

URL to a photo of the vehicle. The photo will be displayed at approximately 256x256px. Must be a jpg or png. Необязательный.

CheckInInfo

Metadata required by partner to support a checkin method.

Представление JSON
{
  "checkInType": enum (CheckInType)
}
Поля
checkInType

enum ( CheckInType )

Method used to send checkin instructions.

CheckInType

Various methods used to send checkin instructions.

перечисления
CHECK_IN_TYPE_UNSPECIFIED Unknown value.
EMAIL CheckIn information would be sent by email.
SMS CheckIn information would be sent by SMS.

ItemOption

Represents add-ons or sub-items.

Представление JSON
{
  "id": string,
  "name": string,
  "prices": [
    {
      object (PriceAttribute)
    }
  ],
  "note": string,
  "quantity": integer,
  "productId": string,
  "subOptions": [
    {
      object (ItemOption)
    }
  ]
}
Поля
id

string

For options that are items, unique item id.

name

string

Option name.

prices[]

object ( PriceAttribute )

Option total price.

note

string

Note related to the option.

quantity

integer

For options that are items, quantity.

productId

string

Product or offer id associated with this option.

subOptions[]

object ( ItemOption )

To define other nested sub options.

ProductDetails

Details about the product.

Представление JSON
{
  "productId": string,
  "gtin": string,
  "plu": string,
  "productType": string,
  "productAttributes": {
    string: string,
    ...
  }
}
Поля
productId

string

Product or offer id associated with this line item.

gtin

string

Global Trade Item Number of the product. Useful if offerId is not present in Merchant Center. Необязательный.

plu

string

Price look-up codes, commonly called PLU codes, PLU numbers, PLUs, produce codes, or produce labels, are a system of numbers that uniquely identify bulk produce sold in grocery stores and supermarkets.

productType

string

Product category defined by the merchant. Eg "Home > Grocery > Dairy & Eggs > Milk > Whole Milk"

productAttributes

map (key: string, value: string)

Merchant-provided details about the product, eg { "allergen": "peanut" }. Useful if offerId is not present in Merchant Center. Необязательный.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

ReservationItemExtension

Line item contents for reservation orders like restaurant, haircut etc.

Представление JSON
{
  "status": enum (ReservationStatus),
  "userVisibleStatusLabel": string,
  "type": enum (ReservationType),
  "reservationTime": {
    object (Time)
  },
  "userAcceptableTimeRange": {
    object (Time)
  },
  "confirmationCode": string,
  "partySize": integer,
  "staffFacilitators": [
    {
      object (StaffFacilitator)
    }
  ],
  "location": {
    object (Location)
  }
}
Поля
status

enum ( ReservationStatus )

Required: Reservation status.

userVisibleStatusLabel

string

Required: User visible label/string for the status. Max allowed length is 50 chars.

type

enum ( ReservationType )

Type of reservation. May be unset if none of the type options is applicable.

reservationTime

object ( Time )

Time when the service/event is scheduled to occur. Can be a time range, a date, or an exact date time.

userAcceptableTimeRange

object ( Time )

Time range that is acceptable to the user.

confirmationCode

string

Confirmation code for this reservation.

partySize

integer

The number of people.

staffFacilitators[]

object ( StaffFacilitator )

Staff facilitators who will be servicing the reservation. Ex. The hairstylist.

location

object ( Location )

Location of the service/event.

ReservationStatus

Status of reservation.

перечисления
RESERVATION_STATUS_UNSPECIFIED Unspecified status.
PENDING The reservation is pending.
CONFIRMED The reservation is confirmed.
CANCELLED The reservation is cancelled by the user.
FULFILLED The reservation is fulfilled.
CHANGE_REQUESTED Change of reservation is requested
REJECTED Reservation either expired or rejected by integrator.

ReservationType

Type of reservation.

перечисления
RESERVATION_TYPE_UNSPECIFIED Unspecified type.
RESTAURANT Reservation for restaurant.
HAIRDRESSER Reservation for hairdresser.

StaffFacilitator

Information about service person.

Представление JSON
{
  "name": string,
  "image": {
    object (Image)
  }
}
Поля
name

string

The staff facilitator's name. Ex. "John Smith"

image

object ( Image )

Performer's images.

PaymentData

Payment data related to an order.

Представление JSON
{
  "paymentResult": {
    object (PaymentResult)
  },
  "paymentInfo": {
    object (PaymentInfo)
  }
}
Поля
paymentResult

object ( PaymentResult )

Payment result that's used by integrator for completing a transaction. This field will be populated by Actions on Google if the checkout experience is managed by Actions-on-Google.

paymentInfo

object ( PaymentInfo )

Payment information regarding the order that's useful for user facing interaction.

PaymentResult

Payment result used by integrator for completing a transaction.

Представление JSON
{

  // Union field result can be only one of the following:
  "googlePaymentData": string,
  "merchantPaymentMethodId": string
  // End of list of possible types for union field result.
}
Поля
Union field result . Either google payment data or merchant payment method is provided. result can be only one of the following:
googlePaymentData

string

Google provided payment method data. If your payment processor is listed as Google supported payment processor here: https://developers.google.com/pay/api/ Navigate to your payment processor through the link to find out more details. Otherwise, refer to following documentation for payload details. https://developers.google.com/pay/api/payment-data-cryptography

merchantPaymentMethodId

string

Merchant/Action provided payment method chosen by user.

PaymentInfo

Payment information regarding the order being made. This proto captures information that's useful for user facing interaction.

Представление JSON
{
  "paymentMethodDisplayInfo": {
    object (PaymentMethodDisplayInfo)
  },
  "paymentMethodProvenance": enum (PaymentMethodProvenance)
}
Поля
paymentMethodDisplayInfo

object ( PaymentMethodDisplayInfo )

The display info of the payment method used for the transaction.

paymentMethodProvenance

enum ( PaymentMethodProvenance )

Provenance of the payment method used for the transaction. User may have registered the same payment method with both google and merchant.

PaymentMethodDisplayInfo

Payment result used by integrator for completing a transaction.

Представление JSON
{
  "paymentType": enum (PaymentType),
  "paymentMethodDisplayName": string,
  "paymentMethodVoiceName": string
}
Поля
paymentType

enum ( PaymentType )

The type of the payment.

paymentMethodDisplayName

string

User visible name of the payment method. For example, VISA **** 1234 Checking acct **** 5678

paymentMethodVoiceName

string

Payment method name to be spoken out to the user for voice-only assistant devices. For example, "visa ending in one two three four", or "checking account ending in five six seven eight". Note: This is the voice-optimized string to be used instead of the paymentMethodDisplayName for voice-only assistant devices. If this string is not set, paymentMethodDisplayName will instead be spoken out to the user.

PaymentType

PaymentType indicates the form of payment used for Merchant-provided payment method. Action must also provide a display name for the payment method.

перечисления
PAYMENT_TYPE_UNSPECIFIED Unspecified payment type.
PAYMENT_CARD A credit/debit or prepaid card.
BANK Payment method is a bank account.
LOYALTY_PROGRAM Payment method is a loyalty program.
CASH Payment method is cash.
GIFT_CARD Payment method is a gift card.
WALLET Third party wallet, ie Paypal

PaymentMethodProvenance

Represents the Payment method provenance used for the transaction.

перечисления
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED Provenance is Unspecified.
PAYMENT_METHOD_PROVENANCE_GOOGLE Provenance is Google.
PAYMENT_METHOD_PROVENANCE_MERCHANT Provenance is Merchant.

Promotion

Promotions/Offers that were added to the cart.

Представление JSON
{
  "coupon": string
}
Поля
coupon

string

Required: Coupon code applied to this offer.

PurchaseOrderExtension

Order extension for purchase vertical. These properties are applicable to all line items inside order, unless overridden in a line item.

Представление JSON
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "purchaseLocationType": enum (PurchaseLocationType),
  "errors": [
    {
      object (PurchaseError)
    }
  ],
  "extension": {
    "@type": string,
    field1: ...,
    ...
  }
}
Поля
status

enum ( PurchaseStatus )

Required: Overall Status for the order.

userVisibleStatusLabel

string

User visible label/string for the status. Max allowed length is 50 chars.

type

enum ( PurchaseType )

Required: Type of purchase.

returnsInfo

object ( PurchaseReturnsInfo )

Return info for the order.

fulfillmentInfo

object ( PurchaseFulfillmentInfo )

Fulfillment info for the order.

purchaseLocationType

enum ( PurchaseLocationType )

Location of the purchase (in-store / online)

errors[]

object ( PurchaseError )

Optional: Errors because of which this order was rejected.

extension
(deprecated)

object

Any extra fields exchanged between merchant and google. Note: Use of this extension is highly discouraged. Based on the use-case/circumstances, consider one of the following: 1. Define fields in the PurchaseOrderExtension if it could be used for other use-cases (ie. generic capability/functionality). 2. Use vertical_extension if it is specific to a custom, non-generic use-case/feature.

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" } .

PurchaseLocationType

Location type of the purchase.

перечисления
UNSPECIFIED_LOCATION Unknown value.
ONLINE_PURCHASE All purchases bought online.
INSTORE_PURCHASE All instore purchases.

PurchaseError

Errors that a purchase order can be rejected for.

Представление JSON
{
  "type": enum (ErrorType),
  "description": string,
  "entityId": string,
  "updatedPrice": {
    object (PriceAttribute)
  },
  "availableQuantity": integer
}
Поля
type

enum ( ErrorType )

Required: This represents the granular reason why an order gets rejected by the merchant.

description

string

Additional error description.

entityId

string

Entity Id that corresponds to the error. Example this can correspond to LineItemId / ItemOptionId.

updatedPrice

object ( PriceAttribute )

Relevant in case of PRICE_CHANGED / INCORRECT_PRICE error type.

availableQuantity

integer

Available quantity now. Applicable in case of AVAILABILITY_CHANGED.

ErrorType

Possible error types.

перечисления
ERROR_TYPE_UNSPECIFIED Unknown error
NOT_FOUND Entity not found, could be Item, FulfillmentOption, Promotion. Entity ID required.
INVALID Entity data not valid. could be Item, FulfillmentOption, Promotion. Entity ID required.
AVAILABILITY_CHANGED Item unavailable, or insufficient items to fulfill the request. Entity ID required.
PRICE_CHANGED Item price different from price in Item entity. Entity ID and updated price required.
INCORRECT_PRICE Price errors in Fees, Total. Entity ID and updated price required.
REQUIREMENTS_NOT_MET Constraints for accepting order not met - minimum basket size etc.,.
TOO_LATE FulfillmentOption expired.
NO_CAPACITY No available service capacity. Use this error code if none of the more fine grained error types are applicable.
NO_COURIER_AVAILABLE No delivery courier could be found. A fine-grained error type that may be categorized as NO_CAPACITY.
INELIGIBLE User in-eligible to place order (blacklisted).
OUT_OF_SERVICE_AREA Unable to deliver to requested address due to border rules etc.
CLOSED Restaurant is closed for business at ordering time.
PROMO_NOT_APPLICABLE Generic error code to catch all cases of failure to apply promo code, if none of the ones below fit. Add promo code as Entity Id.
PROMO_NOT_RECOGNIZED The coupon code was not recognized by partner. Add promo code as Entity Id.
PROMO_EXPIRED Could not apply as promotion expired. Add promo code as Entity Id.
PROMO_USER_INELIGIBLE The current user is not eligible for this coupon. Add promo code as Entity Id.
PROMO_ORDER_INELIGIBLE The current order is not eligible for this coupon. Add promo code as Entity Id.
UNAVAILABLE_SLOT The order ahead slot is unavailable.
FAILED_PRECONDITION Constraints for accepting order not met - minimum basket size etc.
PAYMENT_DECLINED Invalid payment.
MERCHANT_UNREACHABLE Merchant is not reachable. This helps when a partner is an aggregator and could not reach merchant.
ACCOUNT_LINKING_FAILED Merchant tried to link user google account to an account in their system but encountered an error while doing so.

TicketOrderExtension

Order contents for ticket orders like movie, sports etc.

Представление JSON
{
  "ticketEvent": {
    object (TicketEvent)
  }
}
Поля
ticketEvent

object ( TicketEvent )

The event applied to all line item tickets.

TicketEvent

Represents a single event.

Представление JSON
{
  "type": enum (Type),
  "name": string,
  "description": string,
  "url": string,
  "location": {
    object (Location)
  },
  "eventCharacters": [
    {
      object (EventCharacter)
    }
  ],
  "startDate": {
    object (Time)
  },
  "endDate": {
    object (Time)
  },
  "doorTime": {
    object (Time)
  }
}
Поля
type

enum ( Type )

Required: Type of the ticket event, eg movie, concert.

name

string

Required: Name of the event. For example, if the event is a movie, this should be the movie name.

description

string

Description of the event.

url

string

Url to the event info.

location

object ( Location )

The location where the event is happening, or an organization is located.

eventCharacters[]

object ( EventCharacter )

The characters related to this event. It can be directors or actors of a movie event, or performers of a concert, etc.

startDate

object ( Time )

Start time.

endDate

object ( Time )

End time.

doorTime

object ( Time )

Entry time, which might be different from the event start time. eg the event starts at 9am, but entry time is 8:30am.

Тип

The type of the event.

перечисления
EVENT_TYPE_UNKNOWN Unknown event type.
MOVIE Movie.
CONCERT Concert.
SPORTS Sports.

EventCharacter

One event character, eg organizer, performer etc.

Представление JSON
{
  "type": enum (Type),
  "name": string,
  "image": {
    object (Image)
  }
}
Поля
type

enum ( Type )

Type of the event character, eg actor or director.

name

string

Name of the character.

image

object ( Image )

Character's images.

Тип

Character type.

перечисления
TYPE_UNKNOWN Unknown type.
ACTOR Actor.
PERFORMER Performer.
DIRECTOR Director.
ORGANIZER Organizer.

UserNotification

Optional user notification to display as part of the Order update.

Представление JSON
{
  "title": string,
  "text": string
}
Поля
title

string

The title for the user notification. Max allowed length is 30 chars.

text

string

The contents of the notification. Max allowed length is 100 chars.

NextScene

Represents the scene to be executed next.

Представление JSON
{
  "name": string
}
Поля
name

string

Name of the scene to be executed next.

Session

Contains information on the current conversation session

Представление JSON
{
  "id": string,
  "params": {
    string: value,
    ...
  },
  "typeOverrides": [
    {
      object (TypeOverride)
    }
  ],
  "languageCode": string
}
Поля
id

string

Необходимый. Globally unique ID of the current conversation session. This field is read-only.

params

map (key: string, value: value ( Value format))

Необходимый. List of all parameters collected from forms and intents during the session. Key is the parameter name. Parameters defined here will be merged with parameters already defined in the session. Parameters with a null value will be removed from the session. See session storage documentation: https://developers.google.com/assistant/conversational/storage-session .

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

typeOverrides[]

object ( TypeOverride )

Необязательный. Types scoped to the session. Session type defines can supplement or replace existing types. Type names must be unique.

languageCode

string

Language of the current conversation session. Follows IETF BCP-47 language code http://www.rfc-editor.org/rfc/bcp/bcp47.txt . This could be different from user locale if the action uses multi-language features. For example, when handler_response.expected.language_code is set, it changes the conversation language for all following turns, which will be reflected in this field.

TypeOverride

Represents an override for a type.

Представление JSON
{
  "name": string,
  "mode": enum (TypeOverrideMode),
  "synonym": {
    object (SynonymType)
  }
}
Поля
name

string

Необходимый. Name of the type to supplement or override.

mode

enum ( TypeOverrideMode )

Необходимый. How this type should be merged with other type values.

synonym

object ( SynonymType )

TypeOverrideMode

The types of modifications for a session entity type.

перечисления
TYPE_UNSPECIFIED Not specified. This value should be never used.
TYPE_REPLACE The type definitions in this response will replace the type definitions that have been defined previously.
TYPE_MERGE The type definitions in this response will be merged with type definitions that have been defined previously. New type definitions will overwrite existing type definitions.

SynonymType

Represents a type with synonyms.

Представление JSON
{
  "entries": [
    {
      object (Entry)
    }
  ]
}
Поля
entries[]

object ( Entry )

Необходимый. List of entries for the synonym type.

Entry

Represents a entry for a synonym type.

Представление JSON
{
  "name": string,
  "synonyms": [
    string
  ],
  "display": {
    object (EntryDisplay)
  }
}
Поля
name

string

Необходимый. Name of the entry (eg "bicycle"). The entry in this field must be included in repeated synonyms field to be recogonized as a valid type value.

synonyms[]

string

Необходимый. List of synonyms for the entry (eg "bike", "cycle").

display

object ( EntryDisplay )

Необязательный. The item display's information.

EntryDisplay

Представление JSON
{
  "title": string,
  "description": string,
  "image": {
    object (Image)
  },
  "footer": string,
  "openUrl": {
    object (OpenUrl)
  }
}
Поля
title

string

Необходимый. Title of the item. When tapped, this text will be posted back to the conversation verbatim as if the user had typed it. Each title must be unique among the set of collection items.

description

string

Необязательный. Body text of the card.

image

object ( Image )

Необязательный. The image to display.

footer

string

Необязательный. Footer text for the browsing collection item, displayed below the description. Single line of text, truncated with an ellipsis.

openUrl

object ( OpenUrl )

URL of document associated with browsing carousel item. Required for browsing carousel.

User

Represents the user making a request to the Action.

Представление JSON
{
  "locale": string,
  "params": {
    string: value,
    ...
  },
  "accountLinkingStatus": enum (AccountLinkingStatus),
  "verificationStatus": enum (UserVerificationStatus),
  "lastSeenTime": string,
  "engagement": {
    object (Engagement)
  },
  "packageEntitlements": [
    {
      object (PackageEntitlements)
    }
  ],
  "permissions": [
    enum (Permission)
  ]
}
Поля
locale

string

Primary locale setting of the user making the request. Follows IETF BCP-47 language code http://www.rfc-editor.org/rfc/bcp/bcp47.txt . However, the script subtag is not included.

params

map (key: string, value: value ( Value format))

Необязательный. List of all parameters associated with the current user. See user storage documentation: https://developers.google.com/assistant/conversational/storage-user .

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

accountLinkingStatus

enum ( AccountLinkingStatus )

Whether the user account is linked to the app.

verificationStatus

enum ( UserVerificationStatus )

Indicates the verification status of the user.

lastSeenTime

string ( Timestamp format)

The timestamp of the last interaction with this user. This field will be omitted if the user has not interacted with the agent before.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

engagement

object ( Engagement )

The engagement of the current user including any subscriptions to intents.

packageEntitlements[]

object ( PackageEntitlements )

User's entitlements related to the Android package associated with the current action.

permissions[]

enum ( Permission )

Contains permissions granted by user to this Action.

AccountLinkingStatus

Indicates whether the end user has linked their account to this app. See account linking documentation: https://developers.google.com/assistant/identity .

перечисления
ACCOUNT_LINKING_STATUS_UNSPECIFIED Unknown.
NOT_LINKED User has not linked their account to this app.
LINKED User has linked their account to this app.

UserVerificationStatus

Indicates whether Google has verified the user. A VERIFIED status indicates that you can save data across conversations using the params field or with account linking.

перечисления
USER_VERIFICATION_STATUS_UNSPECIFIED Unknown.
GUEST Guest user.
VERIFIED Verified user.

Engagement

Provides additional read-only information about what engagement mechanisms the current user has registered for. For example, it can be useful to know what intents the user is already subscribed to in order to avoid asking them to subscribe to the same intent again. ie This information can be used to conditionally route to a scene to set up DailyUpdates or PushNotifications only if the user has not subscribed already. See user engagement documentation: https://developers.google.com/assistant/engagement .

Представление JSON
{
  "pushNotificationIntents": [
    {
      object (IntentSubscription)
    }
  ],
  "dailyUpdateIntents": [
    {
      object (IntentSubscription)
    }
  ]
}
Поля
pushNotificationIntents[]

object ( IntentSubscription )

Contains a list of intents which the user has enabled push notification for.

dailyUpdateIntents[]

object ( IntentSubscription )

Contains a list of intents which the user has enabled daily update for.

IntentSubscription

Describes an existing IntentSubscription.

Представление JSON
{
  "intent": string,
  "contentTitle": string
}
Поля
intent

string

Name of the intent which is subscribed to.

contentTitle

string

A short description of the subscription. It is used as the notification's label and when Assistant is requesting permission from the user.

PackageEntitlements

A List of user's entitlements related to a package name. See digital good transaction documentation: https://developers.google.com/assistant/transactions/digital/dev-guide-digital-non-consumables .

Представление JSON
{
  "packageName": string,
  "entitlements": [
    {
      object (Entitlement)
    }
  ]
}
Поля
packageName

string

The Android package name specified in the action package.

entitlements[]

object ( Entitlement )

The user's entitlements for the given package.

Entitlement

Defines a user's digital entitlement.

Представление JSON
{
  "sku": string,
  "skuType": enum (SkuType),
  "inAppDetails": {
    object (SignedData)
  }
}
Поля
sku

string

Product sku. Package name for paid app, suffix of Finsky docid for in-app purchase and in-app subscription. Match getSku() in Play InApp Billing API. See Play InApp Billing documentation: https://developer.android.com/google/play/billing .

skuType

enum ( SkuType )

The type of SKU.

inAppDetails

object ( SignedData )

Only present for in-app purchase and in-app subs.

SkuType

перечисления
SKU_TYPE_UNSPECIFIED
IN_APP In-app purchase
SUBSCRIPTION Subscriptions
APP Paid apps

SignedData

Представление JSON
{
  "inAppPurchaseData": {
    object
  },
  "inAppDataSignature": string
}
Поля
inAppPurchaseData

object ( Struct format)

Contains all inapp purchase data in JSON format. See details in table 6 of https://developer.android.com/google/play/billing/billing_reference.html .

inAppDataSignature

string

Matches IN_APP_DATA_SIGNATURE from getPurchases() method in Play InApp Billing API.

Permission

Возможные значения разрешения.

перечисления
PERMISSION_UNSPECIFIED Неопределенное разрешение.
DEVICE_PRECISE_LOCATION Спросите точное местоположение пользователя, широту/долготу и отформатированный адрес.
DEVICE_COARSE_LOCATION Спросите примерное местоположение пользователя, почтовый индекс, город и код страны.
UPDATE Запросите разрешения на отправку обновлений. See https://developers.google.com/assistant/engagement/daily .

Home

Represents the HomeGraph structure that the user's target device belongs to.

Представление JSON
{
  "params": {
    string: value,
    ...
  }
}
Поля
params

map (key: string, value: value ( Value format))

Необязательный. List of parameters associated with the HomeGraph structure the target device belongs to. See home storage documentation: https://developers.google.com/assistant/conversational/storage-home .

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Device

Represents the device the user is using to make a request to the Action.

Представление JSON
{
  "capabilities": [
    enum (Capability)
  ],
  "currentLocation": {
    object (Location)
  },
  "timeZone": {
    object (TimeZone)
  }
}
Поля
capabilities[]

enum ( Capability )

Необходимый. the capabilities of the device making a request to the Action.

currentLocation

object ( Location )

Необязательный. The device location of the user. Note, this is only populated after location permissions are granted by the end user. See the location message for more details on which fields are set depending on coarse vs. fine grained permission. See permissions documentation: https://developers.google.com/assistant/conversational/permissions .

timeZone

object ( TimeZone )

Необязательный. Timezone associated with the client device. It could be used to resolve datetime values.

Capability

Capabilities the device surface supports at the time of the request.

перечисления
UNSPECIFIED Unspecified device capability.
SPEECH Device can speak to the user via text-to-speech or SSML.
RICH_RESPONSE Device can display rich responses like cards, lists and tables.
LONG_FORM_AUDIO Device can play long form audio media like music and podcasts.
INTERACTIVE_CANVAS Device can display a interactive canvas response.
HOME_STORAGE Device can support saving and fetching home storage.

Location

Container that represents a location.

Представление JSON
{
  "coordinates": {
    object (LatLng)
  },
  "postalAddress": {
    object (PostalAddress)
  }
}
Поля
coordinates

object ( LatLng )

Geo coordinates. Requires the [DEVICE_PRECISE_LOCATION] permission.

postalAddress

object ( PostalAddress )

Postal address. Requires the [DEVICE_PRECISE_LOCATION] or [DEVICE_COARSE_LOCATION] permission. When the coarse location permission is granted, only the 'postalCode' and 'locality' fields are expected to be populated. Precise location permission will populate additional fields like 'administrativeArea' and 'addressLines'.

TimeZone

Represents a time zone from the IANA Time Zone Database .

Представление JSON
{
  "id": string,
  "version": string
}
Поля
id

string

IANA Time Zone Database time zone, eg "America/New_York".

version

string

Необязательный. IANA Time Zone Database version number, eg "2019a".

Context

Contains context information when user makes query. Such context includes but not limited to info about active media session, state of canvas web app, etc.

Представление JSON
{
  "media": {
    object (MediaContext)
  },
  "canvas": {
    object (CanvasContext)
  }
}
Поля
media

object ( MediaContext )

Contains context information about current active media session.

canvas

object ( CanvasContext )

Contains context information about current canvas.

MediaContext

Contains context information about current active media session.

Представление JSON
{
  "progress": string,
  "index": integer
}
Поля
progress

string ( Duration format)

Media progress of current active media file.

A duration in seconds with up to nine fractional digits, terminated by ' s '. Example: "3.5s" .

index

integer

0-based index of the current active media file in the list of media files in the media response.

CanvasContext

Contains context information about current canvas.

Представление JSON
{
  "state": value
}
Поля
state

value ( Value format)

Необязательный. State set by 3P Interactive Canvas app. This is only set for request, not for response. For example, if this is a recipe app, the state can be a value of struct : { "current_page" : 5, "last_page" : 3, } The size limit is 50KB.

Expected

Describes the expectations for the next dialog turn.

Представление JSON
{
  "speech": [
    string
  ]
}
Поля
speech[]

string

List of phrases the Action expects from the user's utterance for speech biasing. Up to 1000 phrases are allowed. Note: This field has the same meaning as ExpectedInput.speech_biasing_hints in the v2 API.