- HTTP-запрос
- Параметры пути
- Тело запроса
- Тело ответа
- Пользовательский ввод
- Тип ввода
- Свойства устройства
- Поверхность
- Расположение
- ШиротаДлительность
- Выход
- Холст
- Быстрый
- Простой
- Содержание
- Карта
- Изображение
- Заполнение изображения
- Связь
- OpenUrl
- URL-подсказка
- Стол
- ТаблицаСтолбец
- Горизонтальное выравнивание
- ТаблицаРоу
- Таблеселл
- СМИ
- Медиатип
- Необязательные элементы управления медиа
- Медиаобъект
- Медиаизображение
- Коллекция
- КоллекцияЭлемент
- Список
- Листитем
- Предположение
- Диагностика
- Событие выполнения
- Состояние выполнения
- Слоты
- Статус заполнения слота
- Слот
- Слотрежим
- Статус слота
- Статус
- Усерконверсатионинпут
- ИнтентМатч
- УсловияОценено
- Состояние
- OnSceneEnter
- ВебхукЗапрос
- ВебхукОтвет
- WebhookInitiatedTransition
- СлотМатч
- Слот запрошен
- Слот проверен
- ФормаЗаполнена
- ОжиданиеForUserInput
- Конец разговора
Воспроизводит один раунд разговора.
HTTP-запрос
POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction
URL-адрес использует синтаксис транскодирования gRPC .
Параметры пути
Параметры | |
---|---|
project | Необходимый. Тестируемый проект, обозначенный идентификатором проекта. Формат: проекты/{проект} |
Тело запроса
Тело запроса содержит данные следующей структуры:
JSON-представление | |
---|---|
{ "input": { object ( |
Поля | |
---|---|
input | Необходимый. Ввод предоставлен пользователем. |
deviceProperties | Необходимый. Свойства устройства, используемого для взаимодействия с Действием. |
conversationToken | Непрозрачный токен, который необходимо передать как полученный от SendInteractionResponse при предыдущем взаимодействии. Это значение можно оставить неустановленным, чтобы начать новый разговор либо в качестве первого взаимодействия в сеансе тестирования, либо для прекращения предыдущего разговора и начала нового. |
Тело ответа
В случае успеха тело ответа содержит данные следующей структуры:
Ответ на раунд разговора.
JSON-представление | |
---|---|
{ "output": { object ( |
Поля | |
---|---|
output | Вывод предоставляется пользователю. |
diagnostics | Диагностическая информация, объясняющая, как был обработан запрос. |
conversationToken | Непрозрачный токен, который необходимо установить в SendInteractionRequest при следующем вызове RPC, чтобы продолжить тот же диалог. |
Пользовательский ввод
Пользовательский ввод, предоставленный в ходе разговора.
JSON-представление | |
---|---|
{
"query": string,
"type": enum ( |
Поля | |
---|---|
query | Содержимое ввода, отправленного пользователем. |
type | Тип входа. |
Тип ввода
Указывает источник ввода, печатный запрос или голосовой запрос.
Перечисления | |
---|---|
INPUT_TYPE_UNSPECIFIED | Неуказанный источник ввода. |
TOUCH | Запрос из взаимодействия с графическим интерфейсом. |
VOICE | Голосовой запрос. |
KEYBOARD | Типизированный запрос. |
URL | Действие было вызвано URL-ссылкой. |
Свойства устройства
Свойства устройства, относящиеся к раунду разговора.
JSON-представление | |
---|---|
{ "surface": enum ( |
Поля | |
---|---|
surface | Поверхность, используемая для взаимодействия с Действием. |
location | Местоположение устройства, например широта, долгота и форматированный адрес. |
locale | Языковой стандарт, установленный на устройстве. Формат должен соответствовать BCP 47: https://tools.ietf.org/html/bcp47. Примеры: en, en-US, es-419 (дополнительные примеры можно найти на https://tools.ietf.org/html/bcp47#appendix ). -А) . |
timeZone | Часовой пояс, установленный на устройстве. Формат должен соответствовать базе данных часовых поясов IANA, например «Америка/Нью-Йорк»: https://www.iana.org/time-zones . |
Поверхность
Возможные поверхности, используемые для взаимодействия с Действием. В будущем могут быть включены дополнительные значения.
Перечисления | |
---|---|
SURFACE_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
SPEAKER | Динамик (например, Google Home). |
PHONE | Телефон. |
ALLO | Алло Чат. |
SMART_DISPLAY | Интеллектуальное устройство отображения. |
KAI_OS | КайОС. |
Расположение
Контейнер, представляющий местоположение.
JSON-представление | |
---|---|
{
"coordinates": {
object ( |
Поля | |
---|---|
coordinates | Геокоординаты. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
formattedAddress | Отобразить адрес, например, «1600 Amphitheatre Pkwy, Mountain View, CA 94043». Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
zipCode | Почтовый индекс. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
city | Город. Требуется разрешение [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] или [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
ШиротаДлительность
Объект, представляющий пару широты и долготы. Это выражается в виде пары двойных чисел, обозначающих градусы широты и градусы долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в пределах нормализованных диапазонов.
JSON-представление | |
---|---|
{ "latitude": number, "longitude": number } |
Поля | |
---|---|
latitude | Широта в градусах. Оно должно находиться в диапазоне [-90,0, +90,0]. |
longitude | Долгота в градусах. Оно должно находиться в диапазоне [-180,0, +180,0]. |
Выход
Видимый пользователю вывод раунда разговора.
JSON-представление | |
---|---|
{ "text": string, "speech": [ string ], "canvas": { object ( |
Поля | |
---|---|
text | Голосовой ответ отправляется пользователю в виде простой строки. |
speech[] | Речевое содержание, созданное Действием. Это может включать элементы разметки, такие как SSML. |
canvas | Интерактивный контент Canvas. |
actionsBuilderPrompt | Состояние подсказки в конце раунда разговора. Дополнительная информация о приглашении: https://developers.google.com/assistant/conversational/prompts. |
Холст
Представляет ответ Interactive Canvas, который будет отправлен пользователю. Его можно использовать вместе с полем «firstSimple» в содержащем приглашении для разговора с пользователем в дополнение к отображению ответа на интерактивном холсте. Максимальный размер ответа — 50 КБ.
JSON-представление | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "enableFullScreen": boolean } |
Поля | |
---|---|
url | URL-адрес интерактивного веб-приложения на основе холста для загрузки. Если не установлено, URL-адрес текущего активного холста будет использоваться повторно. |
data[] | Необязательный. Данные JSON, которые будут переданы на веб-страницу иммерсивного опыта как событие. Если поле «переопределить» в содержащем приглашении имеет значение «ложь», значения данных, определенные в этом приглашении Canvas, будут добавлены после значений данных, определенных в предыдущих приглашениях Canvas. |
suppressMic | Необязательный. Значение по умолчанию: ложь. |
enableFullScreen | Если |
Быстрый
Представлять ответ пользователю.
JSON-представление | |
---|---|
{ "append": boolean, "override": boolean, "firstSimple": { object ( |
Поля | |
---|---|
append | Необязательный. Режим объединения этих сообщений с ранее определенными сообщениями. «false» очистит все ранее определенные сообщения (первое и последнее простое, содержимое, ссылку на предложения и холст) и добавит сообщения, определенные в этом приглашении. «true» добавит сообщения, определенные в этом приглашении, к сообщениям, определенным в предыдущих ответах. Установка для этого поля значения «истина» также позволит добавлять к некоторым полям простые приглашения, приглашение «Предложение» и приглашение «Холст» (часть приглашения «Содержимое»). Сообщения о содержимом и ссылках всегда будут перезаписаны, если они определены в приглашении. Значение по умолчанию — «ложь». |
override | Необязательный. Режим объединения этих сообщений с ранее определенными сообщениями. «true» удаляет все ранее определенные сообщения (первое и последнее простое, содержимое, ссылку на предложения и холст) и добавляет сообщения, определенные в этом приглашении. «false» добавляет сообщения, определенные в этом приглашении, к сообщениям, определенным в предыдущих ответах. Если оставить для этого поля значение «false», также можно будет добавлять к некоторым полям простые приглашения, приглашение «Предложения» и приглашение «Холст» (часть приглашения «Содержимое»). Сообщения «Содержимое» и «Ссылка» всегда перезаписываются, если они определены в приглашении. Значение по умолчанию — «ложь». |
firstSimple | Необязательный. Первый голосовой и текстовый ответ. |
content | Необязательный. Содержимое, такое как карточка, список или медиафайл, который будет отображаться пользователю. |
lastSimple | Необязательный. Последний голосовой и текстовый ответ. |
suggestions[] | Необязательный. Предложения, которые будут отображаться пользователю и всегда будут появляться в конце ответа. Если поле «переопределить» в содержащем приглашении имеет значение «ложь», заголовки, определенные в этом поле, будут добавлены к заголовкам, определенным в любых ранее определенных подсказках предложений, а повторяющиеся значения будут удалены. |
link | Необязательный. Дополнительный чип предложения, который может ссылаться на соответствующее приложение или сайт. Чип будет отображаться с заголовком «Открыть». |
canvas | Необязательный. Представляет ответ Interactive Canvas, который будет отправлен пользователю. |
Простой
Представляет простой запрос, который необходимо отправить пользователю.
JSON-представление | |
---|---|
{ "speech": string, "text": string } |
Поля | |
---|---|
speech | Необязательный. Представляет речь, которая будет произнесена пользователю. Это может быть SSML или преобразование текста в речь. Если поле «переопределить» в содержащем приглашении имеет значение «истина», речь, определенная в этом поле, заменяет речь предыдущего простого приглашения. |
text | Необязательный текст для отображения в чате. Если не задано, будет использоваться отображение речевого поля выше. Ограничено 640 символами. Если поле «переопределить» в содержащем приглашении имеет значение «истина», текст, определенный в этом поле, заменяется на текст предыдущего простого приглашения. |
Содержание
Содержимое, которое будет показано.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
content поля объединения. Содержание. content может быть только одним из следующих: | ||
card | Базовая карта. | |
image | Изображение. | |
table | Настольная карта. | |
media | Ответ, указывающий набор медиафайлов для воспроизведения. | |
canvas | Ответ, который будет использоваться для интерактивного взаимодействия с холстом. | |
collection | Карточка, представляющая набор вариантов на выбор. | |
list | Карточка со списком вариантов для выбора. |
Карта
Базовая карточка для отображения некоторой информации, например изображения и/или текста.
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
Поля | |
---|---|
title | Общее название карты. Необязательный. |
subtitle | Необязательный. |
text | Текст карточки. Поддерживает ограниченный набор синтаксиса уценки для форматирования. Обязательно, если изображение не присутствует. |
image | Изображение героя для карты. Высота фиксирована и равна 192dp. Необязательный. |
imageFill | Как будет заполнен фон изображения. Необязательный. |
button | Кнопка. Необязательный. |
Изображение
Изображение, отображаемое на карточке.
JSON-представление | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
Поля | |
---|---|
url | Исходный URL изображения. Изображения могут быть в формате JPG, PNG и GIF (анимированные и неанимированные). Например, |
alt | Текстовое описание изображения, которое будет использоваться для обеспечения доступности, например программы чтения с экрана. Необходимый. |
height | Высота изображения в пикселях. Необязательный. |
width | Ширина изображения в пикселях. Необязательный. |
Заполнение изображения
Возможные варианты отображения изображения, влияющие на представление изображения. Это следует использовать, когда соотношение сторон изображения не соответствует соотношению сторон контейнера изображения.
Перечисления | |
---|---|
UNSPECIFIED | Неуказанная заливка изображения. |
GRAY | Заполните промежутки между изображением и контейнером изображения серыми полосами. |
WHITE | Заполните промежутки между изображением и контейнером изображения белыми полосами. |
CROPPED | Изображение масштабируется таким образом, чтобы ширина и высота изображения соответствовали размерам контейнера или превышали их. Это может обрезать верхнюю и нижнюю часть изображения, если масштабированная высота изображения больше высоты контейнера, или обрезать левую и правую часть изображения, если ширина масштабированного изображения больше ширины контейнера. Это похоже на «Режим масштабирования» на широкоэкранном телевизоре при воспроизведении видео с соотношением сторон 4:3. |
Связь
Ссылка на контент.
JSON-представление | |
---|---|
{
"name": string,
"open": {
object ( |
Поля | |
---|---|
name | Название ссылки |
open | Что происходит, когда пользователь открывает ссылку |
OpenUrl
Действие, выполняемое, когда пользователь открывает ссылку.
JSON-представление | |
---|---|
{
"url": string,
"hint": enum ( |
Поля | |
---|---|
url | Поле URL-адреса, которое может быть любым из: URL-адреса http/https для открытия приложения, связанного с приложением, или веб-страницы. |
hint | Указывает подсказку для типа URL-адреса. |
URL-подсказка
Различные типы подсказок URL.
Перечисления | |
---|---|
LINK_UNSPECIFIED | Не указано |
AMP | URL-адрес, указывающий непосредственно на контент AMP, или канонический URL-адрес, который ссылается на контент AMP через . |
Стол
Карточка таблицы для отображения таблицы текста.
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
Поля | |
---|---|
title | Общее название таблицы. Необязательно, но должно быть установлено, если установлены субтитры. |
subtitle | Подзаголовок к таблице. Необязательный. |
image | Изображение, связанное с таблицей. Необязательный. |
columns[] | Заголовки и выравнивание столбцов. |
rows[] | Данные строки таблицы. Первые три строки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие строки будут отображаться для данной поверхности. На поверхностях, поддерживающих возможность WEB_BROWSER, вы можете указать пользователю на веб-страницу с дополнительными данными. |
button | Кнопка. |
ТаблицаСтолбец
Описывает столбец в таблице.
JSON-представление | |
---|---|
{
"header": string,
"align": enum ( |
Поля | |
---|---|
header | Текст заголовка столбца. |
align | Горизонтальное выравнивание содержимого по столбцу. Если не указано, содержимое будет выровнено по переднему краю. |
Горизонтальное выравнивание
Выравнивание содержимого внутри ячейки.
Перечисления | |
---|---|
UNSPECIFIED | Неопределенное горизонтальное выравнивание. |
LEADING | Передний край ячейки. Это значение по умолчанию. |
CENTER | Содержимое выравнивается по центру столбца. |
TRAILING | Содержимое выравнивается по заднему краю столбца. |
ТаблицаРоу
Описывает строку в таблице.
JSON-представление | |
---|---|
{
"cells": [
{
object ( |
Поля | |
---|---|
cells[] | Ячейки в этом ряду. Первые три ячейки гарантированно будут показаны, но на определенных поверхностях остальные могут быть обрезаны. Пожалуйста, протестируйте с помощью симулятора, чтобы увидеть, какие ячейки будут отображаться для данной поверхности. |
divider | Указывает, должен ли быть разделитель после каждой строки. |
Таблеселл
Описывает ячейку в строке.
JSON-представление | |
---|---|
{ "text": string } |
Поля | |
---|---|
text | Текстовое содержимое ячейки. |
СМИ
Представляет один медиа-объект. Содержит информацию о носителе, такую как имя, описание, URL-адрес и т. д.
JSON-представление | |
---|---|
{ "mediaType": enum ( |
Поля | |
---|---|
mediaType | Тип носителя. |
startOffset | Начальное смещение первого медиа-объекта. Длительность в секундах, содержащая до девяти дробных цифр, заканчивающаяся символом « |
optionalMediaControls[] | Дополнительные типы управления мультимедиа, которые может поддерживать этот сеанс ответа на мультимедиа. Если установлено, запрос будет отправлен на 3p, когда произойдет определенное медиа-событие. Если не установлено, 3p все равно должен обрабатывать два типа управления по умолчанию: FINISHED и FAILED. |
mediaObjects[] | Список медиа-объектов |
Медиатип
Тип носителя этого ответа.
Перечисления | |
---|---|
MEDIA_TYPE_UNSPECIFIED | Неуказанный тип носителя. |
AUDIO | Аудио файл. |
MEDIA_STATUS_ACK | Ответ на подтверждение отчета о состоянии СМИ. |
Необязательные элементы управления медиа
Дополнительные типы управления мультимедиа, которые может поддерживать ответ мультимедиа
Перечисления | |
---|---|
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED | Неустановленное значение |
PAUSED | Приостановленное мероприятие. Срабатывает, когда пользователь приостанавливает воспроизведение мультимедиа. |
STOPPED | Остановленное мероприятие. Срабатывает, когда пользователь выходит из сеанса 3p во время воспроизведения мультимедиа. |
Медиаобъект
Представляет один медиа-объект
JSON-представление | |
---|---|
{
"name": string,
"description": string,
"url": string,
"image": {
object ( |
Поля | |
---|---|
name | Имя этого медиа-объекта. |
description | Описание этого медиа-объекта. |
url | URL-адрес, указывающий на медиа-контент. |
image | Изображение для показа вместе с медиа-картой. |
Медиаизображение
Изображение для показа вместе с медиа-картой.
JSON-представление | |
---|---|
{ // Union field |
Поля | ||
---|---|---|
image поля объединения. Изображение. image может быть только одним из следующих: | ||
large | Большое изображение, например обложка альбома и т. д. | |
icon | Небольшой значок изображения отображается справа от заголовка. Его размер изменен до 36x36 dp. |
Коллекция
Карточка, представляющая набор вариантов на выбор.
JSON-представление | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
Поля | |
---|---|
title | Название сборника. Необязательный. |
subtitle | Подзаголовок сборника. Необязательный. |
items[] | мин: 2 макс: 10 |
imageFill | Как будут заполняться фоны изображений предметов коллекции. Необязательный. |
КоллекцияЭлемент
Предмет в коллекции
JSON-представление | |
---|---|
{ "key": string } |
Поля | |
---|---|
key | Необходимый. Ключ NLU, соответствующий имени ключа записи в связанном типе. |
Список
Карточка для представления списка вариантов на выбор.
JSON-представление | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
Поля | |
---|---|
title | Название списка. Необязательный. |
subtitle | Подзаголовок списка. Необязательный. |
items[] | мин: 2 макс: 30 |
Листитем
Элемент в списке
JSON-представление | |
---|---|
{ "key": string } |
Поля | |
---|---|
key | Необходимый. Ключ NLU, соответствующий имени ключа записи в связанном типе. |
Предположение
Введите предложение, которое будет представлено пользователю.
JSON-представление | |
---|---|
{ "title": string } |
Поля | |
---|---|
title | Необходимый. Текст, отображаемый в чипе предложения. При нажатии этот текст будет дословно отправлен обратно в беседу, как если бы пользователь его набрал. Каждое название должно быть уникальным среди набора фишек предложений. Макс. 25 символов |
Диагностика
Диагностическая информация, относящаяся к раунду разговора.
JSON-представление | |
---|---|
{
"actionsBuilderEvents": [
{
object ( |
Поля | |
---|---|
actionsBuilderEvents[] | Список событий с подробной информацией об обработке раунда беседы на этапах модели взаимодействия Actions Builder. Заполняется только для приложений Actions Builder и Actions SDK. |
Событие выполнения
Содержит информацию о событии выполнения, которое произошло во время обработки запроса диалога Actions Builder. Обзор этапов запроса беседы см. на странице https://developers.google.com/assistant/conversational/actions .
JSON-представление | |
---|---|
{ "eventTime": string, "executionState": { object ( |
Поля | ||
---|---|---|
eventTime | Временная метка, когда произошло событие. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: | |
executionState | Состояние выполнения во время этого события. | |
status | Результирующий статус конкретного шага выполнения. | |
warningMessages[] | Список предупреждений, созданных во время выполнения этого события. Предупреждения — это подсказки для разработчика, обнаруженные во время запроса на беседу. Обычно они некритичны и не останавливают выполнение запроса. Например, предупреждения могут генерироваться, когда веб-перехватчик пытается переопределить несуществующий пользовательский тип. Об ошибках сообщается в виде кода состояния сбоя, но предупреждения могут присутствовать, даже если состояние «ОК». | |
Поле объединения EventData . Подробная информация, относящаяся к различным событиям, которые могут участвовать в обработке раунда разговора. Установленное здесь поле определяет тип этого события. EventData может быть только одним из следующих: | ||
userInput | Событие обработки пользовательского ввода. | |
intentMatch | Событие соответствия намерения. | |
conditionsEvaluated | Событие оценки состояния. | |
onSceneEnter | Событие выполнения OnSceneEnter. | |
webhookRequest | Событие отправки запроса вебхука. | |
webhookResponse | Событие получения ответа вебхука. | |
webhookInitiatedTransition | Событие перехода, инициируемое Webhook. | |
slotMatch | Событие сопоставления слотов. | |
slotRequested | Событие запроса слота. | |
slotValidated | Событие проверки слота. | |
formFilled | Событие заполнения формы. | |
waitingUserInput | Событие ожидания ввода пользователя. | |
endConversation | Событие окончания разговора. |
Состояние выполнения
Текущее состояние исполнения.
JSON-представление | |
---|---|
{ "currentSceneId": string, "sessionStorage": { object }, "slots": { object ( |
Поля | |
---|---|
currentSceneId | Идентификатор сцены, которая активна в данный момент. |
sessionStorage | Состояние хранилища сеансов: https://developers.google.com/assistant/conversational/storage-session. |
slots | Состояние заполнения слотов, если применимо: https://developers.google.com/assistant/conversational/scenes#slot_filling |
promptQueue[] | Очередь подсказок: https://developers.google.com/assistant/conversational/prompts. |
userStorage | Состояние пользовательского хранилища: https://developers.google.com/assistant/conversational/storage-user. |
householdStorage | Состояние домашнего хранилища: https://developers.google.com/assistant/conversational/storage-home. |
Слоты
Представляет текущее состояние слотов сцены.
JSON-представление | |
---|---|
{ "status": enum ( |
Поля | |
---|---|
status | Текущий статус заполнения слотов. |
slots | Слоты, связанные с текущей сценой. Объект, содержащий список пар |
Статус заполнения слота
Представляет текущий статус заполнения слотов.
Перечисления | |
---|---|
UNSPECIFIED | Резервное значение, если поле использования не заполнено. |
INITIALIZED | Слоты инициализированы, но заполнение слотов не началось. |
COLLECTING | Значения слотов собираются. |
FINAL | Все значения слотов являются окончательными и не могут быть изменены. |
Слот
Представляет слот.
JSON-представление | |
---|---|
{ "mode": enum ( |
Поля | |
---|---|
mode | Режим слота (обязательный или необязательный). Может быть установлен разработчиком. |
status | Статус слота. |
value | Стоимость слота. Изменение этого значения в ответе приведет к изменению значения в заполнении слота. |
updated | Указывает, было ли получено значение слота в последний ход. Это поле доступно только для чтения. |
prompt | Необязательный. Это приглашение отправляется пользователю, когда необходимо заполнить необходимый слот. Это приглашение переопределяет существующее приглашение, определенное в консоли. Это поле не включается в запрос вебхука. |
Слотрежим
Представляет режим слота, то есть требуется он или нет.
Перечисления | |
---|---|
MODE_UNSPECIFIED | Резервное значение, если поле использования не заполнено. |
OPTIONAL | Указывает, что слот не требуется для завершения заполнения слота. |
REQUIRED | Указывает, что слот необходим для завершения заполнения слота. |
Статус слота
Представляет состояние слота.
Перечисления | |
---|---|
SLOT_UNSPECIFIED | Резервное значение, если поле использования не заполнено. |
EMPTY | Указывает, что слот не имеет значений. Этот статус нельзя изменить посредством ответа. |
INVALID | Указывает, что значение слота недопустимо. Этот статус можно установить через ответ. |
FILLED | Указывает, что слот имеет значение. Этот статус нельзя изменить посредством ответа. |
Статус
Тип Status
определяет логическую модель ошибок, подходящую для различных сред программирования, включая API REST и API RPC. Он используется gRPC . Каждое сообщение Status
содержит три части данных: код ошибки, сообщение об ошибке и сведения об ошибке.
Подробнее об этой модели ошибок и о том, как с ней работать, можно узнать в API Design Guide .
JSON-представление | |
---|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
Поля | |
---|---|
code | Код состояния, который должен быть значением перечисления |
message | Сообщение об ошибке для разработчика, которое должно быть на английском языке. Любое сообщение об ошибке, обращенное к пользователю, должно быть локализовано и отправлено в поле |
details[] | Список сообщений, содержащих сведения об ошибке. Существует общий набор типов сообщений для использования API. Объект, содержащий поля произвольного типа. Дополнительное поле |
Усерконверсатионинпут
Информация, связанная с пользовательским вводом.
JSON-представление | |
---|---|
{ "type": string, "originalQuery": string } |
Поля | |
---|---|
type | Тип пользовательского ввода. Например, клавиатура, голос, сенсорный экран и т. д. |
originalQuery | Исходный ввод текста от пользователя. |
ИнтентМатч
Информация о совпадении по намерению (глобально или внутри сцены): https://developers.google.com/assistant/conversational/intents .
JSON-представление | |
---|---|
{
"intentId": string,
"intentParameters": {
string: {
object ( |
Поля | |
---|---|
intentId | Идентификатор намерения, вызвавшего это взаимодействие. |
intentParameters | Параметры намерения, вызвавшие это взаимодействие. Объект, содержащий список пар |
handler | Имя обработчика, прикрепленного к этому взаимодействию. |
nextSceneId | Сцена, к которой приводит это взаимодействие. |
УсловияОценено
Результаты оценки условий: https://developers.google.com/assistant/conversational/scenes#conditions.
JSON-представление | |
---|---|
{ "failedConditions": [ { object ( |
Поля | |
---|---|
failedConditions[] | Список условий, которые были оценены как «ложные». |
successCondition | Первое условие, которое было оценено как «истина», если таковое имеется. |
Состояние
Оцененное состояние.
JSON-представление | |
---|---|
{ "expression": string, "handler": string, "nextSceneId": string } |
Поля | |
---|---|
expression | Выражение, указанное в этом условии. |
handler | Имя обработчика, указанное в оцениваемом условии. |
nextSceneId | Сцена назначения указана в оцененном состоянии. |
OnSceneEnter
Информация о выполнении этапа onSceneEnter: https://developers.google.com/assistant/conversational/scenes#onEnter.
JSON-представление | |
---|---|
{ "handler": string } |
Поля | |
---|---|
handler | Имя обработчика, указанное в событии onSceneEnter. |
ВебхукЗапрос
Информация о запросе, отправленном на веб-хук действий: https://developers.google.com/assistant/conversational/webhooks#payloads.
JSON-представление | |
---|---|
{ "requestJson": string } |
Поля | |
---|---|
requestJson | Полезная нагрузка запроса веб-перехватчика. |
ВебхукОтвет
Информация об ответе, полученном от веб-перехватчика Action: https://developers.google.com/assistant/conversational/webhooks#payloads.
JSON-представление | |
---|---|
{ "responseJson": string } |
Поля | |
---|---|
responseJson | Полезная нагрузка ответа веб-перехватчика. |
WebhookInitiatedTransition
Событие, инициируемое целевой сценой, возвращенной из веб-перехватчика: https://developers.google.com/assistant/conversational/webhooks#transition_scenes
JSON-представление | |
---|---|
{ "nextSceneId": string } |
Поля | |
---|---|
nextSceneId | ID сцены, к которой ведет переход. |
СлотМатч
Информация о соответствующих слотах: https://developers.google.com/assistant/conversational/scenes#slot_filling.
JSON-представление | |
---|---|
{
"nluParameters": {
string: {
object ( |
Поля | |
---|---|
nluParameters | Параметры, извлекаемые NLU из пользовательского ввода. Объект, содержащий список пар |
Слот запрошен
Информация о запрашиваемом слоте: https://developers.google.com/assistant/conversational/scenes#slot_filling.
JSON-представление | |
---|---|
{
"slot": string,
"prompt": {
object ( |
Поля | |
---|---|
slot | Имя запрошенного слота. |
prompt | Слот подсказка. |
Слот проверен
Событие, которое происходит после завершения проверки веб-перехватчика для слотов: https://developers.google.com/assistant/conversational/scenes#slot_filling .
ФормаЗаполнена
Событие, которое происходит, когда форма полностью заполнена: https://developers.google.com/assistant/conversational/scenes#slot_filling
ОжиданиеForUserInput
Событие, которое происходит, когда системе требуется ввод данных пользователем: https://developers.google.com/assistant/conversational/scenes#input
Конец разговора
Событие, сообщающее о завершении разговора с агентом.