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 )

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

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», также можно будет добавлять к некоторым полям простые приглашения, приглашение «Предложения» и приглашение «Холст» (часть приглашения «Содержимое»). Сообщения «Содержимое» и «Ссылка» всегда перезаписываются, если они определены в приглашении. Значение по умолчанию — «ложь».

firstSimple

object ( Simple )

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

content

object ( Content )

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

lastSimple

object ( Simple )

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

suggestions[]

object ( Suggestion )

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

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 )

Данные строки таблицы. Первые три строки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие строки будут отображаться для данной поверхности. На поверхностях, которые поддерживают возможность 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 )

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

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 для воспроизведения. Если не указано, равно нулю или выходит за пределы, воспроизведение начинается с первого медиа-объекта в 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 .

ListItem

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

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

string

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

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

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

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 КБ. См. 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, которые будут переданы на веб-страницу иммерсивного опыта как событие. Если поле «переопределить» в содержащем приглашении имеет значение «ложь», значения данных, определенные в этом приглашении 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. Если тип = SNAPSHOT, OrderUpdate.order должен содержать весь заказ. Если тип = 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 «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

lastUpdateTime

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "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, как определено в Рекомендации E.164 Международного союза электросвязи (ITU). ссылка на вики: https://en.wikipedia.org/wiki/E.164

extension

string

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

preferredDomesticCarrierCode

string

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

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

Изображение

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

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

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

ШиротаДлительность

Объект, представляющий пару широты и долготы. Это выражается в виде пары двойных чисел, обозначающих градусы широты и градусы долготы. Если не указано иное, этот объект должен соответствовать стандарту 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

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

sublocality

string

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

addressLines[]

string

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

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

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

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

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

Устарело. Вместо этого используйте статус вертикального уровня. Например, для покупок используйте PurchaseOrderExtension.status. Видимая пользователем метка состояния этой позиции.

provider

object ( Merchant )

Поставщик конкретной позиции, если он отличается от общего заказа. Пример: заказ Expedia с поставщиком позиций ANA.

priceAttributes[]

object ( PriceAttribute )

Цена и корректировки на уровне позиции.

followUpActions[]

object ( Action )

Последующие действия в позиции.

recipients[]

object ( UserInfo )

Клиенты на уровне позиции, это может отличаться от покупателя на уровне заказа. Пример: Пользователь X забронировал столик в ресторане на имя пользователя Y.

image

object ( Image )

Небольшое изображение, связанное с этим элементом, если таковое имеется.

description

string

Описание позиции.

notes[]

string

Дополнительные примечания, применимые к этой конкретной позиции, например, правила отмены.

disclosures[]

object ( Disclosure )

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

vertical
(deprecated)

object

Устарело: вместо этого используйте вертикали. Обязательно: семантическое содержание позиции в зависимости от ее типа/тематики. Каждая вертикаль должна включать свои собственные детали выполнения. Должно быть одно из следующих значений: google.actions.orders.v3.verticals.purchase.PurchaseItemExtension google.actions.orders.v3.verticals.reservation.ReservationItemExtension google.actions.orders.v3.verticals.ticket.TicketItemExtension

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

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

object ( PurchaseItemExtension )

Заказы на покупку товаров, продуктов питания и т. д.

reservation

object ( ReservationItemExtension )

Заказы на бронирование, такие как ресторан, стрижка и т. д.

ЦенаАтрибут

Атрибут цены заказа или позиции.

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 )

Обязательно: тип денежного атрибута.

name

string

Обязательно: отображаемая пользователем строка атрибута цены. Оно отправлено и локализовано продавцом.

id

string

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

state

enum ( State )

Обязательно: Состояние цены: расчетная или фактическая.

taxIncluded

boolean

Включена ли цена в налог.

spec поля Union. Представляет либо денежную сумму, либо миллипроценты. spec может быть только одной из следующих:
amount

object ( Money )

Денежная сумма.

amountMillipercentage
(deprecated)

integer

Процентное значение до 1/1000 процента. Например: 8,750% обозначается как 8750, отрицательные проценты представляют собой процентные скидки. Устаревшее это поле. Можно рассмотреть возможность добавления обратно, когда требуется надежный вариант использования.

Тип

Обозначает тип денег.

Перечисления
TYPE_UNSPECIFIED Тип не указан, клиентам не нужно задавать его явно.
REGULAR Обычная отображаемая цена без применения скидок и т. д.
DISCOUNT Вычитается из промежуточной суммы.
TAX Добавляется к промежуточной сумме.
DELIVERY Добавляется к промежуточной сумме.
SUBTOTAL Итого, без учета некоторых сборов.
FEE Любая дополнительная плата.
GRATUITY Добавляется к промежуточной сумме.
TOTAL Отображается цена заказа или позиции.

