AppRequest

AppRequest は、アクションとやり取りするために Google アシスタントからフルフィルメントに送信されるリクエストです。API のバージョンは HTTP ヘッダーで指定されます。API バージョン 1 の場合、ヘッダーには Google-Assistant-API-Version: v1 が含まれます。API バージョン 2 の場合、ヘッダーには Google-actions-API-Version: 2 が含まれます。これが Actions on Google でどのように使用されるかの例については、https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json をご覧ください。

JSON 表現
{
  "user": {
    object (User)
  },
  "device": {
    object (Device)
  },
  "surface": {
    object (Surface)
  },
  "conversation": {
    object (Conversation)
  },
  "inputs": [
    {
      object (Input)
    }
  ],
  "isInSandbox": boolean,
  "availableSurfaces": [
    {
      object (Surface)
    }
  ]
}
フィールド
user

object (User)

会話を開始したユーザー。

device

object (Device)

ユーザーがアクションとのやり取りに使用しているデバイスに関する情報。

surface

object (Surface)

ユーザーが操作しているサーフェスに関する情報。例:画面の有無も判断できます

conversation

object (Conversation)

会話 ID や会話トークンなどのセッション データを保持します。

inputs[]

object (Input)

アクションで指定された期待入力に対応する入力のリスト。最初の会話トリガーの場合、この入力にはユーザーがどのようにして会話をトリガーしたかに関する情報が含まれます。

isInSandbox

boolean

リクエストをサンドボックス モードで処理する必要があるかどうかを示します。

availableSurfaces[]

object (Surface)

サーフェス間のハンドオフに使用できるサーフェス

ユーザー

JSON 表現
{
  "idToken": string,
  "profile": {
    object (UserProfile)
  },
  "accessToken": string,
  "permissions": [
    enum (Permission)
  ],
  "locale": string,
  "lastSeen": string,
  "userStorage": string,
  "packageEntitlements": [
    {
      object (PackageEntitlement)
    }
  ],
  "userVerificationStatus": enum (UserVerificationStatus)
}
フィールド
idToken

string

トークン。これはエンコードされたプロフィールを含む JSON Web Token です。定義については、https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo をご覧ください。

profile

object (UserProfile)

エンドユーザーに関する情報。一部のフィールドは、ユーザーがその情報へのアクセス許可をアクションに与えた場合にのみ使用できます。

accessToken

string

システム内のユーザーを識別する OAuth2 トークン。ユーザーが自分のアカウントをリンクする場合にのみ使用できます。

permissions[]

enum (Permission)

このアクションにユーザーが付与した権限が含まれます。

locale

string

