- JSON-представление
- Пользователь
- Профиль пользователя
- Право на пакет
- Право
- подписанные данные
- Устройство
- Поверхность
- Возможность
- Беседа
- Вход
- RawInput
AppRequest — это запрос, отправленный Google Assistant на выполнение для взаимодействия с действием. Версия API указана в HTTP-заголовке. Для API версии 1 заголовок содержит: Google-Assistant-API-Version: v1
. Для API версии 2 заголовок содержит: Google-actions-API-Version: 2
. Примеры того, как это используется в действиях в Google, см. на странице https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json .
JSON-представление | |
---|---|
{ "user": { object ( |
Поля | |
---|---|
user | Пользователь, инициировавший беседу. |
device | Информация об устройстве, которое пользователь использует для взаимодействия с Действием. |
surface | Информация о поверхности, с которой взаимодействует пользователь, например, может ли она выводить звук или имеет экран. |
conversation | Содержит данные сеанса, такие как идентификатор разговора и токен разговора. |
inputs[] | Список входных данных, соответствующих ожидаемым входным данным, заданным действием. Для начального триггера разговора входные данные содержат информацию о том, как пользователь инициировал разговор. |
isInSandbox | Указывает, следует ли обрабатывать запрос в изолированном режиме. |
availableSurfaces[] | Поверхности, доступные для перекрестной передачи обслуживания. |
Пользователь
JSON-представление | |
---|---|
{ "idToken": string, "profile": { object ( |
Поля | |
---|---|
idToken | токен, представляющий личность пользователя. Это веб-токен Json, включая закодированный профиль. Определение находится по адресу https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo . |
profile | Информация о конечном пользователе. Некоторые поля доступны только в том случае, если пользователь дал разрешение на предоставление этой информации Действию. |
accessToken | Токен OAuth2, идентифицирующий пользователя в вашей системе. Доступно только в том случае, если пользователь связывает свою учетную запись. |
permissions[] | Содержит разрешения, предоставленные пользователем этому действию. |
locale | Основная языковая настройка пользователя, делающего запрос. Соответствует языковому коду IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Однако вложенный тег сценария не включен. |
lastSeen | Временная метка последнего взаимодействия с этим пользователем. Это поле будет опущено, если пользователь ранее не взаимодействовал с агентом. Временная метка в формате RFC3339 UTC «Зулу» с точностью до наносекунд. Пример: |
userStorage | Непрозрачный токен, предоставляемый приложением, который сохраняется во всех разговорах для конкретного пользователя. Максимальный размер строки — 10 тыс. символов. |
packageEntitlements[] | Список прав пользователя для каждого имени пакета, указанного в пакете действий, если таковой имеется. |
userVerificationStatus | Указывает статус проверки пользователя. |
Профиль пользователя
Содержит личную информацию пользователя. Поля заполняются только в том случае, если пользователь предоставляет разрешение на действие для определенного поля.
JSON-представление | |
---|---|
{ "displayName": string, "givenName": string, "familyName": string } |
Поля | |
---|---|
displayName | Полное имя пользователя, указанное в его учетной записи Google. Требуется разрешение |
givenName | Имя пользователя, указанное в его учетной записи Google. Требуется разрешение |
familyName | Фамилия пользователя, указанная в его учетной записи Google. Обратите внимание, что это поле может быть пустым. Требуется разрешение |
Право на пакет
Список прав, связанных с именем пакета
JSON-представление | |
---|---|
{
"packageName": string,
"entitlements": [
{
object ( |
Поля | |
---|---|
packageName | Должно соответствовать имени пакета в пакете действий. |
entitlements[] | Список прав для данного приложения |
Право
Определяет цифровые права пользователя. Типы возможных прав: платное приложение, покупки в приложении, подписки в приложении.
JSON-представление | |
---|---|
{ "sku": string, "skuType": enum ( |
Поля | |
---|---|
sku | Артикул продукта. Название пакета для платного приложения, суффикс документа Finky для покупки в приложении и подписки в приложении. Сопоставьте getSku() в API биллинга Play InApp. |
skuType | |
inAppDetails | Доступно только для покупок в приложении и подписок в приложении. |
подписанные данные
JSON-представление | |
---|---|
{ "inAppPurchaseData": { object }, "inAppDataSignature": string } |
Поля | |
---|---|
inAppPurchaseData | Сопоставьте INAPP_PURCHASE_DATA из метода getPurchases(). Содержит все данные о покупках в приложении в формате JSON. Подробности см. в таблице 6 на странице https://developer.android.com/google/play/billing/billing_reference.html . |
inAppDataSignature | Соответствует IN_APP_DATA_SIGNATURE из метода getPurchases() в Play InApp Billing API. |
Устройство
Информация об устройстве, которое пользователь использует для взаимодействия с Действием.
JSON-представление | |
---|---|
{
"location": {
object ( |
Поля | |
---|---|
location | Представляет фактическое местоположение устройства, например широту, долготу и форматированный адрес. Требуется разрешение |
Поверхность
Информация, относящаяся к поверхности клиента Google Assistant, с которой взаимодействует пользователь. Поверхность отличается от устройства тем, что на одном устройстве может находиться несколько поверхностей Ассистента.
JSON-представление | |
---|---|
{
"capabilities": [
{
object ( |
Поля | |
---|---|
capabilities[] | Список возможностей, которые поверхность поддерживает на момент запроса, например |
Возможность
Представляет единицу функциональности, которую способна поддерживать поверхность.
JSON-представление | |
---|---|
{ "name": string } |
Поля | |
---|---|
name | Имя возможности, например |
Беседа
JSON-представление | |
---|---|
{
"conversationId": string,
"type": enum ( |
Поля | |
---|---|
conversationId | Уникальный идентификатор для многоходового разговора. Он назначен на первый ход. После этого он остается неизменным для последующих ходов разговора, пока разговор не будет завершен. |
type | type указывает состояние диалога в его жизненном цикле. |
conversationToken | Непрозрачный токен, указанный действием в последнем ходе разговора. Он может использоваться действием для отслеживания разговора или для хранения данных, связанных с разговором. |
Вход
JSON-представление | |
---|---|
{ "rawInputs": [ { object ( |
Поля | |
---|---|
rawInputs[] | Необработанная транскрипция входных данных каждого этапа разговора. Для действий в Google может потребоваться несколько поворотов разговора, чтобы обеспечить некоторые типы входных данных для действия. |
intent | Указывает намерение пользователя. Для первого хода разговора намерение будет относиться к намерению, инициирующему Действие. Для последующих ходов разговора намерением будут обычные действия Google Intent (начинаются с «действия»). Например, если ожидаемый ввод — |
arguments[] | Список предоставленных значений аргументов для входных данных, запрошенных действием. |
RawInput
JSON-представление | |
---|---|
{ "inputType": enum ( |
Поля | ||
---|---|---|
inputType | Указывает, как пользователь предоставил этот ввод: напечатанный ответ, голосовой ответ, не указано и т. д. | |
input поля объединения. Фактическое входное input может быть только одним из следующих: | ||
query | Печатный или устный ввод конечного пользователя. | |
url | Триггерный URL. |