Method: projects.sendInteraction

会話を 1 回再生します。

HTTP リクエスト

POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
project

string

必須。プロジェクト ID で指定される、テスト対象のプロジェクト。形式: projects/{project}

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
フィールド
input

object (UserInput)

必須。ユーザーが指定した入力。

deviceProperties

object (DeviceProperties)

必須。アクションとのやり取りに使用されるデバイスのプロパティ。

conversationToken

string

前のインタラクションで SendInteractionResponse から受信して渡す必要がある不透明なトークン。このオプションを未設定のままにしておくと、テスト セッションの最初のインタラクションとして新しい会話を開始したり、以前の会話を放棄して新しい会話を開始したりできます。

レスポンスの本文

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

会話のラウンドに対する応答。

JSON 表現
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
フィールド
output

object (Output)

ユーザーに提供される出力。

diagnostics

object (Diagnostics)

リクエストの処理方法を説明する診断情報。

conversationToken

string

同じ会話を継続するために、次の RPC 呼び出しの SendInteractionRequest に設定されている不透明なトークン。

UserInput

会話ラウンドで提供されたユーザー入力。

JSON 表現
{
  "query": string,
  "type": enum (InputType)
}
フィールド
query

string

ユーザーが送信した入力のコンテンツ。

type

enum (InputType)

入力のタイプ。

InputType

キーボードから入力されたクエリ、音声クエリなど、入力ソースを示します。

列挙型
INPUT_TYPE_UNSPECIFIED 未指定の入力ソース。
TOUCH GUI 操作からのクエリ。
VOICE 音声クエリ。
KEYBOARD キーボードから入力されたクエリ。
URL アクションが URL リンクによってトリガーされたことを示します。

DeviceProperties

会話ラウンドに関連するデバイスのプロパティ。

JSON 表現
{
  "surface": enum (Surface),
  "location": {
    object (Location)
  },
  "locale": string,
  "timeZone": string
}
フィールド
surface

enum (Surface)

アクションとやり取りするために使用されるサーフェス。

location

object (Location)

デバイスの位置(緯度、経度、フォーマット済みの住所など)。

locale

string

