Files

Обертка для списка файлов.

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

  // Union field file_type can be only one of the following:
  "configFiles": {
    object (ConfigFiles)
  },
  "dataFiles": {
    object (DataFiles)
  }
  // End of list of possible types for union field file_type.
}
Поля
Поле объединения file_type . Одновременно на сервер можно отправлять только один тип файлов: файлы конфигурации или файлы данных. file_type может быть только одним из следующих:
configFiles

object ( ConfigFiles )

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

dataFiles

object ( DataFiles )

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

Конфигурационные файлы

Обертка для повторяющихся файлов конфигурации. Повторяющиеся поля не могут существовать в одном из них.

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

object ( ConfigFile )

Несколько файлов конфигурации.

Конфигурационный файл

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

JSON-представление
{
  "filePath": string,

  // Union field file can be only one of the following:
  "manifest": {
    object (Manifest)
  },
  "actions": {
    object (Actions)
  },
  "settings": {
    object (Settings)
  },
  "webhook": {
    object (Webhook)
  },
  "intent": {
    object (Intent)
  },
  "type": {
    object (Type)
  },
  "entitySet": {
    object (EntitySet)
  },
  "globalIntentEvent": {
    object (GlobalIntentEvent)
  },
  "scene": {
    object (Scene)
  },
  "staticPrompt": {
    object (StaticPrompt)
  },
  "accountLinkingSecret": {
    object (AccountLinkingSecret)
  },
  "resourceBundle": {
    object
  }
  // End of list of possible types for union field file.
}
Поля
filePath

string

Относительный путь к файлу конфигурации из корня проекта в файловой структуре SDK. Для каждого типа файлов ниже указан разрешенный путь к файлу. Например: настройки/settings.yaml

file поля объединения. Каждый тип файла конфигурации должен иметь соответствующее поле в одном из них. file может быть только одним из следующих:
manifest

object ( Manifest )

Один файл манифеста. Разрешенный путь к файлу: manifest.yaml

actions

object ( Actions )

Один файл действий, содержащий все определенные действия. Разрешенные пути к файлам: actions/{language}?/actions.yaml

settings

object ( Settings )

Конфигурация единых настроек, которая включает нелокализуемые настройки и настройки для локали проекта по умолчанию (если указано). Для файла переопределения локали будет заполнено только поле localizedSettings. Разрешенные пути к файлам: settings/{language}?/settings.yaml Обратите внимание, что нелокализованный файл настроек settings/settings.yaml должен присутствовать в запросах потока записи.

webhook

object ( Webhook )

Определение одного вебхука. Разрешенный путь к файлу: webhooks/{WebhookName}.yaml

intent

object ( Intent )

Определение единого намерения. Разрешенные пути к файлам: custom/intents/{language}?/{IntentName}.yaml

type

object ( Type )

Определение одного типа. Разрешенные пути к файлам: custom/types/{language}?/{TypeName}.yaml

entitySet

object ( EntitySet )

Определение набора отдельных сущностей. Разрешенные пути к файлам: custom/entitySets/{language}?/{EntitySetName}.yaml

globalIntentEvent

object ( GlobalIntentEvent )

Определение единого глобального события намерения. Разрешенные пути к файлам: custom/global/{GlobalIntentEventName}.yaml Имя файла (GlobalIntentEventName) должно быть именем намерения, которому соответствует это глобальное событие намерения.

scene

object ( Scene )

Определение одной сцены. Разрешенные пути к файлам: custom/scenes/{SceneName}.yaml

staticPrompt

object ( StaticPrompt )

Определение единого статического приглашения. Разрешенные пути к файлам: custom/prompts/{language}?/{StaticPromptName}.yaml

accountLinkingSecret

object ( AccountLinkingSecret )

Метаданные, соответствующие секрету клиента, используемому при привязке учетной записи. Разрешенный путь к файлу: settings/accountLinkingSecret.yaml

resourceBundle

object ( Struct format)

Один пакет ресурсов, который представляет собой сопоставление строки со строкой или списком строк. Пакеты ресурсов можно использовать для локализации строк в статических подсказках. Разрешенные пути к файлам: resources/strings/{language}?/{multiple directories}?/{BundleName}.yaml

Манифест

Содержит «переносимую» информацию, т. е. не специфичную для какого-либо конкретного проекта, и ее можно перемещать между проектами.

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

string

Версия формата файла. Текущая версия формата файла — 1.0. Пример: «1.0».

Действия

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

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

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

Сопоставьте намерения с настраиваемыми действиями, чтобы настроить вызов проекта. Намерения вызова могут быть либо системными, либо пользовательскими намерениями, определенными в пакете «custom/intents/». Все намерения, определенные здесь (системные и пользовательские намерения), должны иметь соответствующий файл намерений в пакете «custom/global/».

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

CustomAction

Подробности о специальном действии.

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

object ( Engagement )

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

Обручение

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

JSON-представление
{
  "title": string,
  "pushNotification": {
    object (PushNotification)
  },
  "actionLink": {
    object (ActionLink)
  },
  "assistantLink": {
    object (AssistantLink)
  },
  "dailyUpdate": {
    object (DailyUpdate)
  }
}
Поля
title

string

Название взаимодействия, которое будет отправлено конечным пользователям с просьбой дать разрешение на получение обновлений. Запрос, отправляемый конечным пользователям для ежедневных обновлений, будет выглядеть так: «В какое время вы хотите, чтобы я отправлял ваши ежедневные уведомления по {title}», а для push-уведомлений — «Ничего, если я отправлю push-уведомления для {title}». Это поле является локализуемым.

