エージェントの状態およびインタラクション情報の取得
以下の getState メソッドを使用すると、エージェントの状態やインタラクションに関するデータを取得できます。このメソッドを使用することで、ログイン中のエージェントに関するデータを迅速に取得できます。
getState メソッドは、ウェブページ上のボタンなどのウェブ要素に添付できます。ボタンがクリックされると、データが取得され、ページ上に実行中のログとして表示されます。 エージェントの状態やインタラクションがリアルタイムで変化するにつれて、データは継続的に更新されます。
getState メソッドは、item_id(インタラクション ID)などのエージェントおよびインタラクションのパラメータを提供するため、他のメソッドと組み合わせて使用すると便利です。これらのパラメータは、例えば通話録音の制御などに必要となります。
この記事では、以下の方法を学びます:
- getStateをボタンに添付する方法
- サンプルJavaScriptをHTMLに埋め込む方法
- getStateを使用してリクエストを行う方法
- リクエストしたデータを表示する方法
サンプルコード
このサンプルコードでは、メソッドがボタンエレメントに添付されています。
このサンプルコードをコピーして、HTMLファイルに貼り付けてください。これは、SDKを動作させるために必要な最低限のコードです。「<テナント>」を、ご使用のエージェントデスクトップ Webサーバーの名前(例:「example.brightpattern.com」)に置き換えることをお忘れなく。
<SCRIPT type="text/javascript" src="https://<テナント>.brightpattern.com/agentdesktop/libs/servicepattern-sdk-v1.js"> </SCRIPT>
<IFRAME id="repeater" style="position:absolute; right: 8px; width: 300px; height: 700px;" src="https://<テナント>.brightpattern.com/agentdesktop/UniversalRepeater.jsp"></IFRAME>
<BUTTON onclick="bpspat.api.getState(log)">状態を取得</BUTTON>
<DIV id="log">ログ...</DIV>
<SCRIPT type="text/javascript">
window.bpspat.api.init("https://<テナント>.brightpattern.com");
function log(data) {
let div = document.createElement("div");
div.innerHTML = JSON.stringify(data);
document.getElementById("log").appendChild(div);
}
</script>
演習例
ページエレメントやUniversal Repeaterウィジェットの表示をスタイルする方法は数多くあります。以下はあくまで例として提示されているものです。
- 以下の内容を貼り付けます。 サンプルコード をHTMLファイルの本文に貼り付けてください。
- 保存し、ウェブブラウザでページを開いてください。
「getState」ボタン付きのサンプルWebページ - エージェントがログインしていることを確認してください。
- 「Get State」ボタンをクリックしてリクエストを開始してください。
リクエストされたエージェントの状態データがログに表示されます - ページ上でレスポンスデータを表示します。レスポンスは次のような形式になります:
{"command":"GET_STATE","data":{"agent_id":"jeffery.lozada","interactions":[],"status":"受付不可","理由":"受付不可"},"request_id":"0"} {"command":"GET_STATE","data":{"agent_id":"jeffery.lozada","interactions":[],"status":"受付可能","理由":""},"request_id":"1"}
「Get State」をクリックするたびに、レスポンスデータには、処理済みのインタラクションを含め、エージェントの現在の状態に関する更新情報が表示されます。