通过3CX CFD分配基于时间的呼入呼叫

介绍

本指南介绍如何使用”Create a Condition”组件,基于一天中的不同时间段,在3CX呼叫流程设计器里创建呼叫流程App将呼叫路由到不同的分机。基于日期和时间路由呼入呼叫可以用一种更简单的方式来完成,而不需要使用C#表达式,如本文档中所述。但是,这里解释的概念对于根据不同表达式的结果路由呼入呼叫很有用。

第1步:创建项目

首先,我们需要创建一个新项目。打开CFD并转到“File” > “New” > “Project”,选择要保存的文件夹,然后输入项目名称,例如 TimeBasedRouting

第2步:添加Execute C# Code组件

对于此示例,我们要确定当前时间是否在这些时间段范围内:

  • 00点至09点

  • 09点至12点

  • 12点到18点

  • 18点至00点

为此,我们使用三个“Execute C# Code”组件,因为我们只需要检查前3个时间段范围。如果当前时间不在这3个时间段范围中的任何一个范围内,那么我们可以确定时间在第4个范围内,即18点至00点。

我们创建了三个“Execute C# Code”组件:

  1. “timeFrom0To9”使用的C#代码:return DateTime.Now.Hour < 9;

  2. “timeFrom9To12”使用的C#代码:return DateTime.Now.Hour >= 9 && DateTime.Now.Hour < 12;

  3. “timeFrom12To18”使用的C#代码:return DateTime.Now.Hour >= 12 && DateTime.Now.Hour < 18;

这些组件返回的布尔值:

如果时间在指定的时间段范围内,则为true,否则为false。

要评估这些结果并根据结果将呼叫转移到不同的目的地,请继续下一步。

第3步:添加“Create a Condition”组件

根据我们指定的条件,添加“Create a Condition”组件以执行不同的时间段分支:

  1. 从组件工具箱中拖出“Create a Condition” 组件,并将其放入“Main”呼叫流程的设计图面中。

  2. 选择刚添加的组件,转到“Properties(属性)”并将其重命名为“selectTimeRange”

  3. 将此组件配置为4个分支,分别命名为“from0to9”、“from9to12”、“from12to18”和“from18to0”:

4.现在,我们需要将每个分支的“Condition”属性设置为前一步中创建的“Execute C Code”组件的结果。条件的值必须为true才能执行分支内的组件。分支条件从左到右进行评估,因此如果不满足第一个分支条件,则将评估下一个分支条件。在本例中,我们对每个分支使用这些条件:

  • “from0to9”:timeFrom0To9.ReturnValue

  • “from9to12”:timeFrom9To12.ReturnValue

  • “from12to18”:timeFrom12To18.ReturnValue

  • “from18to0”: 保留为空,即在没有执行其他分支时执行此分支中的组件。

示例截图

第3步:添加“Transfer ”组件

现在我们已经准备好了条件,我们需要为 每个分支添加一个 “Transfer”组件,因此在每种情况下都会将呼叫转移到不同的内部分机。步骤如下:

  1. 从组件工具箱中拖出“Transfer”组件并将其放入每个分支,直到所有分支都有一个。

  2. 使用不同的“Destination”配置每个“Transfer”组件,例如,将每个“Transfer”组件的“Destination”属性分别设置为分机101,102,103和104。

  3. “Destination”设置完成后,整个项目的呼叫流程搭建完成,整体框架图如下:

注意“Destination”属性是一个表达式,即如果输入常量字符串值,则应引用这些值(使用双引号),如下图。这是因为此属性还可以引用变量或使用函数调用的结果进行设置。使用“表达式编辑器”可以轻松地为您创建此常量值。

第4步:构建此项目并部署到3CX系统

该项目已准备好构建并上传到我们的3CX系统,具体步骤如下:

  1. 选择“Build” > “Build All”,CFD生成文件“TimeBasedRouting.zip”

  2. 转到“3CX管理控制台” > “高级” > “呼叫流程App” > “添加/更新”,然后上传上一步中由CFD创建的文件。

  3. Call Flow App已准备就绪。拨打电话进行测试。