Состояние

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

Перечисления
STATE_UNSPECIFIED Не указан.
ESTIMATE Цена является приблизительной, но окончательная сумма будет близка к этой сумме. Пример: В случаях, когда на момент транзакции точно неизвестен налог, общая сумма будет ПРИМЕРНОЙ.
ACTUAL Фактическая цена, которая будет взиматься с пользователя.

Деньги

Представляет сумму денег с типом валюты.

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

string

Трехбуквенный код валюты, определенный в ISO 4217.

amountInMicros

string ( int64 format)

Сумма в микро. Например, в этом поле должно быть установлено значение 1990000 за 1,99 доллара США.

Действие

Последующее действие, связанное с заказом или позицией.

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

enum ( Type )

Обязательно: Тип действия.

title

string

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

openUrlAction

object ( OpenUrlAction )

Действия, которые необходимо предпринять.

actionMetadata

object ( ActionMetadata )

Метаданные, связанные с действием.

Тип

Возможные последующие действия.

Перечисления
TYPE_UNSPECIFIED Неопределенное действие.
VIEW_DETAILS Действие «Просмотр сведений о заказе».
MODIFY Изменить действие заказа.
CANCEL Отменить действие заказа.
RETURN Действие заказа на возврат.
EXCHANGE Действие заказа на обмен.
EMAIL

Действие по электронной почте. Типы EMAIL и CALL устарели. openUrlAction.url можно использовать как номер телефона или адрес электронной почты.

CALL

Вызов действия.

REORDER Изменение порядка действий.
REVIEW Просмотр действия заказа.
CUSTOMER_SERVICE Свяжитесь со службой поддержки клиентов.
FIX_ISSUE Чтобы устранить проблему, перейдите на сайт продавца или в приложение.
DIRECTION Ссылка на направление.

Опенурлэкшн

Открывает указанный URL.

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

string

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

androidApp

object ( AndroidApp )

Информация о приложении Android, если ожидается, что URL-адрес будет выполнен приложением Android.

urlTypeHint

enum ( UrlTypeHint )

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

AndroidApp

Спецификация приложения Android для ограничений выполнения

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

string

Имя пакета Имя пакета должно быть указано при указании Android Fulfillment.

versions[]

object ( VersionFilter )

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

Фильтр версий

VersionFilter следует включить, если требуются определенные версии приложения.

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

integer

Минимальный код версии или 0 включительно.

maxVersion

integer

Код максимальной версии включительно. Рассматриваемый диапазон — [minVersion:maxVersion]. Нулевой диапазон подразумевает любую версию. Примеры. Чтобы указать одну версию, используйте: [target_version:target_version]. Чтобы указать любую версию, оставьте minVersion и maxVersion неуказанными. Чтобы указать все версии до maxVersion, оставьте minVersion неуказанным. Чтобы указать все версии из minVersion, оставьте maxVersion неуказанным.

UrlTypeHint

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

Перечисления
URL_TYPE_HINT_UNSPECIFIED Не указано
AMP_CONTENT URL-адрес, указывающий непосредственно на контент AMP, или канонический URL-адрес, который ссылается на контент AMP через <link rel="amphtml">.

Метаданные действия

Связанные метаданные для каждого действия.

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

string ( Timestamp format)

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

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

Раскрытие информации

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

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

string

Название раскрытия. Пример: «Информация по безопасности».

disclosureText

object ( DisclosureText )

Содержание раскрытия. Веб-ссылки разрешены.

presentationOptions

object ( DisclosurePresentationOptions )

Варианты представления раскрытия.

Текст раскрытия информации

Представляет собой обычный текст с веб-ссылками.

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

string

Текст для отображения, содержащий заполнители, такие как «{0}» и «{1}», для каждой текстовой ссылки, которую необходимо вставить. Пример: «ВНИМАНИЕ: этот продукт может подвергнуть вас воздействию химических веществ, которые, как известно в штате Калифорния, вызывают рак. Для получения дополнительной информации перейдите по адресу {0}». Этот текст раскрытия не должен содержать никакого рекламного или рекламного контента.

Опционы раскрытия информации

Варианты представления раскрытия информации.

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

enum ( PresentationRequirement )

Требование к раскрытию информации.

initiallyExpanded

boolean

Следует ли изначально расширять содержание раскрытия. По умолчанию он изначально свернут.

ПрезентацияТребование

Требование к раскрытию информации.

