Dialogflow CX Messenger JavaScript

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

Dialogflow CX Messenger の最小化されたチャット

この関数は、チャット ウィンドウを最小化された状態で開きます。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();