デバイスで設定されている言語 / 地域。形式は BCP 47(https://tools.ietf.org/html/bcp47)に従う必要があります。例: en、en-US、es-419(その他の例については https://tools.ietf.org/html/bcp47#appendix-A) を参照)。

timeZone

string

デバイスで設定されているタイムゾーン。形式は、IANA タイムゾーン データベース(例:America/New_York: https://www.iana.org/time-zones

画面

アクションとやり取りするために使用される可能性のあるサーフェス。今後、値が追加される可能性があります。

列挙型
SURFACE_UNSPECIFIED デフォルト値。この値は使用されません。
SPEAKER スピーカー(Google Home など)。
PHONE スマートフォン] をタップします。
ALLO Allo Chat。
SMART_DISPLAY スマートディスプレイ デバイス。
KAI_OS KaiOS。

場所

場所を表すコンテナ。

JSON 表現
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
フィールド
coordinates

object (LatLng)

地理座標。[DEVICE_PRECISE_LOCATION] が必要 [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 権限。

formattedAddress

string

表示住所。例: 「1600 Amphitheatre Pkwy, Mountain View, CA 94043」。[DEVICE_PRECISE_LOCATION] が必要 [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] 権限。

zipCode

string

郵便番号。[DEVICE_PRECISE_LOCATION] が必要 [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] または [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 権限。

city

string

市区町村。[DEVICE_PRECISE_LOCATION] が必要 [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] または [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] 権限。

LatLng

緯度と経度のペアを表すオブジェクト。これは緯度を表す倍精度値と経度を表す倍精度値のペアで表現されます。特に明記されていない限り、このオブジェクトは WGS84 規格に準拠する必要があります。値は正規化範囲内で指定する必要があります。

JSON 表現
{
  "latitude": number,
  "longitude": number
}
フィールド
latitude

number

緯度(度単位)。範囲 [-90.0, +90.0] 内になければなりません。

longitude

number

経度(度単位)。範囲 [-180.0, +180.0] 内になければなりません。

出力

会話ラウンドに対する、ユーザーに表示される出力。

JSON 表現
{
  "text": string,
  "speech": [
    string
  ],
  "canvas": {
    object (Canvas)
  },
  "actionsBuilderPrompt": {
    object (Prompt)
  }
}
フィールド
text

string

書式なし文字列としてユーザーに送信される音声レスポンス。

speech[]

string

アクションによって生成された音声コンテンツ。これには、SSML などのマークアップ要素が含まれる場合があります。

canvas

object (Canvas)

Interactive Canvas のコンテンツ。

actionsBuilderPrompt

object (Prompt)

会話ラウンド終了時のプロンプトの状態。プロンプトの詳細: https://developers.google.com/assistant/conversational/prompts

キャンバス

ユーザーに送信される Interactive Canvas のレスポンスを表します。これは "firstSimple" 要素と組み合わせて使用できます。フィールドは、インタラクティブなキャンバスのレスポンスを表示するだけでなく、ユーザーと話すことができます。レスポンスの最大サイズは 50,000 バイトです。

JSON 表現
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
フィールド
url

string

読み込むインタラクティブなキャンバス ウェブアプリの URL。設定しない場合、現在アクティブなキャンバスの URL が再利用されます。

data[]

value (Value format)

省略可。没入型エクスペリエンスのウェブページにイベントとして渡される JSON データ。「オーバーライド」が含まれているプロンプトのフィールドが「false」であるこの Canvas プロンプトで定義したデータ値は、以前の Canvas プロンプトで定義したデータ値の後に追加されます。

suppressMic

boolean

省略可。デフォルト値: false

enableFullScreen

boolean

true の場合、キャンバス アプリケーションは全画面表示されるため、上部にヘッダーは表示されません。読み込み画面にトースト メッセージも表示されます。このメッセージには、アクションの表示名、デベロッパーの名前、アクションの終了手順が含まれます。デフォルト値: false

プロンプト

ユーザーへの応答を表します。

JSON 表現
{
  "append": boolean,
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  }
}
フィールド
append
(deprecated)

boolean

省略可。このメッセージを以前に定義されたメッセージと統合する方法のモード。「false」は、以前に定義されたすべてのメッセージ(最初と最後のシンプル、コンテンツ、候補リンク、キャンバス)を消去し、このプロンプトで定義されたメッセージを追加します。「true」このプロンプトで定義されたメッセージが、以前のレスポンスで定義されているメッセージに追加されます。このフィールドを「true」に設定するまた、シンプル プロンプト、候補プロンプト、描画キャンバス プロンプト(コンテンツ プロンプトの一部)内の一部のフィールドへの追加も有効になります。メッセージとリンク メッセージがプロンプトで定義されている場合、常に上書きされます。デフォルト値は「false」です。

override

boolean

省略可。このメッセージを以前に定義されたメッセージと統合する方法のモード。「true」は、以前に定義されたすべてのメッセージ(最初と最後のシンプル、コンテンツ、候補リンク、キャンバス)を消去し、このプロンプトで定義されたメッセージを追加します。「false」以前のレスポンスで定義されているメッセージに、このプロンプトで定義されたメッセージを追加します。このフィールドを「false」のままにした場合また、シンプル プロンプト、候補のプロンプト、Canvas のプロンプト(コンテンツ プロンプトの一部)内の一部のフィールドへの追加も有効になります。プロンプトで定義されている場合、コンテンツとリンク メッセージは常に上書きされます。デフォルト値は「false」です。

firstSimple

object (Simple)

省略可。最初の音声とテキストのみのレスポンス。

content

object (Content)

省略可。ユーザーに表示するカード、リスト、メディアなどのコンテンツ。

lastSimple

object (Simple)

省略可。最後の音声とテキストのみのレスポンス。

suggestions[]

object (Suggestion)

省略可。ユーザーに表示される候補。常にレスポンスの最後に表示されます。「オーバーライド」がフィールドが「false」の場合、このフィールドで定義されたタイトルは、以前に定義された候補プロンプトで定義されたタイトルに追加され、重複する値は削除されます。

canvas

object (Canvas)

省略可。ユーザーに送信される Interactive Canvas のレスポンスを表します。

シンプル

ユーザーに送信するシンプルなプロンプトを表します。

JSON 表現
{
  "speech": string,
  "text": string
}
フィールド
speech

string

省略可。ユーザーに読み上げられる音声を表します。SSML またはテキスト読み上げを使用できます。「オーバーライド」がフィールドが「true」の場合、このフィールドで定義された音声が、以前のシンプル プロンプトの音声を置き換えます。

text

string

チャットふきだしに表示するテキスト(省略可)。指定しない場合は、上記の音声フィールドの表示レンダリングが使用されます。640 文字までです。「オーバーライド」がフィールドが「true」の場合、このフィールドに定義されているテキストが前のシンプル プロンプトのテキストに置き換えられます。

コンテンツ

表示するコンテンツ。

JSON 表現
{

  // Union field content can be only one of the following:
  "card": {
    object (Card)
  },
  "image": {
    object (Image)
  },
  "table": {
    object (Table)
  },
  "media": {
    object (Media)
  },
  "canvas": {
    object (Canvas)
  },
  "collection": {
    object (Collection)
  },
  "list": {
    object (List)
  }
  // End of list of possible types for union field content.
}
フィールド
共用体フィールド content。コンテンツ。content は次のいずれかになります。
card

object (Card)

ベーシック カード。

image

object (Image)

画像。

table

object (Table)

テーブルカード。

media

object (Media)

再生するメディアのセットを示すレスポンス。

canvas
(deprecated)

object (Canvas)

インタラクティブなキャンバス エクスペリエンスで使用されるレスポンス。

collection

object (Collection)

選択できるオプションのコレクションを提示するカード。

list

object (List)

選択できるオプションのリストを示すカード。

カード

画像やテキストなどの情報を表示するための基本的なカード。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
フィールド
title

string

カードの全体的なタイトル。省略可。

subtitle

string

省略可。

text

string

カードの本文。書式設定用に限定されたマークダウン構文がサポートされています。画像が存在しない場合は必須。

image

object (Image)

カードのヒーロー画像。高さは 192 dp に固定されています。省略可。

imageFill

enum (ImageFill)

画像の背景を塗りつぶす方法。省略可。

button

object (Link)

ボタン省略可。

画像

カードに表示される画像。

JSON 表現
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
フィールド
url

string

画像のソース URL。JPG、PNG、GIF(アニメーション GIF と非アニメーション GIF)を使用できます。例: https://www.agentx.com/logo.png。必須。

alt

string

スクリーン リーダーなどのユーザー補助機能で使用される画像の説明テキスト。必須。

height

integer

画像の高さ(ピクセル単位)。省略可。

width

integer

画像の幅(ピクセル単位)。省略可。

ImageFill

画像の表示に影響を与える有効な画像表示オプション。これは画像のアスペクト比が画像コンテナのアスペクト比と一致しない場合に使用されます。

列挙型
UNSPECIFIED 画像の塗りつぶしが指定されていません。
GRAY 画像と画像コンテナの隙間を灰色のバーで埋めます。
WHITE 画像と画像コンテナの隙間を白いバーで埋めます。
CROPPED 画像の幅と高さがコンテナの寸法と一致またはそれを超えるように画像が拡大縮小されます。拡大縮小された画像の高さがコンテナの高さより大きい場合、画像の上下が切り取られることがあります。拡大縮小された画像の幅がコンテナの幅より大きい場合、画像の左右が切り取られることがあります。これはワイド画面のテレビでアスペクト比 4:3 の動画を再生するときの「ズームモード」に似ています。

OpenUrl

ユーザーがリンクを開いたときに実行されるアクション。

JSON 表現
{
  "url": string,
  "hint": enum (UrlHint)
}
フィールド
url

string

次のいずれかを指定できる URL フィールド: - アプリとリンクしたアプリまたはウェブページを開くための http か https の URL

hint

enum (UrlHint)

URL タイプのヒントを示します。

UrlHint

URL ヒントのタイプ。

列挙型
AMP AMP コンテンツを直接指す URL、または を介して AMP コンテンツを参照する正規 URL を指します。

テキストの表を表示するためのカード。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
フィールド
title

string

テーブルの全体的なタイトル。省略できますが、サブタイトルが設定されている場合は必ず設定する必要があります。

subtitle

string

テーブルのサブタイトル。省略可。

image

object (Image)

テーブルに関連付けられている画像。省略可。

columns[]

object (TableColumn)

ヘッダーと列の配置。

rows[]

object (TableRow)

テーブルの行データ。最初の 3 行は表示されることが保証されますが、その他の行はサーフェスによっては切り捨てられる場合があります。特定のサーフェスに対してどの行が表示されるかをシミュレータでテストしてください。WEB_BROWSER 機能をサポートするサーフェスでは、詳細なデータを示すウェブページを開くことができます。

button

object (Link)

ボタン。

TableColumn

テーブル内の列を記述します。

JSON 表現
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
フィールド
header

string

列のヘッダー テキスト。

align

enum (HorizontalAlignment)

列に対するコンテンツの水平方向の配置。省略した場合、内容は前端に揃えられます。

HorizontalAlignment

セル内での内容の配置。

列挙型
UNSPECIFIED 指定されていない水平方向の配置です。
LEADING セルの前端。これがデフォルトです。
CENTER 内容は列の中央に揃えられます。
TRAILING 内容は列の後端に揃えられます。

TableRow

表の行を記述します。

JSON 表現
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
フィールド
cells[]

object (TableCell)

この行のセル。最初の 3 つのセルは表示されることが保証されますが、その他のセルはサーフェスによっては切り捨てられる場合があります。特定のサーフェスに対してどのセルが表示されるかをシミュレータでテストしてください。

divider

boolean

各行の後に分割線を追加するかどうかを示します。

TableCell

行のセルを記述します。

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

string

セルのテキスト コンテンツ。

メディア

1 つのメディア オブジェクトを表します。名前、説明、URL などのメディアに関する情報が含まれます。

JSON 表現
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ]
}
フィールド
mediaType

