Fallback Intent における任意のパラメーターについて

25 views
Skip to first unread message

成谷允

unread,
Jun 23, 2019, 11:17:10 PM6/23/19
to Assistant Developer Community Japan
Fallback Intentではparametersが設定できないように見えます。
Fallback Intentで任意の値をバックエンドに送ることは可能でしょうか?

複数のAgentのFallback Intentを1つのバックエンドでどのAgentのFallback Intentかを判別したいためです。
Fallback Intentリクエストの queryResult.intent.name あたりを利用するしかないでしょうか?

Yoichiro Tanaka

unread,
Jun 24, 2019, 12:08:17 AM6/24/19
to Assistant Developer Community Japan
成谷さん、
こんにちは。洋一郎です。

> Fallback Intentで任意の値をバックエンドに送ることは可能でしょうか?
> 複数のAgentのFallback Intentを1つのバックエンドでどのAgentのFallback Intentかを判別したいためです。

Fallback Intentですと、おっしゃるとおり、パラメータの付与はできないです。別の手段でどのDialogflowエージェントからの要求かどうかを一つのフルフィルメントで判別する必要がありそうです。

最も簡単な方法は、Dialogflow側のFallback Intentのイベント名にDialogflowエージェントを識別するための文字列を含めることかと思います。これにより、フルフィルメント側で定義するインテント名が明確に違ったものになるので、それぞれ別のインテントハンドラを定義することができるようになるでしょう。

その他には、Dialogflowエージェント側でのフルフィルメント定義の設定画面にて、URLにクエリパラメータとして、あるいはリクエストヘッダとして、Dialogflowエージェントを区別するための値を渡すように設定します。そして、フルフィルメントのコードにてそれらを取り出してどのDialogflowエージェントからの要求なのかを判断する、という実装ができるかと思います。Actions on Google Client Library の Middleware としておそらく記述できるかな、と思います。

ご参考になれば幸いです。
ではでは。

-Yoichiro



2019年6月24日月曜日 12時17分10秒 UTC+9 成谷允:
Reply all
Reply to author
Forward
0 new messages