pushNotification

object ( PushNotification )

Настройки push-уведомлений, которые поддерживает это взаимодействие.

dailyUpdate

object ( DailyUpdate )

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

Отправить уведомление

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

Ежедневное обновление

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

Настройки

Представляет параметры проекта Actions, которые не зависят от языкового стандарта. Следующий тег: 22

JSON-представление
{
  "projectId": string,
  "defaultLocale": string,
  "enabledRegions": [
    string
  ],
  "disabledRegions": [
    string
  ],
  "category": enum (Category),
  "usesTransactionsApi": boolean,
  "usesDigitalPurchaseApi": boolean,
  "usesInteractiveCanvas": boolean,
  "usesHomeStorage": boolean,
  "designedForFamily": boolean,
  "containsAlcoholOrTobaccoContent": boolean,
  "keepsMicOpen": boolean,
  "surfaceRequirements": {
    object (SurfaceRequirements)
  },
  "testingInstructions": string,
  "localizedSettings": {
    object (LocalizedSettings)
  },
  "accountLinking": {
    object (AccountLinking)
  },
  "selectedAndroidApps": [
    string
  ]
}
Поля
projectId

string

Идентификатор проекта действий.

defaultLocale

string

Языковой стандарт, используемый в проекте по умолчанию. Для всех файлов, кроме resources/ в пути которых нет локали, локализованные данные присваиваются этому defaultLocale . Для файлов в папке resources/ no locale это означает, что ресурс применим ко всем локали.

enabledRegions[]

string

Представляет регионы, в которых пользователи могут вызывать ваши действия, в зависимости от местоположения пользователя. Невозможно установить, если установлен disabledRegions . Если оба enabledRegions и disabledRegions не указаны, пользователи могут вызывать ваши действия во всех регионах. Каждый регион представлен с использованием канонического названия геотаргетов Adwords. См . https://developers.google.com/adwords/api/docs/appendix/geotargeting. Примеры: – «Германия» – «Гана» – «Греция» – «Гренада» – «Великобритания» – «Соединённые Штаты» – «Малые отдаленные острова США» — «Уругвай».

disabledRegions[]

string

Представляет регионы, в которых ваши действия заблокированы, в зависимости от местоположения пользователя. Невозможно установить, если установлен enabledRegions . Каждый регион представлен с использованием канонического названия геотаргетов Adwords. См . https://developers.google.com/adwords/api/docs/appendix/geotargeting. Примеры: – «Германия» – «Гана» – «Греция» – «Гренада» – «Великобритания» – «Соединённые Штаты» – «Малые отдаленные острова США» — «Уругвай».

category

enum ( Category )

Категория для этого проекта Actions.

usesTransactionsApi

boolean

Могут ли Действия использовать транзакции (например, бронирование, прием заказов и т. д.). Если значение false, то попытки использовать API транзакций завершаются неудачно.

usesDigitalPurchaseApi

boolean

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

usesInteractiveCanvas

boolean

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

usesHomeStorage

boolean

Используют ли Действия функцию домашнего хранилища.

designedForFamily

boolean

Предназначен ли контент Actions для всей семьи (DFF).

containsAlcoholOrTobaccoContent

boolean

Содержит ли «Действия» контент, связанный с алкоголем или табаком.

keepsMicOpen

boolean

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

surfaceRequirements

object ( SurfaceRequirements )

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

testingInstructions

string

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

localizedSettings

object ( LocalizedSettings )

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

accountLinking

object ( AccountLinking )

Разрешите пользователям создавать или связывать учетные записи с помощью входа в Google и/или вашей собственной службы OAuth.

selectedAndroidApps[]

string

Приложения Android, выбранные для доступа к покупкам в Google Play для транзакций. Это подборка приложений для Android, подключенных к проекту действий для подтверждения владения брендом и включения дополнительных функций. Дополнительную информацию см. на странице https://developers.google.com/assistant/console/brand-verification .

Категория

Выбор категории для проекта Actions.

Перечисления
CATEGORY_UNSPECIFIED Неизвестно/Не указано.
BUSINESS_AND_FINANCE Категория «Бизнес и финансы».
EDUCATION_AND_REFERENCE Категория «Образование и справка».
FOOD_AND_DRINK Категория «Еда и напитки».
GAMES_AND_TRIVIA Категория «Игры и викторины».
HEALTH_AND_FITNESS Категория «Здоровье и фитнес».
KIDS_AND_FAMILY Категория «Дети и семья».
LIFESTYLE Категория образа жизни.
LOCAL Местная категория.
MOVIES_AND_TV Категория «Кино и ТВ».
MUSIC_AND_AUDIO Категория «Музыка и аудио».
NEWS Категория новостей,
NOVELTY_AND_HUMOR Категория «Новинки и Юмор».
PRODUCTIVITY Категория производительности.
SHOPPING Категория покупок.
SOCIAL Социальная категория.
SPORTS Спортивная категория.
TRAVEL_AND_TRANSPORTATION Категория «Путешествия и транспорт».
UTILITIES Категория коммунальных услуг.
WEATHER Категория погоды.
HOME_CONTROL Категория «Управление домом».

Требования к поверхности

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

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

object ( CapabilityRequirement )

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