Перечисления
REQUIREMENT_UNSPECIFIED Неопределенное требование. Не следует устанавливать это явно.
REQUIREMENT_OPTIONAL Раскрытие не является обязательным. Его можно пропустить, если устройство не поддерживает показ раскрытой информации.
REQUIREMENT_REQUIRED Раскрытие информации является обязательным. Разговор будет переведен на телефон, если устройство не поддерживает отображение раскрытой информации.

Расширение PurchaseItemExtension

Содержимое позиции вертикальной закупки.

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 )

Обязательно: статус на уровне позиции.

userVisibleStatusLabel

string

Обязательно: видимая пользователем метка/строка статуса. Максимально допустимая длина — 50 символов.

type

enum ( PurchaseType )

Обязательно: Тип покупки.

productId
(deprecated)

string

Идентификатор продукта или предложения, связанный с этой позицией.

quantity

integer

Количество товара.

unitMeasure

object ( MerchantUnitMeasure )

Единица измерения. Указывает размер элемента в выбранных единицах. Размер вместе с активной ценой используется для определения цены за единицу.

returnsInfo

object ( PurchaseReturnsInfo )

Возвращает информацию об этой позиции. Если параметр не установлен, эта позиция наследует уровень заказа и возвращает информацию.

fulfillmentInfo

object ( PurchaseFulfillmentInfo )

Информация о выполнении для этой позиции. Если этот параметр не установлен, эта позиция наследует информацию о выполнении уровня заказа.

itemOptions[]

object ( ItemOption )

Дополнительные дополнения или подпункты.

productDetails

object ( ProductDetails )

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

extension
(deprecated)

object

Любые дополнительные поля, которыми обмениваются продавец и Google. Примечание. Использование этого расширения настоятельно не рекомендуется. В зависимости от варианта использования/обстоятельств рассмотрите одно из следующих действий: 1. Определите поля в PurchaseItemExtension, если оно может использоваться для других вариантов использования (т. е. для общих возможностей/функциональности). 2. Используйтевертикальное_расширение, если оно относится к индивидуальному, неуниверсальному варианту использования/функции.

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

Статус покупки

Статус покупки, связанный с заказом на покупку или конкретной позицией.

Перечисления
PURCHASE_STATUS_UNSPECIFIED Статус не указан.
READY_FOR_PICKUP Готов забрать.
SHIPPED Отправленный.
DELIVERED Доставленный.
OUT_OF_STOCK Распродано.
IN_PREPARATION «IN_PREPARATION» может иметь разное значение в разных контекстах. Для заказа ЕДА это может быть приготовление еды. Для розничной торговли это может быть упаковка товара.
CREATED Порядок создан.
CONFIRMED Продавец подтвердил заказ.
REJECTED Продавец отклонил заказ или позицию.
RETURNED Товар был возвращен пользователем.
CANCELLED Заказ или позиция были отменены пользователем.
CHANGE_REQUESTED Пользователь запросил изменение заказа, и интегратор обрабатывает это изменение. После обработки запроса заказ должен быть переведен в другое состояние.

Тип покупки

Категория покупки.

Перечисления
PURCHASE_TYPE_UNSPECIFIED Неизвестное значение.
RETAIL Сюда входят покупки, такие как физические товары.
FOOD В стоимость входит покупка еды по заказу.
GROCERY Покупка продуктов.
MOBILE_RECHARGE Предоплаченная покупка пополнения мобильного телефона.

ТорговецЕдиницаМера

Мера ценообразования торговой единицы.

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

number

Значение: Пример 1.2.

unit

enum ( Unit )

Единица: Пример ФУНТ, ГРАММ.

Единица

Перечисления
UNIT_UNSPECIFIED Единица не указана.
MILLIGRAM Миллиграмм.
GRAM Грамм.
KILOGRAM Килограмм.
OUNCE Унция.
POUND Фунт.

ПокупкаВозвратИнформация

Возвращает информацию, связанную с заказом или конкретной позицией.

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

boolean

Если это правда, возврат разрешен.

daysToReturn

integer

Возврат разрешен в течение этого количества дней.

policyUrl

string

Ссылка на политику возврата.

Информация о выполнении покупки

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

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

Уникальный идентификатор для этого варианта услуги.

fulfillmentType

enum ( Type )

Обязательно: Тип выполнения.

expectedFulfillmentTime

object ( Time )

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

expectedPreparationTime

object ( Time )

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

location

object ( Location )

Место самовывоза или доставки.

expireTime

string ( Timestamp format)

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

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

price

object ( PriceAttribute )

Стоимость этого варианта.

fulfillmentContact

object ( UserInfo )

Контакт пользователя для этого выполнения.

shippingMethodName

string

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

storeCode

string

StoreCode местоположения. Пример: Walmart — это продавец, а storeCode — это магазин Walmart, в котором произошло выполнение. https://support.google.com/business/answer/3370250?ref_topic=4596653 .

