通过拨号代码管理您的队列登录状态
此脚本允许座席通过拨打预设代码来切换其队列登录状态。无论是登录还是登出所有分配的队列,座席都可以快速调整其可用性,而无需浏览菜单。这些脚本(强制登录和强制登出)展示了呼叫处理脚本的灵活性。您可以根据具体需求修改和优化脚本以实现更多功能。
如何设置登录所有队列的脚本
- 进入管理控制台 > 集成 > 呼叫脚本
- 从商店添加并选择”将座席设置为队列登录状态”
- 为脚本指定一个易于识别的名称
- 选择”当用户拨打拨号代码时运行此脚本”
- 添加拨号代码 – 例如 *44
- 选择”系统范围”
如何设置登出所有队列的脚本
- 进入管理控制台 > 集成 > 呼叫脚本
- 从商店添加并选择”将座席设置为队列登出状态”
- 为脚本指定一个易于识别的名称
- 选择”当用户拨打拨号代码时运行此脚本”
- 为此添加拨号代码 – 例如 *55
- 选择”系统范围”
座席如何使用
- 登录:拨打 *44(或您选择的代码)
- 登出:拨打 *55(或您选择的代码)
使用这些脚本的原因
- 简单管理:座席可以通过拨号代码即时更新其队列状态
- 节省时间:跳过菜单或界面实现快速更改
- 灵活设置:可以根据具体需求调整拨号代码和修改脚本
示例脚本
免责声明!此脚本仅供参考。如需最新版本,请从商店下载。
脚本:强制座席登录所有队列的功能
using System;
using System.Threading.Tasks;
using TCX.Configuration;
using CallFlow;
namespace dummy
{
public class LoginToAllQueues : ScriptBase
{
public override async Task StartAsync()
{
if (MyCall.Caller.DN is Extension ext
&& MyCall.ReferredByDN is not DN)
{//------------login extension to all queues
ext.QueueStatus = QueueStatusType.LoggedIn;
foreach (var qa in ext.QueueMembership)
{
qa.QueueStatus = QueueStatusType.LoggedIn;
}
ext.Save();
MyCall.Info($"Extension {ext.Number} has been logged in to all queues");
//-----------play system prompt when done------
try
{
await MyCall.AssureMedia().ContinueWith(_ => MyCall.PlayPrompt(ext.GetPropertyValue("PROMPTSETID"), [ "LOGGED_IN" ], PlayPromptOptions.Blocked)).Unwrap();
}
catch(Exception ex)
{
}
return true;
}
return false;
}
}
}
(上方代码实现了让座席登录到所有队列的功能)
脚本:强制座席登出所有队列的功能
using System;
using System.Threading.Tasks;
using TCX.Configuration;
using CallFlow;
namespace dummy
{
public class LogoutAndResetParticipation : ScriptBase
{
public override async Task StartAsync()
{
if (MyCall.Caller.DN is Extension ext && MyCall.ReferredByDN is not DN)
{
//----logout extension from all queues
ext.QueueStatus = QueueStatusType.LoggedOut;
foreach (var qa in ext.QueueMembership)
{
qa.QueueStatus = QueueStatusType.LoggedOut;
}
ext.Save();
MyCall.Info($"Extension {ext.Number} has been logged out from all queues"); //-------play system prompt
try
{
await MyCall.AssureMedia()
.ContinueWith(_ => MyCall.PlayPrompt(ext.GetPropertyValue("PROMPTSETID"), new[] { "LOGGED_OUT" }, PlayPromptOptions.Blocked))
.Unwrap();
}
catch
{
//nothing to do
}
return true;
}
return false;
}
}
}
(上方代码实现了让座席登出所有队列的功能)