Требование к возможностям

Представляет требование о доступности данной возможности.

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

enum ( SurfaceCapability )

Тип возможности.

ПоверхностьВозможности

Возможный набор надводных возможностей.

Перечисления
SURFACE_CAPABILITY_UNSPECIFIED Неизвестно/Не указано.
AUDIO_OUTPUT Surface поддерживает вывод звука.
SCREEN_OUTPUT Surface поддерживает экранный/визуальный вывод.
MEDIA_RESPONSE_AUDIO Surface поддерживает звук ответа мультимедиа.
WEB_BROWSER Surface поддерживает веб-браузеры.
ACCOUNT_LINKING Surface поддерживает привязку учетных записей.
INTERACTIVE_CANVAS Surface поддерживает интерактивный холст.
HOME_STORAGE Surface поддерживает домашнее хранение.

Локализованные настройки

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

JSON-представление
{
  "displayName": string,
  "pronunciation": string,
  "shortDescription": string,
  "fullDescription": string,
  "smallLogoImage": string,
  "largeBannerImage": string,
  "developerName": string,
  "developerEmail": string,
  "termsOfServiceUrl": string,
  "voice": string,
  "voiceLocale": string,
  "privacyPolicyUrl": string,
  "sampleInvocations": [
    string
  ],
  "themeCustomization": {
    object (ThemeCustomization)
  }
}
Поля
displayName

string

Необходимый. Отображаемое имя по умолчанию для этого проекта Actions (если перевод недоступен).

pronunciation

string

Необходимый. Произношение отображаемого имени для вызова его в голосовом (речевом) контексте.

shortDescription

string

Необходимый. Краткое описание проекта Actions по умолчанию (если перевод недоступен). Ограничение в 80 символов.

fullDescription

string

Необходимый. Полное описание по умолчанию для проекта Actions (если перевод недоступен). Ограничение в 4000 символов.

smallLogoImage

string

Необходимый. Небольшое квадратное изображение, 192 x 192 пикселей. Это должно быть указано как ссылка на соответствующее изображение в каталоге resources/images/ . Например, $resources.images.foo (без расширения) для изображения в resources/images/foo.jpg При работе над проектом, полученным из консоли, можно использовать полученный URL-адрес, управляемый Google. URL-адреса из внешних источников не допускаются.

largeBannerImage

string

Необязательный. Большое альбомное изображение, 1920 x 1080 пикселей. Это должно быть указано как ссылка на соответствующее изображение в каталоге resources/images/ . Например, $resources.images.foo (без расширения) для изображения в resources/images/foo.jpg При работе над проектом, полученным из консоли, можно использовать полученный URL-адрес, управляемый Google. URL-адреса из внешних источников не допускаются.

developerName

string

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

developerEmail

string

Необходимый. Контактный адрес электронной почты разработчика.

termsOfServiceUrl

string

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

voice

string

Необходимый. Тип голоса Google Ассистента, который слышат пользователи, когда взаимодействуют с вашими действиями. Поддерживаемые значения: «мужской_1», «мужской_2», «женский_1» и «женский_2».

voiceLocale

string

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

privacyPolicyUrl

string

Необходимый. URL-адрес политики конфиденциальности.

sampleInvocations[]

string

Необязательный. Примеры фраз вызова, отображаемые как часть описания вашего проекта Actions в каталоге Assistant. Это поможет пользователям научиться его использовать.

themeCustomization

object ( ThemeCustomization )

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

ТемаКастомизация

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

JSON-представление
{
  "backgroundColor": string,
  "primaryColor": string,
  "fontFamily": string,
  "imageCornerStyle": enum (ImageCornerStyle),
  "landscapeBackgroundImage": string,
  "portraitBackgroundImage": string
}
Поля
backgroundColor

string

Цвет фона карточек. Действует как запасной вариант, если разработчиками не предоставлен background_image или background_image не подходит для определенных поверхностей. Пример использования: #FAFAFA

primaryColor

string

Основной цвет темы действия будет использоваться для установки цвета текста заголовка и цвета фона элемента действия для действий на картах Google. Пример использования: #FAFAFA

fontFamily

string

Семейство шрифтов, которое будет использоваться для названий карточек. Поддерживаемые шрифты: - Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed Medium - Serif - Serif Bold - Monospace - Cursive - Sans Serif Smallcaps

imageCornerStyle

enum ( ImageCornerStyle )

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

landscapeBackgroundImage

string

Пейзажный режим (минимум 1920х1200 пикселей). Это должно быть указано как ссылка на соответствующее изображение в каталоге resources/images/ . Например: $resources.images.foo (без расширения) для изображения в resources/images/foo.jpg При работе над проектом, полученным из консоли, можно использовать полученный URL-адрес, управляемый Google.

portraitBackgroundImage

string

Портретный режим (минимум 1200х1920 пикселей). Это должно быть указано как ссылка на соответствующее изображение в каталоге resources/images/ . Например: $resources.images.foo (без расширения) для изображения в resources/images/foo.jpg При работе над проектом, полученным из консоли, можно использовать полученный URL-адрес, управляемый Google.

ИзображениеУголокСтиль

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

Перечисления
IMAGE_CORNER_STYLE_UNSPECIFIED Неопределенный/Неопределенный.
CURVED Круглый угол для изображения.
ANGLED Прямоугольный уголок для изображения.

Связывание аккаунтов

