CCPv1:当座席关闭他们的 CCP 时自动注销这些座席 - Amazon Connect

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CCPv1:当座席关闭他们的 CCP 时自动注销这些座席

重要

本主题仅适用于使用 CCPv1 的客户。CCPv1 的 URL 以 /ccp# 结尾。

使用默认 Amazon Connect CCPv1 时,关闭 CCP 窗口或注销并不会将座席的状态从可用更改为离线。座席必须手动将自己的状态更改为离线,然后注销。

要调整此行为,您可以执行下列操作之一:

  • 使用 CCPv2。座席注销后,其状态会自动切换为离线。但是,请注意,如果座席仅关闭窗口,CCPv2 不会自动将其切换到离线。有关升级到 CCPv2 的说明,请参阅我的 CCP URL 以 /ccp# 结尾

  • 使用CreateAgent状态 API:您可以将代理的状态更改为 “离线”。

  • 创建自定义 CCP。参见 Amazon Connect Streams API座席 API

  • 使用此主题中的以下步骤更新 CCP,以便在座席关闭 CCP 窗口时自动将其切换为离线并注销。

步骤 1:设置 Streams API

有关说明,请参阅Amazon Connect 流文档

步骤 2:更新应用程序代码以更改座席状态

将以下 Streams API 调用集成到您的 Web 应用程序中:

  1. 使用 connect.agent() 订阅座席事件和检索座席对象。

    let mAgent; connect.agent(function(agent) { mAgent = agent; });
  2. 在 onbeforeunload 事件处理程序中调用 agent.setState() 以更改座席状态。执行 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 调用时延迟页面卸载。或者,可以在页面卸载之前,在模式对话框中弹出“调用失败”警告消息。