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
この関数は、エージェント ダイアログの永続ストレージをクリアします。また、エージェント ダイアログの現在の状態もクリアされます。デフォルトでは、ユーザーの認証ステータスが保持されます。この動作をカスタマイズするには、オプションの 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();