AccountLinking позволяет Google направлять пользователя для входа в веб-службы Приложения.

Для типов связывания входа в Google и OAuth + входа в Google Google генерирует идентификатор клиента, идентифицирующий ваше приложение для Google («Идентификатор клиента, выданный Google для ваших действий» в пользовательском интерфейсе консоли). Это поле доступно только для чтения. Его можно проверить, перейдя на страницу привязки учетной записи пользовательского интерфейса консоли. См.: https://developers.google.com/assistant/identity/google-sign-in .

Примечание. Для всех типов настроек привязки учетной записи (кроме входа в Google) вы должны указать имя пользователя и пароль для тестовой учетной записи в Settings.testing_instructions, чтобы группа проверки могла проверить приложение (они не будут видны пользователям).

JSON-представление
{
  "enableAccountCreation": boolean,
  "linkingType": enum (LinkingType),
  "authGrantType": enum (AuthGrantType),
  "appClientId": string,
  "authorizationUrl": string,
  "tokenUrl": string,
  "scopes": [
    string
  ],
  "learnMoreUrl": string,
  "useBasicAuthHeader": boolean
}
Поля
enableAccountCreation

boolean

Необходимый. Если true , пользователям разрешено регистрировать новые учетные записи с помощью голоса. Если false , создание учетной записи разрешено только на вашем веб-сайте. Выберите этот вариант, если вы хотите отобразить свои условия обслуживания или получить согласие пользователя во время регистрации. linkingType не может быть GOOGLE_SIGN_IN, если это false . linkingType не может быть OAUTH, если это true .

linkingType

enum ( LinkingType )

Необходимый. Используемый тип ссылки. Дополнительную информацию о типах ссылок см. на странице https://developers.google.com/assistant/identity .

authGrantType

enum ( AuthGrantType )

Необязательный. Указывает тип аутентификации для OAUTH linkingType.

appClientId

string

Необязательный. Идентификатор клиента, выданный вашим приложением Google. Это идентификатор клиента OAuth2, идентифицирующий Google для вашего сервиса. Устанавливается только при использовании OAuth.

authorizationUrl

string

Необязательный. Конечная точка вашей веб-страницы входа, которая поддерживает код OAuth2 или неявные потоки. URL-адрес должен использовать HTTPS. Устанавливается только при использовании OAuth.

tokenUrl

string

Необязательный. Конечная точка OAuth2 для обмена токенами. URL-адрес должен использовать HTTPS. Это значение не устанавливается при использовании OAuth только с грантом IMPLICIT в качестве типа связи. Устанавливается только при использовании OAuth.

scopes[]

string

Необязательный. Список разрешений, на которые пользователь должен согласиться, чтобы использовать ваш сервис. Устанавливается только при использовании OAuth. При указании этого поля обязательно укажите Условия обслуживания в информации каталога в разделе LocalizedSettings.terms_of_service_url.

learnMoreUrl

string

Необязательный. Это веб-страница вашего сервиса, на которой описаны разрешения, которые пользователь предоставляет Google. Устанавливается только при использовании OAuth и входа в Google. При указании этого поля обязательно укажите Условия обслуживания в информации каталога в разделе LocalizedSettings.terms_of_service_url.

useBasicAuthHeader

boolean

Необязательный. Если это правда, разрешите Google передавать идентификатор клиента и секрет через заголовок базовой аутентификации HTTP. В противном случае Google использует идентификатор клиента и секретный код внутри тела сообщения. Устанавливается только при использовании OAuth. При указании этого поля обязательно укажите Условия обслуживания в информации каталога в разделе LocalizedSettings.terms_of_service_url.

тип ссылки

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

Перечисления
LINKING_TYPE_UNSPECIFIED Неопределенные.
GOOGLE_SIGN_IN Тип связи для входа в Google. При использовании этого типа связи ниже не требуется задавать поля, связанные с OAuth.
OAUTH_AND_GOOGLE_SIGN_IN Тип связи OAuth и входа в Google.
OAUTH Тип связи OAuth.

Аутгранттипе

Тип разрешения OAuth2, который Google использует, чтобы помочь пользователю войти в веб-службу вашего приложения.

Перечисления
AUTH_GRANT_TYPE_UNSPECIFIED Неопределенные.
AUTH_CODE Предоставление кода авторизации. Требуется указать URL-адрес аутентификации и URL-адрес токена доступа.
IMPLICIT Неявное предоставление кода. Требуется только предоставить URL-адрес аутентификации.

Вебхук

Метаданные для разных типов вебхуков. Если вы используете inlineCloudFunction , ваш исходный код должен находиться в каталоге с тем же именем, что и значение ключа executeFunction . Например, значение my_webhook для ключа executeFunction будет иметь следующую структуру кода: - /webhooks/my_webhook.yaml - /webhooks/my_webhook/index.js - /webhooks/my_webhook/package.json

JSON-представление
{
  "handlers": [
    {
      object (Handler)
    }
  ],

  // Union field webhook_type can be only one of the following:
  "httpsEndpoint": {
    object (HttpsEndpoint)
  },
  "inlineCloudFunction": {
    object (InlineCloudFunction)
  }
  // End of list of possible types for union field webhook_type.
}
Поля
handlers[]

object ( Handler )

Список обработчиков для этого вебхука.

Поле объединения webhook_type . Поддерживается только один тип вебхука. webhook_type может быть только одним из следующих:
httpsEndpoint