pickupInfo

object ( PickupInfo )

Дополнительная информация о том, как будет собираться заказ. Это поле применимо только в том случае, если тип выполнения — САМОВЫВОЗ.

Тип

Тип исполнения.

Перечисления
TYPE_UNSPECIFIED Тип не указан.
DELIVERY Этот заказ будет доставлен.
PICKUP Этот заказ необходимо забрать.

Время

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

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

string

Представляет время события заказа, например время резервирования, время доставки и т. д. Это может быть продолжительность (время начала и окончания), просто дата, дата и т. д. См. https://en.wikipedia.org/wiki/ISO_8601 для всех поддерживаемых форматов.

Информация о самовывозе

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

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

enum ( PickupType )

Способ получения, например INSTORE, CURBSIDE и т. д.

curbsideInfo

object ( CurbsideInfo )

Подробности, относящиеся к информации на обочине. Если тип PickupType не «CURBSIDE», это поле будет игнорироваться.

checkInInfo[]

object ( CheckInInfo )

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

Тип звукоснимателя

Список поддерживаемых типов звукоснимателей.

Перечисления
UNSPECIFIED Тип получения не указан.
INSTORE Возьмите еду в ресторане.
CURBSIDE Припаркуйте автомобиль в специально отведенном месте возле ресторана, и кто-нибудь доставит туда еду.

Информация о Curbside

Подробности о том, как будет облегчен порядок на тротуаре.

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

enum ( CurbsideFulfillmentType )

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

userVehicle

object ( Vehicle )

Данные об автомобиле пользователя, разместившего заказ.

Тип исполнения: CurbsideFulfillmentType

Возможные значения типов исполнения на обочине.

Перечисления
UNSPECIFIED Тип исполнения на обочине не указан.
VEHICLE_DETAIL Детали транспортного средства необходимы для облегчения посадки на обочине.

Транспортное средство

Подробности об автомобиле

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

string

Марка автомобиля (например, «Хонда»). Это отображается пользователю и должно быть локализовано. Необходимый.

model

string

Модель автомобиля (например, «Гром»). Это отображается пользователю и должно быть локализовано. Необходимый.

licensePlate

string

Номерной знак автомобиля (например, «1ABC234»). Необходимый.

colorName

string

Название цвета автомобиля, например. черный Опционально.

image

object ( Image )

URL-адрес фотографии автомобиля. Фотография будет отображаться с размером примерно 256x256 пикселей. Должен быть в формате jpg или png. Необязательный.

CheckInInfo

Метаданные, необходимые партнеру для поддержки метода возврата.

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

enum ( CheckInType )

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

Тип регистрации

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

Перечисления
CHECK_IN_TYPE_UNSPECIFIED Неизвестное значение.
EMAIL Информация о регистрации заезда будет отправлена ​​по электронной почте.
SMS Информация о регистрации будет отправлена ​​по SMS.

Опция элемента

Представляет надстройки или подэлементы.

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

string

Для опций, которые являются элементами, уникальный идентификатор элемента.

name

string

Название опции.

prices[]

object ( PriceAttribute )

Общая стоимость опциона.

note

string

Примечание, связанное с опцией.

quantity

integer

Для опций, которые являются позициями, укажите количество.

productId

string

Идентификатор продукта или предложения, связанный с этой опцией.

subOptions[]

object ( ItemOption )

Чтобы определить другие вложенные дополнительные параметры.

Подробности о продукте

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

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

string

Идентификатор продукта или предложения, связанный с этой позицией.

gtin

string

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

plu

string

Коды поиска цен, обычно называемые кодами PLU, номерами PLU, PLU, кодами продукции или этикетками продукции, представляют собой систему номеров, которая однозначно идентифицирует оптовые продукты, продаваемые в продуктовых магазинах и супермаркетах.

productType

string

Категория товара определяется продавцом. Например, «Домой > Бакалея > Молочные продукты и яйца > Молоко > Цельное молоко»

productAttributes

map (key: string, value: string)

Подробная информация о товаре, предоставленная продавцом, например { "аллерген": "арахис" }. Полезно, если OfferId отсутствует в Merchant Center. Необязательный.

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

Расширение резервированияитемекстенсион

Содержимое позиций для заказов на резервирование, таких как ресторан, стрижка и т. д.

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 )

Обязательно: Статус резервирования.

userVisibleStatusLabel

string

Обязательно: видимая пользователем метка/строка статуса. Максимально допустимая длина — 50 символов.

type

enum ( ReservationType )

Тип бронирования. Может быть отключено, если ни один из вариантов типа не применим.

