Dialogflow CX Messenger には、呼び出して動作に影響を与えることができる関数が用意されています。
renderCustomText
この関数は、単純なテキスト レスポンスとしてエージェントから送られたものであるか、またはエンドユーザーによって入力されたものであるかのように、単純なテキスト メッセージをレンダリングします。
引数:
string
: テキスト メッセージboolean
: エージェントからのメッセージの場合は true、エンドユーザーからの場合は false
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.renderCustomText('Custom text', true);
renderCustomCard
この関数は、Dialogflow フルフィルメントから受け取ったものであるかのように、カスタムカードをレンダリングします。
引数:
payload
: カスタム ペイロード レスポンスのリスト。フルフィルメント セクションで定義します。
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
const payload = [
{
"type": "info",
"title": "Info item title",
"subtitle": "Info item subtitle",
"image": {
"rawUrl": "https://example.com/images/logo.png"
},
"anchor": {
"href": "https://example.com",
"target": "_blank"
}
}
];
dfMessenger.renderCustomCard(payload);
sendQuery
この関数は、Dialogflow API にクエリを送信し、レスポンスを待ちます。 これにより、通常はエージェント ダイアログに表示されるエンドユーザー入力がシミュレートされます。 レスポンスは、エンドユーザーのクエリと同様に処理されます。
引数:
string
: テキスト クエリ
戻り値:
Promise<void>
: 非同期オペレーションの戻り値
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendQuery('Describe shipping costs.');
sendRequest
この関数は、Dialogflow API にリクエストを送信し、レスポンスを待ちます。
引数:
string
: リクエスト タイプ。query
(上記sendQuery
もご覧ください)およびevent
(カスタム イベントをご覧ください)をサポートしますany
: リクエスト タイプに対応するペイロード。現在、サポートされている両方のリクエスト タイプの文字列です
戻り値:
Promise<void>
: 非同期オペレーションの戻り値
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendRequest('query', 'Describe shipping costs.');
setQueryParameters
この関数は、Dialogflow API detectIntent
リクエストの queryParams フィールドにデフォルト値を設定します。他の Dialogflow CX Messenger メソッドでは、クエリ パラメータの個別のデフォルト値が置き換えられる場合があります。
引数:
object
: JSON データクエリ パラメータのスキーマについては、QueryParameters をご覧ください。
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
const queryParameters = {
parameters: {
timeZone: "America/New_York"
}
};
dfMessenger.setQueryParameters(queryParameters);
setContext
この関数は、エンドユーザーに関する生成のパーソナライズを Dialogflow に送信します。 この情報はセッションの残りの間保持されます。
引数:
object
: JSON データ。生成パーソナライゼーションのドキュメントをご覧ください。
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
const metadata = {
"subscription plan": "Business Premium Plus",
"devices owned": [
{
model: "Google Pixel 7",
},
{
model: "Google Pixel Tablet",
},
],
};
dfMessenger.setContext(metadata);
clearStorage
この関数は、エージェント ダイアログの永続ストレージをクリアします。また、エージェント ダイアログの現在の状態もクリアされます。
引数:
- なし
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearStorage();
clearAuthentication
この関数は、エージェント ダイアログの認証をクリアします。
引数:
- なし
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearAuthentication();
startNewSession
この関数は、エージェント ダイアログ内で新しいセッションを開始します。現在のメッセージ履歴を保持するか、リセットするかを選択できます。ユーザー認証はクリアされません。
引数:
名前 | 型 | 説明 |
---|---|---|
args |
object? |
新しいセッションの作成を構成するオプションの引数。 |
args.retainHistory |
boolean? |
履歴を保持するオプションのフラグ。true に設定すると履歴が保持され、それ以外の場合は履歴が消去されます。 |
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.startNewSession({ retainHistory: true });
openChat
この関数はチャットを開始します。df-messenger-chat-bubble
要素でこの関数を呼び出してチャットを開始します。チャットがすでに開始されている場合は何もしません。
引数:
- なし
戻り値:
void
次に例を示します。
const dfMessengerBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerBubble.openChat();
closeChat
この関数はチャットを閉じます。df-messenger-chat-bubble
要素でこの関数を呼び出してチャットを終了します。チャットがすでに終了されている場合は何もしません。
引数:
- なし
戻り値:
void
次に例を示します。
const dfMessengerBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerBubble.closeChat();
openMinChat
この関数は、最小化されたチャット ウィンドウを開きます。df-messenger-chat-bubble
要素でこの関数を呼び出して最小化されたチャットを開始します。チャットがすでに最小化されている場合は何もしません。
引数:
名前 | 型 | 説明 |
---|---|---|
args | オブジェクト? | 最小化されたチャットを構成するオプションの引数 |
args.anchor | 文字列? | 最小化されたチャットを開く場所を構成するオプションの anchor 。チャットのふきだし要素の anchor 属性と同じロジックです。デフォルトは left-top です。 |
args.showActorImages | boolean? | アクター画像を表示するオプションのフラグ(df-messenger-chat-bubble 要素で指定した場合)。デフォルトは false です。 |
例:
const dfMessengerChatBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerChatBubble.openMinChat({
anchor: 'top-left'
});
closeMinChat
最小化されたチャットを閉じます。df-messenger-chat-bubble
要素でこの関数を呼び出してチャットを終了します。チャットがすでに終了されている場合は何もしません。
例:
const dfMessengerChatBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerChatBubble.closeMinChat();