本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
当代理关闭他们CCP使用 Amazon Connect 时,他们会自动注销 CCPv1
重要
本主题仅适用于使用的客户CCPv1。fo URL r CCPv1 以 /ccp # 结尾。
使用默认 Amazon Connect 时CCPv1,关闭CCP窗口或注销不会自动将代理的状态从 “可用” 更改为 “离线”。座席必须手动将自己的状态更改为离线,然后注销。
要调整此行为,您可以执行下列操作之一:
-
使用CCPv2。座席注销后,其状态会自动切换为离线。但是,请注意,如果代理仅关闭窗口,则CCPv2不会自动将其切换到离线。有关升级到的说明CCPv2,请参阅当你的联系人控制面板 (CCP) 以 /cc CCP URL p # 结尾时。
-
使用 CreateAgentStatusAPI:您可以将代理的状态更改为 “脱机”。
-
创建自定义CCP。查看 Amazon Connect 直播API
和代理 API -
使用本主题中的以下步骤更新您的,CCP以便代理切换到脱机状态,并在代理关闭CCP窗口时自动注销代理。
步骤 1:设置直播 API
有关说明,请参阅Amazon Connect 流文档
步骤 2:更新应用程序代码以更改座席状态
将以下 Streams API 调用集成到您的 Web 应用程序中:
-
使用 connect.agent()
订阅座席事件和检索座席对象。 let mAgent; connect.agent(function(agent) { mAgent = agent; });
-
致电代理。 setState()
在 onbeforeunload 事件处理程序中用于更改代理状态。执行 beforeunload
函数后,座席将标记为离线。使用
beforeunload
挂钩是最佳选择,但请注意,它不能始终起作用。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"); } }); } });
步骤 3:设计错误处理方案
如果API呼叫第一次执行失败,而联系人接管了流程的错误分支,则座席的状态可能不会如预期的那样改变。务必包含逻辑来处理这种可能性。例如,您可以在再次尝试API调用时延迟页面的卸载。或者,可以在页面卸载之前,在模式对话框中弹出“调用失败”警告消息。