如何设置代理状态,让它们在关闭 Amazon Connect CCP 窗口时自动离线?
上次更新时间:2019 年 11 月 21 日
当我的 Amazon Connect 联系中心的代理关闭联络控制面板 (CCP) 窗口时,我希望它们的状态会被自动设置为离线。该如何操作?
简短描述
在使用默认的 Amazon Connect CCP 时,将其关闭不会使代理的状态从空闲更改为离线。代理的状态必须手动更改。
您必须创建自定义 CCP,在 CCP 关闭时自动更改代理的状态。
解决方法
使用 Amazon Connect Streams API 和 代理 API 为您的联系中心创建自定义 CCP。如需自定义 CCP 设置的示例,见使用 Amazon Connect 执行外部屏幕弹窗。
注:这些说明仅提供基本的示例和资源。您必须确定如何为您自己的用例和联系中心要求实现 Streams API 并编写 JavaScript 客户端代码。
设置 Streams API
如需说明,见 Amazon Connect Streams 文档。
更新您的应用程序代码
在您的 Web 应用程序中集成以下 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");
// Change agent state
mAgent.setState(offlineState, {
success: function() {
console.log("SetState succeeded");
},
failure: function() {
console.log("SetState failed");
}
});
}
});
防范错误的设计
如果 API 调用在第一次执行时失败,联系人进入联络流的错误分支,那么代理状态有可能不会如预期更改。确保将此可能性的逻辑纳入考虑。例如,您可以在 API 调用再次尝试时延迟页面卸载。或者,您可以在模态对话中弹出 "Call failed" 警告消息,然后再卸载页面。