reservationTime

object ( Time )

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

userAcceptableTimeRange

object ( Time )

Диапазон времени, приемлемый для пользователя.

confirmationCode

string

Код подтверждения для этого бронирования.

partySize

integer

Количество людей.

staffFacilitators[]

object ( StaffFacilitator )

Персонал-посредники, которые будут обслуживать бронирование. Бывший. Парикмахер.

location

object ( Location )

Место проведения услуги/мероприятия.

Статус резервирования

Статус бронирования.

Перечисления
RESERVATION_STATUS_UNSPECIFIED Неопределенный статус.
PENDING Бронирование находится на рассмотрении.
CONFIRMED Бронирование подтверждено.
CANCELLED Бронирование отменено пользователем.
FULFILLED Бронирование выполнено.
CHANGE_REQUESTED Требуется изменение бронирования
REJECTED Срок резервирования истек или отклонен интегратором.

Тип бронирования

Тип бронирования.

Перечисления
RESERVATION_TYPE_UNSPECIFIED Неопределенный тип.
RESTAURANT Бронирование ресторана.
HAIRDRESSER Бронь в парикмахерскую.

ПерсоналФасилитатор

Информация об обслуживающем лице.

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

string

Имя координатора. Бывший. «Джон Смит»

image

object ( Image )

Образы исполнителя.

Платежные данные

Платежные данные, относящиеся к заказу.

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

object ( PaymentResult )

Результат платежа, который используется интегратором для завершения транзакции. Это поле будет заполнено Actions on Google, если процесс оформления заказа управляется Actions on Google.

paymentInfo

object ( PaymentInfo )

Платежная информация о заказе, полезная для взаимодействия с пользователем.

Результат платежа

Результат платежа, используемый интегратором для завершения транзакции.

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.
}
Поля
result поля объединения. Предоставляются либо платежные данные Google, либо способ оплаты продавца. result может быть только одним из следующих:
googlePaymentData

string

Google предоставил данные о способе оплаты. Если ваша платежная система указана как платежная система, поддерживаемая Google, здесь: https://developers.google.com/pay/api/ Перейдите к своей платежной системе по ссылке, чтобы получить более подробную информацию. В противном случае обратитесь к следующей документации для получения подробной информации о полезной нагрузке. https://developers.google.com/pay/api/pay-data-cryptography

merchantPaymentMethodId

string

Продавец/Действие предоставил способ оплаты, выбранный пользователем.

Информация об оплате

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

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

object ( PaymentMethodDisplayInfo )

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

paymentMethodProvenance

enum ( PaymentMethodProvenance )

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

Метод оплатыDisplayInfo

Результат платежа, используемый интегратором для завершения транзакции.

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

enum ( PaymentType )

Тип платежа.

paymentMethodDisplayName

string

Видимое пользователю название способа оплаты. Например, VISA **** 1234 Проверка счета **** 5678

paymentMethodVoiceName

string

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

Тип платежа

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

Перечисления
PAYMENT_TYPE_UNSPECIFIED Неуказанный тип оплаты.
PAYMENT_CARD Кредитная/дебетовая или предоплаченная карта.
BANK Способ оплаты – банковский счет.
LOYALTY_PROGRAM Способ оплаты – программа лояльности.
CASH Способ оплаты – наличный.
GIFT_CARD Способ оплаты – подарочная карта.
WALLET Сторонний кошелек, например Paypal.

Способ оплатыПроисхождение

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

Перечисления
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED Происхождение не указано.
PAYMENT_METHOD_PROVENANCE_GOOGLE Провенанс — Google.
PAYMENT_METHOD_PROVENANCE_MERCHANT Провенанс - Купец.

Повышение

Акции/предложения, добавленные в корзину.

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

string

Обязательно: код купона, примененный к этому предложению.

Расширение заказа на покупку

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

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 )

Обязательно: общий статус заказа.

userVisibleStatusLabel

string

Видимая пользователем метка/строка статуса. Максимально допустимая длина — 50 символов.

type

enum ( PurchaseType )

Обязательно: Тип покупки.

returnsInfo

object ( PurchaseReturnsInfo )

Информация о возврате заказа.

fulfillmentInfo

object ( PurchaseFulfillmentInfo )

Информация о выполнении заказа.

purchaseLocationType

enum ( PurchaseLocationType )

Место покупки (в магазине/онлайн)

errors[]

object ( PurchaseError )

Необязательно: ошибки, из-за которых этот заказ был отклонен.

extension
(deprecated)

object

