Interactive Canvas API リファレンス

Interactive Canvas API は、Google Cloud で API 呼び出しと ウェブアプリで interactiveCanvas オブジェクトを使用して、会話型アクションと併用できます。

Interactive Canvas について詳しくは、Interactive Canvas をご覧ください。 ドキュメントをご覧ください

メソッド

準備完了

ready(callbacks) returns undefined

コールバックを登録するために読み込まれると、Interactive Canvas ウェブアプリによって呼び出されます。

パラメータ
callbacks InteractiveCanvasCallbacks

メソッド コールバックを含むオブジェクト。

sendTextQuery

sendTextQuery(textQuery) returns Promise<state>

テキストクエリを会話型アクションに送信します。

パラメータ
textQuery string

会話アクションに送信するクエリ。

state string

次のいずれかが表示されます。

READY: リクエストはプラットフォームで承認されます。

BLOCKED: 処理中のクエリがあるため、新しいクエリは破棄されます。

UNKNOWN:: 現在のクエリの状態を特定できませんでした。

getHeaderHeightPx

getHeaderHeightPx() returns Promise<height>

ディスプレイの上部にあるヘッダーの高さを指定します。

パラメータ
height number

ピクセル単位の高さ。

outputTts

outputTts(text, openMic) returns undefined;

SSML テキストを再生します。

パラメータ
text string

SSML で再生できる文字列。

openMic boolean

TTS の再生後にマイクを開くかどうかを指定します。

createIntentHandler

createIntentHandler(intentId, callback) returns IntentHandler

NLU カスタム インテントのインテント ハンドラを作成します。

パラメータ
intentId string

Actions Builder で定義されたインテント名。

callback function(MatchedIntent)

インテントが一致したときに実行される関数。

IntentHandler object

expect() を使用して登録できるインテント ハンドラ オブジェクト。

IntentHandler

インテント ハンドラを表すオブジェクト。expect() または prompt() を使用して登録できます。

MatchedIntent

一致したインテントのデータを含むオブジェクト。

メソッド
getIntentArg(parameterName) function(string)

一致したインテントのインテント パラメータを取得するメソッド。

createNumberSlot

createNumberSlot(callback, hints?) returns Slot<number>

数値型のスロットを作成します。

パラメータ
callback function(FilledSlot)

スロットがいっぱいになったときに実行される関数。

hints Hints

時間枠を埋める際にユーザーが発話する可能性のある短い単語。hints どのスロットを埋めるかを NLU システムが決定します

Slot object

prompt() を使用して登録できるスロット オブジェクト。

createTextSlot

createTextSlot(callback, hints?) returns Slot<string>

String 型のスロットを作成します。

パラメータ
callback function(FilledSlot)

スロットがいっぱいになったときに実行される関数。

hints Hints

時間枠を埋める際にユーザーが発話する可能性のある短い単語。hints どのスロットを埋めるかを NLU システムが決定します

Slot object

prompt() を使用して登録できるスロット オブジェクト。

createConfirmationSlot

createConfirmationSlot(callback, hints?) returns Slot<boolean>

ブール値タイプのスロットを作成します。

パラメータ
callback function(FilledSlot)

スロットがいっぱいになったときに実行される関数。

hints Hints

時間枠を埋める際にユーザーが発話する可能性のある短い単語。hints どのスロットを埋めるかを NLU システムが決定します

Slot object

prompt() を使用して登録できるスロット オブジェクト。

createOptionsSlot

createOptionsSlot(options, callback, hints?) returns Slot<string>

事前定義されたオプションのリストからスロットを作成します。

パラメータ
options array<Option>

スロットがいっぱいになったときに実行される関数。

callback function(FilledSlot)

スロットがいっぱいになったときに実行される関数。

hints Hints

時間枠を埋める際にユーザーが発話する可能性のある短い単語。hints どのスロットを埋めるかを NLU システムが決定します

Slot object

prompt() を使用して登録できるスロット オブジェクト。

スロット

埋めるスロットを表すオブジェクト。expect() または prompt() を使用して登録できます。

FilledSlot&lt;T&gt;

塗りつぶされたスロットを表すオブジェクト。

パラメータ
T boolean|number|string

スロットタイプ。

オプション

スロットタイプのエントリを表すオブジェクト。

フィールド
key string

スロットタイプ エントリの一意の識別子。

synonyms array<string>

スロット オプションを選択するために使用される単語のリスト。

ヒント

スロットのヒントを表すオブジェクト。

フィールド
associatedWords array<string>

NLU システムがどのスロットを埋めるかを決定するために使用される単語のリスト。

予想

expect(expectation) returns HandlerRegistration

クライアントに対する期待値を登録します。インテント ハンドラとスロットで呼び出すことができます。

パラメータ
expectation IntentHandler|Slot

登録するインテント ハンドラまたはスロット。