object ( HttpsEndpoint )

Пользовательская конечная точка HTTPS веб-перехватчика.

inlineCloudFunction

object ( InlineCloudFunction )

Метаданные для облачной функции, развернутые из кода в папке веб-перехватчиков.

Обработчик

Объявляет имя обработчика веб-перехватчика. Вебхук может иметь несколько зарегистрированных обработчиков. Эти обработчики можно вызывать из разных мест вашего проекта Actions.

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

string

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

HTTPSКонечная точка

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

JSON-представление
{
  "baseUrl": string,
  "httpHeaders": {
    string: string,
    ...
  },
  "endpointApiVersion": integer
}
Поля
baseUrl

string

Базовый URL-адрес HTTPS для вашей конечной точки выполнения (HTTP не поддерживается). Имена обработчиков добавляются к базовому URL-пути после двоеточия (в соответствии с руководством по стилю в https://cloud.google.com/apis/design/custom_methods) . Например, базовый URL-адрес «https://gactions.service.com/api» будет получать запросы с URL-адресом «https://gactions.service.com/api:{method}».

httpHeaders

map (key: string, value: string)

Карта параметров HTTP, которые будут включены в запрос POST.

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

endpointApiVersion

integer

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

InlineCloudФункция

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

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

string

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

Намерение

Намерения сопоставляют открытый пользовательский ввод со структурированными объектами. Разговорные фразы сопоставляются с намерениями с помощью функции распознавания естественного языка (NLU) Google. Соответствие намерений может инициировать события в дизайне вашего разговора, способствующие развитию разговора пользователя. Имя намерения указывается в имени файла.

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

object ( IntentParameter )

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

trainingPhrases[]

string

Обучающие фразы позволяют NLU Google автоматически сопоставлять намерения с вводом пользователя. Чем больше уникальных фраз будет предоставлено, тем больше шансов, что это намерение будет соответствовать. Ниже приведен формат обучающей части фразы, которая снабжена аннотациями. Обратите внимание, что поле auto является необязательным, и поведение по умолчанию, если auto не указано, эквивалентно auto=false . ($<paramName> '<sample text>' auto=<true or false>) auto = true означает, что часть была автоматически аннотирована NLU. auto = false означает, что часть была аннотирована пользователем. Это значение по умолчанию, если не указано значение auto. Пример: «Забронируйте рейс из ($source 'Сан-Франциско' auto=false) в ($dest 'Ванкувер')»

IntentParameter

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

JSON-представление
{
  "name": string,

  // Union field parameter_type can be only one of the following:
  "type": {
    object (ClassReference)
  },
  "entitySetReferences": {
    object (EntitySetReferences)
  }
  // End of list of possible types for union field parameter_type.
}
Поля
name

string

Необходимый. Уникальное имя параметра намерения. Может использоваться в условиях и ответах для ссылки на параметры намерения, извлеченные NLU с помощью $intent.params.[name].resolved

Поле объединения parameter_type . Тип параметра намерения. parameter_type может быть только одним из следующих:
type

object ( ClassReference )

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

entitySetReferences

object ( EntitySetReferences )

Необязательный. Ссылки на наборы разрешенных сущностей для этого параметра намерения. Действительно только для параметров встроенного намерения. Эти ссылки указывают на наборы сущностей в каталоге custom/entitySets.

Ссылка на класс

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

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

string

Необходимый. Имя встроенного типа или пользовательского типа параметра. Примеры: PizzaToppings , actions.type.Number

list

boolean

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

EntitySetReferences

Ссылки на наборы сущностей для параметра намерения.

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

object ( EntitySetReference )

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

EntitySetReference

Ссылка на набор разрешенных объектов для этого параметра намерения.

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

string

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

Тип

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

JSON-представление
{
  "exclusions": [
    string
  ],

  // Union field sub_type can be only one of the following:
  "synonym": {
    object (SynonymType)
  },
  "regularExpression": {
    object (RegularExpressionType)
  },
  "freeText": {
    object (FreeTextType)
  }
  // End of list of possible types for union field sub_type.
}
Поля
exclusions[]

string

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

Поле объединения sub_type . Выбор подтипа в зависимости от типа сопоставления, которое необходимо выполнить. sub_type может быть только одним из следующих:
synonym

object ( SynonymType )

Тип Synonyms, который по сути является перечислением.

regularExpression

object ( RegularExpressionType )

Тип Regex, допускает сопоставление регулярных выражений.

freeText

object ( FreeTextType )

Тип произвольного текста.

Тип синонима

Введите текст, соответствующий тексту по набору синонимов.

JSON-представление
{
  "matchType": enum (MatchType),
  "acceptUnknownValues": boolean,
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
Поля
matchType

enum ( MatchType )

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

acceptUnknownValues

boolean

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

entities

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

Необходимый. Именованная карта объектов-синонимов.

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

Тип соответствия

Тип соответствия, который будут использовать записи этого типа. Это обеспечит использование для всех типов одного и того же метода сопоставления и позволит варьировать сопоставление для сопоставления синонимов (т. е. нечеткое или точное). Если значение UNSPECIFIED по умолчанию будет EXACT_MATCH .

Перечисления
UNSPECIFIED По умолчанию EXACT_MATCH .
EXACT_MATCH Ищет точное совпадение синонима или имени.
FUZZY_MATCH Менее EXACT_MATCH . Ищет похожие совпадения, а также точные совпадения.

Сущность

Представляет поле сущности-синонима, содержащее сведения об одной записи внутри типа.

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

object ( EntityDisplay )

Необязательный. Подробности отображения сущности.

synonyms[]

string

Необязательный. Список синонимов сущности. Это поле является локализуемым.

EntityDisplay

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

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

string

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

iconUrl

string

Необходимый. URL значка.

РегулярноеВыражениеТип

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

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

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

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

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

Сущность

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

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

object ( EntityDisplay )

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

regularExpressions[]

string

Необходимый. Использует синтаксис регулярных выражений RE2 (подробнее см. https://github.com/google/re2/wiki/Syntax ).

СвободныйТекстТип

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

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

object ( EntityDisplay )

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

EntitySet

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

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

object ( Entity )

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

Сущность

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

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

string

Необходимый. Идентификатор сущности. Список встроенных параметров намерения и поддерживаемых ими объектов см. на странице https://developers.google.com/assistant/conversational/build/built-in-intents .

GlobalIntentEvent

Определяет глобальный обработчик намерений. Глобальные события намерения распространяются на весь проект Actions и могут быть переопределены обработчиками намерений в сцене. Имена намерений должны быть уникальными в рамках проекта Actions.

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

Обратите внимание: имя намерения указано в имени файла.

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

string

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

handler

object ( EventHandler )

Необязательный. Обработчик событий, который срабатывает при совпадении намерения. Должно выполняться перед переходом к целевой сцене. Полезно для создания подсказок в ответ на события.

Обработчик события

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

JSON-представление
{
  "webhookHandler": string,

  // Union field prompt can be only one of the following:
  "staticPrompt": {
    object (StaticPrompt)
  },
  "staticPromptName": string
  // End of list of possible types for union field prompt.
}
Поля
webhookHandler

string

Имя вызываемого обработчика веб-перехватчика.

prompt поля объединения. Подсказки могут быть встроены или указаны по имени. prompt может быть только одной из следующих:
staticPrompt

object ( StaticPrompt )

Встроенная статическая подсказка. Может содержать ссылки на строковые ресурсы в пакетах.

staticPromptName

string

Имя статического приглашения для вызова.

СтатикПромпт

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

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

object ( StaticPromptCandidate )

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

СтатикПромптКандидате

Представляет статического кандидата приглашения.

JSON-представление
{
  "selector": {
    object (Selector)
  },
  "promptResponse": {
    object (StaticPromptResponse)
  }
}
Поля
selector

object ( Selector )

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

promptResponse

object ( StaticPromptResponse )

Быстрый ответ, связанный с селектором.

Селектор

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

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

object ( SurfaceCapabilities )

Набор необходимых возможностей поверхности.

Возможности поверхности

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

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

enum ( Capability )

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

Возможность

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

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

СтатикПромптОтклик

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

JSON-представление
{
  "firstSimple": {
    object (StaticSimplePrompt)
  },
  "content": {
    object (StaticContentPrompt)
  },
  "lastSimple": {
    object (StaticSimplePrompt)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (StaticLinkPrompt)
  },
  "override": boolean,
  "canvas": {
    object (StaticCanvasPrompt)
  }
}
Поля
firstSimple

object ( StaticSimplePrompt )

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

content

object ( StaticContentPrompt )

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

lastSimple

object ( StaticSimplePrompt )

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

suggestions[]

object ( Suggestion )

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

override

boolean

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

canvas

object ( StaticCanvasPrompt )

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

СтатическийПростойПодсказка

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

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

object ( Variant )

Список возможных вариантов.

Вариант

Представляет вариант, который является частью простого приглашения.

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

string

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

text

string

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

СтатикКонтентПромпт

Заполнитель для части содержимого StaticPrompt.

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

  // Union field content can be only one of the following:
  "card": {
    object (StaticCardPrompt)
  },
  "image": {
    object (StaticImagePrompt)
  },
  "table": {
    object (StaticTablePrompt)
  },
  "media": {
    object (StaticMediaPrompt)
  },
  "list": {
    object (StaticListPrompt)
  },
  "collection": {
    object (StaticCollectionPrompt)
  },
  "collectionBrowse": {
    object (StaticCollectionBrowsePrompt)
  }
  // End of list of possible types for union field content.
}
Поля
content поля объединения. В приглашении может присутствовать только один тип контента. content может быть только одним из следующих:
card

object ( StaticCardPrompt )

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

image

object ( StaticImagePrompt )

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

table

object ( StaticTablePrompt )

Настольная карта.

media

object ( StaticMediaPrompt )

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

list

object ( StaticListPrompt )

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

collection

object ( StaticCollectionPrompt )

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

collectionBrowse

object ( StaticCollectionBrowsePrompt )

Карточка с набором веб-страниц, которые нужно открыть.

СтатическаяКартаПодсказка

Базовая карточка для отображения некоторой информации, например изображения и/или текста.

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

string

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

subtitle

string

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

text

string

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

image

object ( StaticImagePrompt )

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

imageFill

enum ( ImageFill )

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

button

object ( StaticLinkPrompt )

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

Статическое изображениеПодсказка

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

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 ImageFill не указан.
GRAY Заполните промежутки между изображением и контейнером изображения серыми полосами.
WHITE Заполните промежутки между изображением и контейнером изображения белыми полосами.
CROPPED Изображение масштабируется таким образом, чтобы ширина и высота изображения соответствовали размерам контейнера или превышали их. Это может обрезать верхнюю и нижнюю часть изображения, если масштабированная высота изображения больше высоты контейнера, или обрезать левую и правую часть изображения, если ширина масштабированного изображения больше ширины контейнера. Это похоже на «Режим масштабирования» на широкоэкранном телевизоре при воспроизведении видео с соотношением сторон 4:3.

Статиклинкпромпт

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

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

string

Название ссылки

open

object ( OpenUrl )

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

OpenUrl

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

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

string

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

hint

enum ( UrlHint )

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

URL-подсказка

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

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

Статиктаблепромпт

Карточка таблицы для отображения таблицы текста.

JSON-представление
{
  "title": string,
  "subtitle": string,
  "image": {
    object (StaticImagePrompt)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (StaticLinkPrompt)
  }
}
Поля
title

string

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

subtitle

string

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

image

object ( StaticImagePrompt )

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

columns[]

object ( TableColumn )

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

rows[]

object ( TableRow )

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

button

object ( StaticLinkPrompt )

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

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

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

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-адрес и т. д. Следующий идентификатор: 11

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

enum ( MediaType )

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

startOffset

string ( Duration format)

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

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

optionalMediaControls[]

enum ( OptionalMediaControls )

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

mediaObjects[]

object ( MediaObject )

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

repeatMode

enum ( RepeatMode )

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

Медиатип

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

Перечисления
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-адрес, указывающий на медиа-контент.

image

object ( MediaImage )

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

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

Изображение, которое будет отображаться внутри MediaPrompt.

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

  // Union field image can be only one of the following:
  "large": {
    object (StaticImagePrompt)
  },
  "icon": {
    object (StaticImagePrompt)
  }
  // End of list of possible types for union field image.
}
Поля
image поля объединения. Разрешен только один тип MediaImage. image может быть только одним из следующих:
large

object ( StaticImagePrompt )

Большое изображение, например обложка альбома и т. д.

icon

object ( StaticImagePrompt )

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

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

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

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

СтатикЛистПромпт

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

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

string

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

subtitle

string

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

items[]

object ( ListItem )

Необходимый. Перечислить предметы.

Пункт списка

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

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

string

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

title

string

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

description

string

Необязательный. Основной текст элемента.

image

object ( StaticImagePrompt )

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

StaticCollectionPrompt

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

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

string

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

subtitle

string

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

items[]

object ( CollectionItem )

Необходимый. Предметы коллекции.

imageFill

enum ( ImageFill )

Необязательный. Тип опции отображения изображения.

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

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

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

string

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

title

string

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

description

string

Необязательный. Основной текст элемента.

image

object ( StaticImagePrompt )

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

StaticCollectionBrowsePrompt

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

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

object ( CollectionBrowseItem )

Элементы в коллекции просмотра. Размер списка должен находиться в диапазоне [2, 10].

imageFill

enum ( ImageFill )

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

КоллекцияОбзорЭлемент

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

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

string

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

description

string

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

footer

string

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

image

object ( StaticImagePrompt )

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

openUriAction

object ( OpenUrl )

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

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

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

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

string

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

СтатическийХолстПодсказка

Представляет ответ Interactive Canvas, который будет отправлен пользователю. Его можно использовать вместе с полем firstSimple в содержащем приглашении для разговора с пользователем в дополнение к отображению ответа на интерактивном холсте.

JSON-представление
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "sendStateDataToCanvasApp": boolean,
  "enableFullScreen": boolean
}
Поля
url

