Amazon Connect コンタクトセンターのエージェントが Contact Connect コントロールパネル (CCP) ウィンドウを閉じたときに、ステータスを自動的に [オフライン] に変更したいです。設定するにはどうすればよいですか?
簡単な説明
Amazon Connect Streams API と Agent API を使用して、CCP をコンタクトセンターのカスタムアプリケーションに統合します。
カスタム CCP 設定の例については、「Amazon Connect スクリーンポップに発信者のコンタクト属性を表示するにはどうすればよいですか」を参照してください。
**注:**デフォルトの Amazon Connect CCP を使用している場合、これを閉じてもエージェントのステータスが [利用可能] から [オフライン] に変更されることはありません。エージェントはステータスを手動で変更する必要があります。
解決方法
**重要:**次の手順は、基本的な例とリソースを示しています。Streams API の実装方法を決定し、独自のユースケースとコンタクトセンターの要件に合わせて JavaScript クライアントコードを開発する必要があります。
カスタムウェブアプリケーションで Amazon Connect インスタンスの CCP をセットアップする
手順については、GitHub の Amazon Connect ストリームのドキュメントを参照してください。
アプリケーションコードを更新する
以下の Streams API コールをウェブアプリケーションに統合します。
1. connect.agent() を使用して、エージェントイベントをサブスクライブし、エージェントオブジェクトを取得します。
let mAgent;
connect.agent(function(agent) {
mAgent = agent;
});
2. onbeforeunload イベントハンドラで agent.setState() を呼び出して、エージェントの状態を変更します。
window.addEventListener("beforeunload", function(event) {
if (mAgent != null) {
let states = mAgent.getAgentStates();
// "states" is an array of changeable states. You can filter the desired state to change by name.
let offlineState = states.filter(state => state.name === "Offline")[0];
// Change agent state
mAgent.setState(offlineState, {
success: function() {
console.log("SetState succeeded");
},
failure: function() {
console.log("SetState failed");
}
});
}
});
エラーに対する設計
API コールが失敗し、コンタクトが問い合わせフローのエラーブランチを取得した場合、エージェントのステータスが期待どおりに変化しないことがあります。この可能性を考慮して、カスタムコードにロジックを含めてください。
例えば、API 呼び出しが再試行される間、ページのアンロードを遅らせることができます。または、ページがアンロードされる前に、モーダルダイアログボックスに「呼び出し失敗」という警告メッセージを入力することもできます。
関連情報
カスタムエージェントステータスの追加
Provide access to the Contact Control Panel
メトリクスの監視とレポートの実行