enum (MediaType)

メディアタイプ。

startOffset

string (Duration format)

最初のメディア オブジェクトの開始オフセット。

小数点以下 9 桁まで、「s」で終わる秒単位の期間(例: "3.5s")。

optionalMediaControls[]

enum (OptionalMediaControls)

このメディア レスポンス セッションがサポートするオプションのメディア コントロール タイプ。設定すると、特定のメディア イベントが発生したときにサードパーティにリクエストが行われます。このポリシーを設定しない場合でも、サードパーティは 2 つのデフォルトのコントロール タイプ(FINISHED と FAILED)を処理する必要があります。

mediaObjects[]

object (MediaObject)

メディア オブジェクトのリスト

MediaType

このレスポンスのメディアタイプ。

列挙型
MEDIA_TYPE_UNSPECIFIED 未指定のメディアタイプです。
AUDIO 音声ファイル。
MEDIA_STATUS_ACK メディア ステータス レポートの確認応答。

OptionalMediaControls

メディア レスポンスがサポートできるオプションのメディア コントロール タイプ

列挙型
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED 値が指定されていません
PAUSED イベントを一時停止しました。ユーザーがメディアを一時停止したときにトリガーされます。
STOPPED イベントを停止しました。メディアの再生中にユーザーがサードパーティ セッションを終了するとトリガーされます。