Любые дополнительные поля, которыми обмениваются продавец и Google. Примечание. Использование этого расширения настоятельно не рекомендуется. В зависимости от варианта использования/обстоятельств рассмотрите одно из следующих действий: 1. Определите поля в PurchaseOrderExtension, если его можно использовать для других вариантов использования (т. е. для общих возможностей/функциональности). 2. Используйтевертикальное_расширение, если оно относится к индивидуальному, неуниверсальному варианту использования/функции.

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

ПокупкаМестоположениеТип

Тип места покупки.

Перечисления
UNSPECIFIED_LOCATION Неизвестное значение.
ONLINE_PURCHASE Все покупки совершаются онлайн.
INSTORE_PURCHASE Все покупки в магазине.

Ошибка покупки

Ошибки, из-за которых заказ на поставку может быть отклонен.

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

enum ( ErrorType )

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

description

string

Дополнительное описание ошибки.

entityId

string

Идентификатор объекта, соответствующий ошибке. Пример: это может соответствовать LineItemId/ItemOptionId.

updatedPrice

object ( PriceAttribute )

Актуально в случае ошибки типа PRICE_CHANGED/INCORRECT_PRICE.

availableQuantity

integer

Доступное количество сейчас. Применимо в случае AVAILABILITY_CHANGED.

Тип ошибки

Возможные типы ошибок.

Перечисления
ERROR_TYPE_UNSPECIFIED Неизвестная ошибка
NOT_FOUND Объект не найден. Это может быть Item, FulfillmentOption, Promotion. Требуется идентификатор объекта.
INVALID Данные объекта недействительны. может быть Item, FulfillmentOption, Promotion. Требуется идентификатор объекта.
AVAILABILITY_CHANGED Товар недоступен или его недостаточно для выполнения запроса. Требуется идентификатор объекта.
PRICE_CHANGED Цена товара отличается от цены в сущности «Товар». Требуется идентификатор объекта и обновленная цена.
INCORRECT_PRICE Ошибки цен в сборах, итого. Требуется идентификатор объекта и обновленная цена.
REQUIREMENTS_NOT_MET Не соблюдены ограничения на прием заказа - минимальный размер корзины и т. д.
TOO_LATE Срок действия опции FulfillmentOption истек.
NO_CAPACITY Нет доступной мощности для обслуживания. Используйте этот код ошибки, если ни один из более мелких типов ошибок не применим.
NO_COURIER_AVAILABLE Курьера доставки найти не удалось. Детализированный тип ошибки, который можно отнести к категории NO_CAPACITY.
INELIGIBLE Пользователь не имеет права разместить заказ (внесен в черный список).
OUT_OF_SERVICE_AREA Невозможно доставить по запрошенному адресу из-за пограничных правил и т. д.
CLOSED Во время заказа ресторан закрыт.
PROMO_NOT_APPLICABLE Общий код ошибки, позволяющий отследить все случаи невозможности применения промокода, если ни один из приведенных ниже не подходит. Добавьте промокод в качестве идентификатора объекта.
PROMO_NOT_RECOGNIZED Код купона не был распознан партнером. Добавьте промокод в качестве идентификатора объекта.
PROMO_EXPIRED Не удалось подать заявку, поскольку срок действия акции истек. Добавьте промокод в качестве идентификатора объекта.
PROMO_USER_INELIGIBLE Текущий пользователь не имеет права на этот купон. Добавьте промокод в качестве идентификатора объекта.
PROMO_ORDER_INELIGIBLE Текущий заказ не имеет права на этот купон. Добавьте промокод в качестве идентификатора объекта.
UNAVAILABLE_SLOT Слот предварительного заказа недоступен.
FAILED_PRECONDITION Не соблюдены ограничения на прием заказа – минимальный размер корзины и т. д.
PAYMENT_DECLINED Неверный платеж.
MERCHANT_UNREACHABLE Торговец недоступен. Это помогает, когда партнер является агрегатором и не смог связаться с продавцом.
ACCOUNT_LINKING_FAILED Продавец попытался связать учетную запись Google пользователя с учетной записью в своей системе, но при этом столкнулся с ошибкой.

Расширение заказа билета

Содержание заказа для заказов билетов, таких как кино, спорт и т. д.

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

object ( TicketEvent )

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

БилетСобытие

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

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 )

Обязательно: тип билета на мероприятие, например, фильм, концерт.

name

string

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

description

string

Описание события.

url

string

URL-адрес информации о мероприятии.

location

object ( Location )

Место, где происходит событие или находится организация.

eventCharacters[]

object ( EventCharacter )

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

startDate

object ( Time )

Время начала.

endDate

object ( Time )

Время окончания.

doorTime

object ( Time )

Время входа, которое может отличаться от времени начала мероприятия. например, мероприятие начинается в 9 утра, но время входа — 8:30 утра.