リクエストを行っているユーザーのメインの言語 / 地域設定。IETF BCP-47 言語コード(http://www.rfc-editor.org/rfc/bcp/bcp47.txt)に従いますが、script サブタグは含まれません。

lastSeen

string (Timestamp format)

このユーザーとの最後のやり取りのタイムスタンプ。ユーザーが以前にこのエージェントとやり取りしたことがない場合、このフィールドは省略されます。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒例: "2014-10-02T15:01:23.045123456Z"

userStorage

string

アプリケーションから提供される、特定のユーザーの会話間で保持される不透明なトークン。文字列の最大サイズは 10,000 文字です。

packageEntitlements[]

object (PackageEntitlement)

アクション パッケージにリストされているすべてのパッケージ名のユーザー利用資格のリスト(存在する場合)。

userVerificationStatus

enum (UserVerificationStatus)

ユーザーの確認ステータスを示します。

UserProfile

ユーザーの個人情報が含まれます。ユーザーが特定のフィールドのアクションに権限を付与した場合にのみ、フィールドにデータが入力されます。

JSON 表現
{
  "displayName": string,
  "givenName": string,
  "familyName": string
}
フィールド
displayName

string

Google アカウントで指定されているユーザーの氏名。NAME のアクセス許可を得る必要があります。

givenName

string

Google アカウントで指定されているユーザーの名。NAME のアクセス許可を得る必要があります。

familyName

string

Google アカウントで指定されているユーザーの姓。このフィールドは空である可能性があります。NAME 権限が必要です。

PackageEntitlement

特定のパッケージ名に関連する登録情報のリスト

JSON 表現
{
  "packageName": string,
  "entitlements": [
    {
      object (Entitlement)
    }
  ]
}
フィールド
packageName

string

アクション パッケージのパッケージ名と一致する必要があります

entitlements[]

object (Entitlement)

特定のアプリの利用資格のリスト

利用資格

ユーザーのデジタル登録情報を定義します。有効な登録情報のタイプは、有料アプリ、アプリ内購入、アプリ内定期購入です。

JSON 表現
{
  "sku": string,
  "skuType": enum (SkuType),
  "inAppDetails": {
    object (SignedData)
  }
}
フィールド
sku

string

プロダクト SKU。有料アプリの場合はパッケージ名、アプリ内購入とアプリ内定期購入の場合は Finsky docid の接尾辞。Play InApp Billing API の getSku() と照合します。

skuType

enum (SkuType)

inAppDetails

object (SignedData)

アプリ内購入とアプリ内定期購入でのみ表示されます。

SignedData

JSON 表現
{
  "inAppPurchaseData": {
    object
  },
  "inAppDataSignature": string
}
フィールド
inAppPurchaseData

object (Struct format)

getPurchases() メソッドの INAPP_PURCHASE_DATA を照合します。すべてのアプリ内購入データが JSON 形式で格納されています。詳しくは、https://developer.android.com/google/play/billing/billing_reference.html の表 6 をご覧ください。

inAppDataSignature

string

Play InApp Billing API の getPurchases() メソッドの IN_APP_DATA_SIGNATURE と一致します。

デバイス

ユーザーがアクションとのやり取りに使用しているデバイスに関する情報。

JSON 表現
{
  "location": {
    object (Location)
  }
}
フィールド
location

object (Location)

緯度、経度、フォーマット済みの住所など、デバイスの実際の位置を表します。DEVICE_COARSE_LOCATION または DEVICE_PRECISE_LOCATION 権限が必要です。

画面

ユーザーがやり取りしている Google アシスタント クライアント サーフェスに固有の情報。同じデバイスに複数のアシスタント サーフェスが存在する場合があるため、サーフェスはデバイスとは区別されます。

JSON 表現
{
  "capabilities": [
    {
      object (Capability)
    }
  ]
}
フィールド
capabilities[]

object (Capability)

リクエスト時にサーフェスがサポートする機能のリスト。例:actions.capability.AUDIO_OUTPUT

能力

サーフェスがサポートできる機能の単位を表します。

JSON 表現
{
  "name": string
}
フィールド
name

string

機能の名前。例:actions.capability.AUDIO_OUTPUT

会話

JSON 表現
{
  "conversationId": string,
  "type": enum (ConversationType),
  "conversationToken": string
}
フィールド
conversationId

string

マルチターンの会話の一意の ID。この ID は最初のターンで割り当てられます。それ以降、会話が終了するまでの間、後続の会話ターンで同じ ID が使用されます。

type

enum (ConversationType)

type は、会話のライフサイクルにおける状態を示します。

conversationToken

string

最後の会話ターンでアクションによって指定された不透明トークン。アクション内でこのフィールドを使用して、会話の追跡や、会話関連データの保存ができます。

Input

JSON 表現
{
  "rawInputs": [
    {
      object (RawInput)
    }
  ],
  "intent": string,
  "arguments": [
    {
      object (Argument)
    }
  ]
}
フィールド
rawInputs[]

object (RawInput)

会話の各ターンからの生の入力音声文字変換。Actions on Google がアクションに提供する入力のタイプによっては、複数の会話ターンが必要な場合があります。

intent

string

ユーザーのインテントを示します。最初の会話ターンでは、アクションのトリガー インテントを指します。それ以降の会話ターンでは、そのインテントは「actions.」で始まる Google の一般的なアクション インテントになります。たとえば、期待される入力が actions.intent.OPTION の場合、ここで指定するインテントは、Google アシスタントがそのインテントを満たせる場合は actions.intent.OPTION、ユーザーが他の情報を提供した場合は actions.intent.TEXT になります。https://developers.google.com/assistant/df-asdk/reference/intents をご覧ください。

arguments[]

object (Argument)

アクションでリクエストされた入力に対して指定された引数値のリスト。

RawInput

JSON 表現
{
  "inputType": enum (InputType),

  // Union field input can be only one of the following:
  "query": string,
  "url": string
  // End of list of possible types for union field input.
}
フィールド
inputType

enum (InputType)

ユーザーがこの入力をどのように提供したかを示します(型付きレスポンス、音声レスポンス、指定なしなど)。

共用体フィールド input。実際の入力値 input は次のいずれかになります。
query

string

エンドユーザーによるキーボード入力または音声入力。

url

string

トリガーとなる URL。