MediaObject

単一のメディア オブジェクトを表します。

JSON 表現
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
フィールド
name

string

このメディア オブジェクトの名前。

description

string

このメディア オブジェクトの説明です。

url

string

メディア コンテンツを指す URL。

image

object (MediaImage)

メディアカードとともに表示する画像。

MediaImage

メディアカードとともに表示する画像。

JSON 表現
{

  // Union field image can be only one of the following:
  "large": {
    object (Image)
  },
  "icon": {
    object (Image)
  }
  // End of list of possible types for union field image.
}
フィールド
共用体フィールド image。画像。image は次のいずれかになります。
large

object (Image)

アルバムのカバーなどの大きな画像。

icon

object (Image)

タイトルの右側に表示される小さな画像アイコン。36×36 dp にサイズ変更されます。

コレクション

選択可能なオプションのコレクションを提示するカード。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
フィールド
title

string

コレクションのタイトル。省略可。

subtitle

string

コレクションのサブタイトル。省略可。

items[]

object (CollectionItem)

最小: 2 最大: 10

imageFill

enum (ImageFill)

コレクション アイテムの画像背景を塗りつぶす方法。省略可。

CollectionItem

コレクション内の項目

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

string

必須。関連するタイプのエントリキー名と一致する NLU キー。

リスト