Тип

Тип мероприятия.

Перечисления
EVENT_TYPE_UNKNOWN Неизвестный тип события.
MOVIE Фильм.
CONCERT Концерт.
SPORTS Спорт.

СобытиеПерсонаж

Один персонаж мероприятия, например, организатор, исполнитель и т. д.

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

enum ( Type )

Тип персонажа события, например актер или режиссер.

name

string

Имя персонажа.

image

object ( Image )

Изображения персонажей.

Тип

Тип персонажа.

Перечисления
TYPE_UNKNOWN Неизвестный тип.
ACTOR Актер.
PERFORMER Исполнитель.
DIRECTOR Директор.
ORGANIZER Организатор.

Уведомление пользователя

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

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

string

Заголовок уведомления пользователя. Максимально допустимая длина — 30 символов.

text

string

Содержание уведомления. Максимально допустимая длина — 100 символов.

Следующая сцена

Представляет сцену, которая будет выполняться следующей.

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

string

Имя сцены, которая будет выполняться следующей.

Сессия

Содержит информацию о текущем сеансе разговора.

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

string

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

params

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

Необходимый. Список всех параметров, собранных из форм и намерений во время сеанса. Ключ — это имя параметра. Определенные здесь параметры будут объединены с параметрами, уже определенными в сеансе. Параметры со значением null будут удалены из сеанса. См. документацию по хранилищу сеансов: https://developers.google.com/assistant/conversational/storage-session .

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

typeOverrides[]

object ( TypeOverride )

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

languageCode

string

Язык текущего сеанса разговора. Соответствует языковому коду IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt . Это может отличаться от языкового стандарта пользователя, если действие использует многоязычные функции. Например, когда установлен handler_response.expected.language_code, он меняет язык разговора для всех последующих ходов, что будет отражено в этом поле.

ТипOverride

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

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

string

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

mode

enum ( TypeOverrideMode )

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

synonym

object ( SynonymType )

ТипOverrideMode

Типы изменений для типа сущности сеанса.

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

Тип синонима

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

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

object ( Entry )

Необходимый. Список записей для типа синонима.

Вход

Представляет запись для типа синонима.

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

string

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

synonyms[]

string

Необходимый. Список синонимов для записи (например, «велосипед», «велосипед»).

display

object ( EntryDisplay )

Необязательный. Информация об элементе.

ВводДисплей

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

string

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

description

string

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

image

object ( Image )

Необязательный. Изображение для отображения.

footer

string

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

openUrl

object ( OpenUrl )

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

Пользователь

Представляет пользователя, отправляющего запрос к действию.

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

Основная языковая настройка пользователя, делающего запрос. Соответствует языковому коду IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt . Однако вложенный тег сценария не включен.

params

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

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

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

accountLinkingStatus

enum ( AccountLinkingStatus )

Связана ли учетная запись пользователя с приложением.

verificationStatus

enum ( UserVerificationStatus )

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

lastSeenTime

string ( Timestamp format)

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

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

engagement

object ( Engagement )

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

packageEntitlements[]

object ( PackageEntitlements )

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

permissions[]

enum ( Permission )

Содержит разрешения, предоставленные пользователем этому действию.

Статус связывания учетной записи

Указывает, связал ли конечный пользователь свою учетную запись с этим приложением. См. документацию по связыванию аккаунтов: https://developers.google.com/assistant/identity .

Перечисления
ACCOUNT_LINKING_STATUS_UNSPECIFIED Неизвестный.
NOT_LINKED Пользователь не связал свою учетную запись с этим приложением.
LINKED Пользователь связал свою учетную запись с этим приложением.

Статус UserVerificationStatus

Указывает, проверил ли Google пользователя. Статус VERIFIED означает, что вы можете сохранять данные между разговорами, используя поле параметров или привязывая учетную запись.

Перечисления
USER_VERIFICATION_STATUS_UNSPECIFIED Неизвестный.
GUEST Гость пользователь.
VERIFIED Проверенный пользователь.

Обручение

Предоставляет дополнительную доступную только для чтения информацию о том, для каких механизмов взаимодействия зарегистрировался текущий пользователь. Например, может быть полезно знать, на какие намерения уже подписан пользователь, чтобы не просить его снова подписаться на то же намерение. т.е. эту информацию можно использовать для условного маршрута к сцене для настройки DailyUpdates или PushNotifications, только если пользователь еще не подписался. См. документацию по взаимодействию с пользователями: https://developers.google.com/assistant/engagement .

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

object ( IntentSubscription )

Содержит список намерений, для которых пользователь включил push-уведомление.

dailyUpdateIntents[]

object ( IntentSubscription )

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