string

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

data[]

value ( Value format)

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

suppressMic

boolean

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

sendStateDataToCanvasApp

boolean

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

enableFullScreen

boolean

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

Сцена

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

JSON-представление
{
  "onEnter": {
    object (EventHandler)
  },
  "intentEvents": [
    {
      object (IntentEvent)
    }
  ],
  "conditionalEvents": [
    {
      object (ConditionalEvent)
    }
  ],
  "slots": [
    {
      object (Slot)
    }
  ],
  "onSlotUpdated": {
    object (EventHandler)
  }
}
Поля
onEnter

object ( EventHandler )

Обработчик, вызываемый при переходе в эту сцену.

intentEvents[]

object ( IntentEvent )

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

conditionalEvents[]

object ( ConditionalEvent )

Список событий для запуска на основе условных утверждений. Они оцениваются после того, как форма была заполнена или сразу после on_load, если эта сцена не имеет формы (оценка проводится только один раз). Только первое совпадающее событие будет вызвано.

slots[]

object ( Slot )

Заказанный список слотов. Каждый слот определяет тип данных, которые он будет разрешать и конфигурацию для настройки опыта этого разрешения (например, подсказок).

onSlotUpdated

object ( EventHandler )

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

IntenTevent

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

JSON-представление
{
  "intent": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
Поля
intent

string

Необходимый. Намерение вызвать событие.

transitionToScene

string

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

handler

object ( EventHandler )

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

CondienaleVent

Регистрирует события, которые вызывают результат истинного условия.

JSON-представление
{
  "condition": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
Поля
condition

string

Необходимый. Условие фильтра для этого события, чтобы запустить. Если условие оценивается в True, то связанный handler будет запускается. Поддерживаются следующие ссылки на переменные: $session - для ссылки на данные в хранилище сеанса. $user - ссылаться на данные в пользовательском хранилище. Поддерживаются следующие логические операторы (с примерами): && - session.params.counter > 0 && session.params.counter < 100 || - session.params.foo == "John" || session.params.counter == "Adam" ! - !(session.params.counter == 5) Поддерживаются следующие сравнения: == ,! != , < , > , <= , >= следующие операторы и строковые операторы поддерживаются (с примерами): in - "Aarmelon "В session.params.fruitList size - size(session.params.fruitList) > 2 substring - session.params.fullName.contains("John")

transitionToScene

string

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

handler

object ( EventHandler )

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

Слот

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

JSON-представление
{
  "name": string,
  "type": {
    object (ClassReference)
  },
  "required": boolean,
  "promptSettings": {
    object (PromptSettings)
  },
  "commitBehavior": {
    object (CommitBehavior)
  },
  "config": value,
  "defaultValue": {
    object (DefaultValue)
  }
}
Поля
name

string

Необходимый. Название слота.

type

object ( ClassReference )

Необходимый. Объявляет тип данных этого слота.

required

boolean

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

promptSettings

object ( PromptSettings )

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

commitBehavior

object ( CommitBehavior )

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

config

value ( Value format)

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

Пример: для слота типов Actions.type.completeprechasevalue, в следующем конфигурации предлагается цифровой хороший порядок со ссылкой на определенную клиенту, определенное параметры сеанса, userSelectedSkuId ,:

{"@type": "type.googleapis.com/ google.actions.transactions.v3.completepurchasevaluespec", "skuid": {"skutype": "sku_type_in_app", "id": "$ session.suserseledskuid", " "PackageName": "com.example.company"}}

defaultValue

object ( DefaultValue )

Необязательный. Конфигурация для заполнения значения по умолчанию для этого слота.

Подсказки

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

JSON-представление
{
  "initialPrompt": {
    object (EventHandler)
  },
  "noMatchPrompt1": {
    object (EventHandler)
  },
  "noMatchPrompt2": {
    object (EventHandler)
  },
  "noMatchFinalPrompt": {
    object (EventHandler)
  },
  "noInputPrompt1": {
    object (EventHandler)
  },
  "noInputPrompt2": {
    object (EventHandler)
  },
  "noInputFinalPrompt": {
    object (EventHandler)
  }
}
Поля
initialPrompt

object ( EventHandler )

Подсказка для самого значения слота. Пример: "Какой размер вы хотели?"

noMatchPrompt1

object ( EventHandler )

Запрос о том, когда ввод пользователя не соответствует ожидаемому типу значения для слота впервые. Пример: «Извините, я этого не понял».

noMatchPrompt2

object ( EventHandler )

Запрос о том, когда вход пользователя не соответствует ожидаемому типу значения для слота во второй раз. Пример: «Извините, я этого не понял».

noMatchFinalPrompt

object ( EventHandler )

Запрос о том, когда ввод пользователя не соответствует ожидаемому типу значения для слота в последний раз. Пример: «Извините, я этого не понял».

noInputPrompt1

object ( EventHandler )

Подсказка дает, когда пользователь не предоставляет вход в первый раз. Пример: «Извините, я этого не понял».

noInputPrompt2

object ( EventHandler )

Подсказка, когда пользователь не предоставляет вход во второй раз. Пример: «Извините, я этого не понял».

noInputFinalPrompt

object ( EventHandler )

Подсказка дает, когда пользователь не предоставляет вход в последний раз. Пример: «Извините, я этого не понял».

Commitbehavior

Сообщение, описывающее поведение коммита, связанное с слотом, после того, как оно было успешно заполнено.

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

string

Параметр сеанса, чтобы написать значение слота после его заполнения. Обратите внимание, что вложенные пути в настоящее время не поддерживаются. «$$» используется для написания значения слота в параметр сеанса с тем же именем, что и слот. Например: wrisessessionparam = "fruit" соответствует "$ session.params.fruit". wrisessessionparam = "билет" соответствует "$ session.params.ticket".

Значение по умолчанию

Конфигурация для заполнения значения по умолчанию для этого слота.

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

string

Необязательный. Параметр сеанса, который будет использоваться для инициализации значения слота, если он имеет непутное значение. Тип значения должен соответствовать типу слота. Обратите внимание, что вложенные пути в настоящее время не поддерживаются. Например: sessionParam = "fruit" соответствует $session.params.fruit . sessionParam = "ticket" соответствует $session.params.ticket .

constant

value ( Value format)

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

Дата файлы

Обертка для повторного файла данных. Повторные поля не могут существовать в одном.

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

object ( DataFile )

Несколько файлов данных.

Файл данных

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

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

string

Относительный путь файла данных из корневого проекта в структуре файла SDK. Разрешенные пути файла: - Images: resources/images/{multiple directories}?/{ImageName}.{extension} resources/audio/{multiple directories}?/{AudioFileName}.{extension} webhooks/{WebhookName}.zip разрешенные расширения: - Изображения: png , jpg , jpeg - Audio: mp3 , mpeg - Встроенные облачные функции: zip

contentType

string

Необходимый. Тип контента этого актива. Пример: text/html . Тип контента должен соответствовать спецификации ( http://www.w3.org/protocols/rfc1341/4_content-type.html) . Облачные функции должны быть в формате ZIP, а тип контента должен быть application/zip;zip_type=cloud_function . Параметр ZIP_TYPE указывает, что ZIP предназначен для облачной функции.

payload

string ( bytes format)

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

Строка в кодировке Base64.