HandlerRegistration object

登録済みのインテント ハンドラまたはスロット。

HandlerRegistration

登録済みのインテント ハンドラを表すオブジェクト。

メソッド
deleteHandler() function

想定されるインテント ハンドラの登録を解除します。

clearExpectations

clearExpectations() returns undefined;

以前に登録されたインテント ハンドラとスロットをすべて削除することで、すべての想定を排除します。

prompt

prompt(tts, expectation) returns Promise<Answer<T>>

指定された TTS 文字列をユーザーに入力し、期待値をクライアントに登録します。インテント ハンドラとスロットで呼び出すことができます。

パラメータ
tts string

ユーザーに期待値の入力を求めるために使用される TTS 文字列。

expectation IntentHandler|Slot

登録するインテント ハンドラまたはスロット。

Answer<T> object

プロンプトに対してユーザーが指定した回答。

答え<T>

プロンプトに対してユーザーが入力した回答を表すオブジェクト。

フィールド
value boolean|number|string

ユーザー入力の回答の値。

status string

回答のステータス。

次のいずれかが表示されます。

ANSWERED: ユーザーがプロンプトに回答しました。

NO_MATCH: ユーザーが回答を求め、想定していた回答やその他の期待される意図と一致しない回答が返ってきたとき。

YIELD: ユーザーが別のインテントでプロンプトに応答しました。

triggerScene

triggerScene(sceneName) returns Promise<TriggerSceneStatus>

シーンをトリガーします。

パラメータ
sceneName string

トリガーするシーンの名前。

TriggerSceneStatus string

triggerScene() の呼び出しのステータス。

次のいずれかが表示されます。

SUCCESS:: リクエストはサーバーによって正常に処理されました。

BLOCKED: リクエストは処理中の既存のクエリによってブロックされました。

UNKNOWN:: リクエストのステータスが不明です。

setUserParam

setUserParam(key, value) returns Promise<undefined>;

会話間で渡され、保持される Key-Value ペアを設定します。

パラメータ
key string

パラメータキー。

value object|array|boolean|number|string

パラメータ値。

getUserParam

getUserParam(key) returns Promise<object|array|boolean|number|string>;

指定されたキーのパラメータ値(存在する場合)と呼び出しのステータスを取得します。

パラメータ
key string

パラメータキー。

resetUserParam

resetUserParam() returns Promise<void>;

すべてのユーザー パラメータをクリアします。

setHomeParam

setHomeParam(key, value) returns Promise<undefined>;

会話間で渡され、保持される Key-Value ペアを設定します。

パラメータ
key string

パラメータキー。

value object|array|boolean|number|string

パラメータ値。

getHomeParam

getHomeParam(key) returns Promise<object|array|boolean|number|string>;

指定されたキーのパラメータ値(存在する場合)と呼び出しのステータスを取得します。

パラメータ
key string

パラメータキー。

resetHomeParam

resetHomeParam() returns Promise<void>;

すべてのユーザー パラメータをクリアします。

setCanvasState

setCanvasState(state) returns undefined

Canvas ウェブアプリが状態を更新されたことをアシスタントに通知します。「 setCanvasState メソッドは値を返しません。状態ペイロードには、 conv.context.canvas.state プロパティ。

パラメータ
state Object

Canvas アプリの更新された状態(JSON オブジェクト)。

Interactive Canvas のコールバック

これらのコールバックは、ユーザーが情報やリクエストに応答する手段を提供します。 会話型アクションからの情報を取得できますが、メソッドでは 会話型アクションに送信します。

onUpdate

onUpdate(data) returns Promise|undefined

会話型アクションから Canvas レスポンスが送信されたときに呼び出されます。TTS が開始されるタイミングは 返された Promise が解決されるか、10 秒後にタイムアウトします。

パラメータ
data Object

Webhook によって送信された更新済みデータ。

onTtsMark

onTtsMark(markName) returns undefined

TTS の再生中に呼び出されるコールバック。

通常トリガーされる特別なマークを以下に示します。

  • START は、TTS の開始を示します。
  • END は、TTS の終了を示します。
  • ERROR は、TTS の再生中にエラーが発生したことを示します。

SSML<mark> タグを使用して、カスタムマークを定義することもできます。次に例を示します。 <mark name="custom"/>

パラメータ
markName string

TTS の再生中に呼び出されたマーク名。

onInputStatusChanged

onInputStatusChanged(inputStatus) returns undefined

アシスタントの入力ステータスが変更されたことを Canvas アプリに通知します。

パラメータ
inputStatus Enum

デバイスでの音声入力やテキスト入力の処理のステータス。缶 次のように変更します。

  • LISTENING : マイクは開いています。
  • IDLE : マイクは閉じています。
  • PROCESSING : アシスタントは現在実行中です 応答します(マイクは閉じています)。