選択可能なオプションのリストを提示するカード。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
フィールド
title

string

リストのタイトル。省略可。

subtitle

string

リストのサブタイトル。省略可。

items[]

object (ListItem)

最小: 2 最大: 30

ListItem

リスト内のアイテム

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

string

必須。関連するタイプのエントリキー名と一致する NLU キー。

候補

ユーザーに提示する入力候補。

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

string

必須。候補ワードに表示されるテキスト。タップすると、あたかもユーザーがこのテキストをキーボードから入力したかのように、このテキストが会話にそのままポストバックされます。一連の候補ワードの間でタイトルが重複していてはなりません。最大 25 文字

診断

会話ラウンドに関連する診断情報。

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

object (ExecutionEvent)

Actions Builder インタラクション モデルのステージにおける会話ラウンドの処理の詳細を含むイベントのリスト。Actions Builder とActions SDK アプリのみ。

ExecutionEvent

Actions Builder の会話リクエストの処理中に発生した実行イベントに関する情報が含まれています。会話リクエストに関連するステージの概要については、https://developers.google.com/assistant/conversational/actions をご覧ください。

JSON 表現
{
  "eventTime": string,
  "executionState": {
    object (ExecutionState)
  },
  "status": {
    object (Status)
  },
  "warningMessages": [
    string
  ],

  // Union field EventData can be only one of the following:
  "userInput": {
    object (UserConversationInput)
  },
  "intentMatch": {
    object (IntentMatch)
  },
  "conditionsEvaluated": {
    object (ConditionsEvaluated)
  },
  "onSceneEnter": {
    object (OnSceneEnter)
  },
  "webhookRequest": {
    object (WebhookRequest)
  },
  "webhookResponse": {
    object (WebhookResponse)
  },
  "webhookInitiatedTransition": {
    object (WebhookInitiatedTransition)
  },
  "slotMatch": {
    object (SlotMatch)
  },
  "slotRequested": {
    object (SlotRequested)
  },
  "slotValidated": {
    object (SlotValidated)
  },
  "formFilled": {
    object (FormFilled)
  },
  "waitingUserInput": {
    object (WaitingForUserInput)
  },
  "endConversation": {
    object (EndConversation)
  }
  // End of list of possible types for union field EventData.
}
フィールド
eventTime

string (Timestamp format)

イベント発生時のタイムスタンプ。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

executionState

object (ExecutionState)

このイベント中の実行の状態。

status

object (Status)

特定の実行ステップの結果のステータス。

warningMessages[]

string

このイベントの実行中に生成された警告のリスト。警告は、会話のリクエスト中に発見された、デベロッパー向けのヒントです。通常、これらは重大ではなく、リクエストの実行を停止しません。たとえば、存在しないカスタム タイプを Webhook がオーバーライドしようとしたときに警告が生成される場合があります。エラーは失敗ステータス コードとして報告されますが、ステータスが OK であっても警告が表示されることがあります。