НамерениеПодписка

Описывает существующую IntentSubscription.

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

string

Имя намерения, на которое подписано.

contentTitle

string

Краткое описание подписки. Он используется в качестве метки уведомления и когда Ассистент запрашивает разрешение у пользователя.

Права на пакет

Список прав пользователя, связанных с именем пакета. См. документацию по транзакциям цифровых товаров: https://developers.google.com/assistant/transactions/digital/dev-guide-digital-non-consumables .

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

string

Имя пакета Android, указанное в пакете действий.

entitlements[]

object ( Entitlement )

Права пользователя для данного пакета.

Право

Определяет цифровые права пользователя.

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

string

Артикул продукта. Название пакета для платного приложения, суффикс документа Finky для покупки в приложении и подписки в приложении. Сопоставьте getSku() в API биллинга Play InApp. См. документацию по выставлению счетов в Play InApp: https://developer.android.com/google/play/billing .

skuType

enum ( SkuType )

Тип SKU.

inAppDetails

object ( SignedData )

Доступно только для покупок в приложении и подписок в приложении.

АртикулТип

Перечисления
SKU_TYPE_UNSPECIFIED
IN_APP Покупка в приложении
SUBSCRIPTION Подписки
APP Платные приложения

подписанные данные

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

object ( Struct format)

Содержит все данные о покупках в приложении в формате JSON. Подробности см. в таблице 6 на странице https://developer.android.com/google/play/billing/billing_reference.html .

inAppDataSignature

string

Соответствует IN_APP_DATA_SIGNATURE из метода getPurchases() в Play InApp Billing API.

Разрешение

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

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

Дом

Представляет структуру HomeGraph, к которой принадлежит целевое устройство пользователя.

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

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

Необязательный. Список параметров, связанных со структурой HomeGraph, к которой принадлежит целевое устройство. См. документацию по домашнему хранилищу: https://developers.google.com/assistant/conversational/storage-home .

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

Устройство

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

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

enum ( Capability )

Необходимый. возможности устройства, делающего запрос к Действию.

currentLocation

object ( Location )

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

timeZone

object ( TimeZone )

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

Возможность

Возможности, поддерживаемые поверхностью устройства на момент запроса.

Перечисления
UNSPECIFIED Неуказанные возможности устройства.
SPEECH Устройство может общаться с пользователем посредством преобразования текста в речь или SSML.
RICH_RESPONSE Устройство может отображать расширенные ответы, такие как карточки, списки и таблицы.
LONG_FORM_AUDIO Устройство может воспроизводить длинные аудиофайлы, такие как музыка и подкасты.
INTERACTIVE_CANVAS Устройство может отображать ответ на интерактивном холсте.
HOME_STORAGE Устройство может поддерживать сохранение и выборку данных из домашнего хранилища.

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

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

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

object ( LatLng )

Геокоординаты. Требуется разрешение [DEVICE_PRECISE_LOCATION].

postalAddress

object ( PostalAddress )

Почтовый адрес. Требуется разрешение [DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION]. Если предоставлено разрешение на грубое определение местоположения, ожидается, что будут заполнены только поля «postalCode» и «locality». Разрешение на точное местоположение заполнит дополнительные поля, такие как «administrativeArea» и «addressLines».

Часовой пояс

Представляет часовой пояс из базы данных часовых поясов IANA .

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

string

Часовой пояс IANA Часовой пояс базы данных, например «Америка/Нью_Йорк».

version

string

Необязательный. Номер версии базы данных часовых поясов IANA, например «2019a».

Контекст

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

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

object ( MediaContext )

Содержит контекстную информацию о текущем активном сеансе мультимедиа.

canvas

object ( CanvasContext )

Содержит контекстную информацию о текущем холсте.

Медиаконтекст

Содержит контекстную информацию о текущем активном сеансе мультимедиа.

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

string ( Duration format)

Медиа-прогресс текущего активного медиа-файла.

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

index

integer

Индекс текущего активного медиа-файла, отсчитываемый от 0, в списке медиа-файлов в медиа-ответе.

ХолстКонтекст

Содержит контекстную информацию о текущем холсте.

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

value ( Value format)

Необязательный. Состояние устанавливается приложением 3P Interactive Canvas. Это устанавливается только для запроса, а не для ответа. Например, если это приложение с рецептами, состояние может быть значением struct: { "current_page": 5, "last_page": 3, } Максимальный размер — 50 КБ.

Ожидал

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

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

string

Список фраз, которые Действие ожидает от произнесения пользователя для искажения речи. Допускается до 1000 фраз. Примечание. Это поле имеет то же значение, что и ExpectedInput.speech_biasing_hints в API версии 2.