Interactive Canvas API リファレンス

Interactive Canvas API は、ウェブアプリで interactiveCanvas オブジェクトを使用して会話型アクションとやり取りするために使用する JavaScript ライブラリです。

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

Methods

ready

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

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

Methods
getIntentArg(parameterName) function(string)

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

createNumberSlot

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

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

パラメータ
callback function(FilledSlot)

スロットが埋められたときに実行される関数。

hints Hints

ユーザーがスロットを埋めるときに発話する可能性のある短い単語。hints は、NLU システムが埋めるスロットを決定するのに役立ちます。

Slot object

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

createTextSlot

createTextSlot(callback, hints?) returns Slot<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<T>

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

パラメータ
T boolean|number|string

スロットタイプ。

オプション

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

フィールド
key string

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

synonyms array<string>

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

ヒント

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

フィールド
associatedWords array<string>

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

expect

expect(expectation) returns HandlerRegistration

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

パラメータ
expectation IntentHandler|Slot

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

HandlerRegistration object

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

HandlerRegistration

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

Methods
deleteHandler() function

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

clearExpectations

clearExpectations() returns undefined;

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

プロンプト

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>;

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

パラメータ
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>;

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

パラメータ
key string

パラメータキー。

resetHomeParam

resetHomeParam() returns Promise<void>;

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

setCanvasState

setCanvasState(state) returns undefined

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

パラメータ
state Object

JSON オブジェクトとしての Canvas アプリの更新状態。

InteractiveCanvasCallbacks

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

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 : アシスタントは現在クエリを行っています(マイクは閉じています)。