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 |
ユーザーがアクションとのやり取りに使用しているデバイスに関する情報。 |
surface |
ユーザーが操作しているサーフェスに関する情報(音声を出力できるかどうか、画面があるかどうかなど)。 |
conversation |
会話 ID や会話トークンなどのセッション データを保持します。 |
inputs[] |
アクションによって指定された想定入力に対応する入力のリスト。最初の会話トリガーの場合、この入力にはユーザーがどのようにして会話をトリガーしたかに関する情報が含まれます。 |
isInSandbox |
リクエストがサンドボックス モードで処理されるかどうかを示します。 |
availableSurfaces[] |
クロス サーフェス ハンドオフに使用できるサーフェス。 |
ユーザー
JSON 表現 | |
---|---|
{ "idToken": string, "profile": { object ( |
フィールド | |
---|---|
idToken |
ユーザーの ID を表すトークン。これはエンコードされたプロフィールを含む JSON Web Token です。定義については、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 に従いますが、script サブタグは含まれません。 |
lastSeen |
このユーザーとの最後のやり取りのタイムスタンプ。ユーザーが以前にこのエージェントとやり取りしたことがない場合、このフィールドは省略されます。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒(例: |
userStorage |
アプリケーションによって提供される不透明なトークン。特定のユーザーとの会話間で保持されます。文字列の最大サイズは 10,000 文字です。 |
packageEntitlements[] |
アクション パッケージにリストされている各パッケージ名に対するユーザーの利用資格のリスト(ある場合)。 |
userVerificationStatus |
ユーザーの確認ステータスを示します。 |
UserProfile
ユーザーの個人情報が含まれます。ユーザーが特定のフィールドのアクションに権限を付与した場合にのみ、フィールドに値が入力されます。
JSON 表現 | |
---|---|
{ "displayName": string, "givenName": string, "familyName": string } |
フィールド | |
---|---|
displayName |
Google アカウントで指定されているユーザーの氏名。 |
givenName |
Google アカウントで指定されているユーザーの名。 |
familyName |
Google アカウントで指定されているユーザーの姓。このフィールドは空である可能性があります。 |
PackageEntitlement
特定のパッケージ名に関連する登録情報のリスト
JSON 表現 | |
---|---|
{
"packageName": string,
"entitlements": [
{
object ( |
フィールド | |
---|---|
packageName |
アクション パッケージのパッケージ名と一致する必要があります |
entitlements[] |
特定のアプリの利用資格のリスト |
利用資格
ユーザーのデジタル登録情報を定義します。有効な登録情報のタイプは、有料アプリ、アプリ内購入、アプリ内定期購入です。
JSON 表現 | |
---|---|
{ "sku": string, "skuType": enum ( |
フィールド | |
---|---|
sku |
プロダクト SKU。有料アプリの場合はパッケージ名、アプリ内購入とアプリ内定期購入の場合は Finsky docid の接尾辞。Play InApp Billing API の getSku() と一致します。 |
skuType |
|
inAppDetails |
アプリ内購入とアプリ内定期購入の場合にのみ存在します。 |
SignedData
JSON 表現 | |
---|---|
{ "inAppPurchaseData": { object }, "inAppDataSignature": string } |
フィールド | |
---|---|
inAppPurchaseData |
getPurchases() メソッドから INAPP_PURCHASE_DATA を照合します。すべてのアプリ内購入データが JSON 形式で格納されます。詳しくは、https://developer.android.com/google/play/billing/billing_reference.html の表 6 をご覧ください。 |
inAppDataSignature |
Play InApp Billing API の getPurchases() メソッドの IN_APP_DATA_SIGNATURE と一致します。 |
デバイス
ユーザーがアクションとのやり取りに使用しているデバイスに関する情報。
JSON 表現 | |
---|---|
{
"location": {
object ( |
フィールド | |
---|---|
location |
緯度、経度、フォーマット済み住所など、実際のデバイスの位置情報を表します。 |
Surface
ユーザーがやり取りしている Google アシスタント クライアント サーフェスに固有の情報。同じデバイスに複数のアシスタント サーフェスが存在する場合があるため、サーフェスはデバイスとは区別されます。
JSON 表現 | |
---|---|
{
"capabilities": [
{
object ( |
フィールド | |
---|---|
capabilities[] |
リクエスト時にサーフェスがサポートする機能のリスト(例: |
可能な操作
サーフェスがサポートできる機能の単位を表します。
JSON 表現 | |
---|---|
{ "name": string } |
フィールド | |
---|---|
name |
機能の名前(例: |
会話
JSON 表現 | |
---|---|
{
"conversationId": string,
"type": enum ( |
フィールド | |
---|---|
conversationId |
マルチターンの会話の一意の ID。この ID は最初のターンで割り当てられます。それ以降、会話が終了するまでの間、後続の会話ターンで同じ ID が使用されます。 |
type |
type は、そのライフサイクルにおける会話の状態を示します。 |
conversationToken |
最後の会話ターンでアクションによって指定された不透明トークン。アクション内でこのフィールドを使用して、会話の追跡や、会話関連データの保存ができます。 |
入力
JSON 表現 | |
---|---|
{ "rawInputs": [ { object ( |
フィールド | |
---|---|
rawInputs[] |
会話の各ターンからの未加工の入力音声文字変換。Actions on Google がアクションに提供する入力のタイプによっては、複数の会話ターンが必要な場合があります。 |
intent |
ユーザーの意図を示します。最初の会話ターンでは、アクションのトリガー インテントを指します。後続の会話ターンでは、そのインテントは Google での一般的なアクション(「actions.」で始まる)になります。たとえば、想定される入力が |
arguments[] |
アクションによって要求された入力に対して指定された引数値のリスト。 |
RawInput
JSON 表現 | |
---|---|
{ "inputType": enum ( |
フィールド | ||
---|---|---|
inputType |
ユーザーがこの入力をどのように提供したか(入力した回答、音声による回答、未指定など)を示します。 |
|
共用体フィールド input 。実際の入力値 input は次のいずれかになります。 |
||
query |
エンドユーザーの入力または音声入力。 |
|
url |
トリガーとなる URL。 |