共用体フィールド EventData。会話ラウンドの処理に関連する可能性のある、さまざまなイベントに固有の詳細情報。ここで設定するフィールドでは、このイベントのタイプを定義します。EventData は次のいずれかになります。
userInput

object (UserConversationInput)

ユーザー入力処理イベント。

intentMatch

object (IntentMatch)

インテント マッチング イベント。

conditionsEvaluated

object (ConditionsEvaluated)

条件評価イベント。

onSceneEnter

object (OnSceneEnter)

OnSceneEnter 実行イベント。

webhookRequest

object (WebhookRequest)

Webhook リクエスト ディスパッチ イベント。

webhookResponse

object (WebhookResponse)

Webhook レスポンスの受信イベント。

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Webhook によって開始された移行イベント。

slotMatch

object (SlotMatch)

スロット一致イベント。

slotRequested

object (SlotRequested)

スロット リクエスト イベント。

slotValidated

object (SlotValidated)

スロット検証イベント。

formFilled

object (FormFilled)

フォーム記入イベント。

waitingUserInput

object (WaitingForUserInput)

ユーザー入力イベントを待機しています。

endConversation

object (EndConversation)

会話終了イベント。

ExecutionState

実行の現在の状態。

JSON 表現
{
  "currentSceneId": string,
  "sessionStorage": {
    object
  },
  "slots": {
    object (Slots)
  },
  "promptQueue": [
    {
      object (Prompt)
    }
  ],
  "userStorage": {
    object
  },
  "householdStorage": {
    object
  }
}
フィールド
currentSceneId

string

現在アクティブなシーンの ID。

sessionStorage

object (Struct format)

セッション ストレージの状態: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

スロット充填の状態(該当する場合): https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

プロンプト キュー: https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

ユーザー ストレージの状態: https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

ホーム ストレージの状態: https://developers.google.com/assistant/conversational/storage-home

スロット

シーンのスロットの現在の状態を表します。

JSON 表現
{
  "status": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  }
}
フィールド
status

enum (SlotFillingStatus)

スロット充填の現在のステータス。

slots

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

現在のシーンに関連付けられているスロット。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

SlotFillingStatus

スロット充填の現在のステータスを表します。

列挙型
UNSPECIFIED 用途フィールドに入力されていない場合のフォールバック値。
INITIALIZED スロットは初期化されていますが、スロット充填は開始されていません。
COLLECTING スロット値が収集されています。
FINAL すべてのスロット値は最終的なものであり、変更できません。

スロット

スロットを表します。

JSON 表現
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
フィールド
mode

enum (SlotMode)

スロットのモード(必須または省略可)。デベロッパーが設定できます。

status

enum (SlotStatus)

スロットのステータス。

value

value (Value format)

スロットの値。レスポンスでこの値を変更すると、スロット充填の値が変更されます。

updated

boolean

スロット値が最後のターンで収集されたかどうかを示します。このフィールドは読み取り専用です。

prompt

object (Prompt)

省略可。このメッセージは、必要なスロットを埋める必要がある場合に送信されます。このプロンプトは、コンソールで定義されている既存のプロンプトをオーバーライドします。このフィールドは Webhook リクエストに含まれません。

SlotMode

スロットのモード、つまり必須かどうかを表します。

列挙型
MODE_UNSPECIFIED 用途フィールドに入力されていない場合のフォールバック値。
OPTIONAL スロットがスロット充填を完了する必要がないことを示します。
REQUIRED スロット充填を完了するためにスロットが必要であることを示します。

SlotStatus

スロットのステータスを表します。

列挙型
SLOT_UNSPECIFIED 用途フィールドに入力されていない場合のフォールバック値。
EMPTY スロットに値がないことを示します。このステータスをレスポンスから変更することはできません。
INVALID スロット値が無効であることを示します。このステータスはレスポンスで設定できます。
FILLED スロットに値があることを示します。このステータスをレスポンスから変更することはできません。

