Dialogflow CX Messenger には、動作を変更するために呼び出すことができる関数が用意されています。
renderCustomText
この関数は、単純なテキスト レスポンスとしてエージェントから送られたものであるか、またはエンドユーザーによって入力されたものであるかのように、単純なテキスト メッセージをレンダリングします。
引数:
string: テキスト メッセージboolean: エージェントからのメッセージの場合は true、エンドユーザーからの場合は false
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.renderCustomText('Custom text', true);
renderCustomCard
この関数は、Dialogflow CX フルフィルメントから受け取ったものであるかのように、カスタムカードをレンダリングします。
引数:
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 CX API にクエリを送信し、レスポンスを待ちます。これにより、通常はエージェント ダイアログに表示されるエンドユーザー入力がシミュレートされます。回答は、エンドユーザーのクエリと同様に処理されます。
引数:
string: テキスト クエリ
戻り値:
Promise<void>: 非同期オペレーションの戻り値
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendQuery('Describe shipping costs.');
sendRequest
この関数は、Dialogflow CX API にリクエストを送信し、レスポンスを待ちます。
引数:
string: リクエスト タイプ。query(上記sendQueryもご覧ください)およびevent(カスタム イベントをご覧ください)をサポートしますany: リクエスト タイプに対応するペイロード。現在、サポートされている両方のリクエスト タイプの文字列です
戻り値:
Promise<void>: 非同期オペレーションの戻り値
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendRequest('query', 'Describe shipping costs.');
setQueryParameters
この関数は、Dialogflow CX 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 CX に送信します。この情報は、セッションの残りの期間にわたって保持されます。
引数:
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
この関数は、エージェント ダイアログの永続ストレージをクリアします。また、エージェント ダイアログの現在の状態もクリアされます。デフォルトでは、ユーザーの認証ステータスが保持されます。この動作をカスタマイズするには、オプションの args を使用します。
引数:
| 名前 | 型 | 説明 |
|---|---|---|
args |
object? |
ストレージのクリア オペレーションを構成するためのオプションの引数。 |
args.clearAuthentication |
boolean? |
認証ステータスをクリアするためのオプションのフラグ。true に設定すると認証ステータスがクリアされ、それ以外の場合は保持されます。 |
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearStorage();
clearAuthentication
この関数は、エージェント ダイアログの認証をクリアします。
引数:
- なし
戻り値:
void
次に例を示します。
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearAuthentication();
startNewSession
この関数は、エージェント ダイアログ内で新しいセッションを開始します。デフォルトでは、メッセージ履歴はクリアされますが、ユーザーの認証ステータスは保持されます。この動作をカスタマイズするには、オプションの args を使用します。
引数:
| 名前 | 型 | 説明 |
|---|---|---|
args |
object? |
新しいセッションの作成を構成するための省略可能な引数。 |
args.retainHistory |
boolean? |
履歴を保持するためのオプション フラグ。true に設定すると履歴が保持され、それ以外の場合は履歴が消去されます。 |
args.clearAuthentication |
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 |
object? |
最小化されたチャットを構成するための省略可能な引数 |
args.anchor |
string? |
最小化されたチャットを開く場所を設定する省略可能な 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();