ステータス

Status 型は、REST API や RPC API など、さまざまなプログラミング環境に適した論理エラーモデルを定義します。gRPC により使用されます。各 Status メッセージには、エラーコード、エラー メッセージ、エラーの詳細という 3 種類のデータが含まれます。

このエラーモデルと操作方法について詳しくは、API 設計ガイドをご覧ください。

JSON 表現
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
フィールド
code

integer

ステータス コード。google.rpc.Code の列挙値である必要があります。

message

string

デベロッパー向けのエラー メッセージ。英語で記述します。ユーザー向けのエラー メッセージは、ローカライズして google.rpc.Status.details フィールドで送信するか、クライアントでローカライズする必要があります。

details[]

object

エラーの詳細を保持するメッセージのリスト。API が使用する共通のメッセージ タイプのセットがあります。

任意のデータ型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド "@type" を追加できます。例: { "id": 1234, "@type": "types.example.com/standard/id" }

UserConversationInput

ユーザー入力に関連する情報。

JSON 表現
{
  "type": string,
  "originalQuery": string
}
フィールド
type

string

ユーザー入力のタイプ。例:キーボード、音声、タップなど

originalQuery

string

ユーザーが入力した元のテキスト。

IntentMatch

トリガーされたインテント マッチに関する情報(グローバルまたはシーン内): https://developers.google.com/assistant/conversational/intents

JSON 表現
{
  "intentId": string,
  "intentParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
フィールド
intentId

string

このインタラクションをトリガーしたインテント ID。

intentParameters

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

このインタラクションをトリガーしたインテントのパラメータ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

handler

string

このインタラクションにアタッチされたハンドラの名前。

nextSceneId

string

このやり取りが通じるシーン。

ConditionsEvaluated

条件評価の結果: https://developers.google.com/assistant/conversational/scenes#conditions

JSON 表現
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
フィールド
failedConditions[]

object (Condition)

「false」と評価された条件のリスト。

successCondition

object (Condition)

「true」と評価された最初の条件(存在する場合)。

条件

評価された条件。

JSON 表現
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
フィールド
expression

string

この条件で指定された式。

handler

string

評価された条件で指定されたハンドラ名。

nextSceneId

string

評価された条件で指定されたデスティネーション シーン。

OnSceneEnter

onSceneEnter ステージの実行に関する情報: https://developers.google.com/assistant/conversational/scenes#onEnter

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

string

onSceneEnter イベントで指定されたハンドラ名。

WebhookRequest

アクション Webhook にディスパッチされたリクエストに関する情報: https://developers.google.com/assistant/conversational/webhooks#payloads

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

string

Webhook リクエストのペイロード。

WebhookResponse

アクション Webhook から受信したレスポンスに関する情報: https://developers.google.com/assistant/conversational/webhooks#payloads

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

string

Webhook レスポンスのペイロード。

WebhookInitiatedTransition

Webhook から返された宛先シーンによってトリガーされるイベント: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

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

string

遷移先のシーンの ID。

SlotMatch

一致したスロットに関する情報: https://developers.google.com/assistant/conversational/scenes#slot_filling

JSON 表現
{
  "nluParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  }
}
フィールド
nluParameters

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

ユーザー入力から NLU によって抽出されたパラメータ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

SlotRequested

現在リクエストされているスロットに関する情報: https://developers.google.com/assistant/conversational/scenes#slot_filling

JSON 表現
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
フィールド
slot

string

リクエストされた時間枠の名前。

prompt

object (Prompt)

スロット プロンプト。

SlotValidated

スロットの Webhook 検証が終了した後に発生するイベント: https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

フォームが完全に入力されたときに発生するイベント: https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

システムがユーザー入力を必要とするときに発生するイベント: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

エージェントとの会話が終了したことを通知するイベント。