本指南介绍如何使用”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”组件:
-
“timeFrom0To9”使用的C#代码:return DateTime.Now.Hour < 9;
-
“timeFrom9To12”使用的C#代码:return DateTime.Now.Hour >= 9 && DateTime.Now.Hour < 12;
-
“timeFrom12To18”使用的C#代码:return DateTime.Now.Hour >= 12 && DateTime.Now.Hour < 18;
这些组件返回的布尔值:
如果时间在指定的时间段范围内,则为true,否则为false。
要评估这些结果并根据结果将呼叫转移到不同的目的地,请继续下一步。
第3步:添加“Create a Condition”组件
根据我们指定的条件,添加“Create a Condition”组件以执行不同的时间段分支:
-
从组件工具箱中拖出“Create a Condition” 组件,并将其放入“Main”呼叫流程的设计图面中。
-
选择刚添加的组件,转到“Properties(属性)”并将其重命名为“selectTimeRange”。
-
将此组件配置为4个分支,分别命名为“from0to9”、“from9to12”、“from12to18”和“from18to0”:
4.现在,我们需要将每个分支的“Condition”属性设置为前一步中创建的“Execute C Code”组件的结果。条件的值必须为true才能执行分支内的组件。分支条件从左到右进行评估,因此如果不满足第一个分支条件,则将评估下一个分支条件。在本例中,我们对每个分支使用这些条件:
-
“from0to9”:timeFrom0To9.ReturnValue
-
“from9to12”:timeFrom9To12.ReturnValue
-
“from12to18”:timeFrom12To18.ReturnValue
-
“from18to0”: 保留为空,即在没有执行其他分支时执行此分支中的组件。
示例截图
第3步:添加“Transfer ”组件
现在我们已经准备好了条件,我们需要为 每个分支添加一个 “Transfer”组件,因此在每种情况下都会将呼叫转移到不同的内部分机。步骤如下:
-
从组件工具箱中拖出“Transfer”组件并将其放入每个分支,直到所有分支都有一个。
-
使用不同的“Destination”配置每个“Transfer”组件,例如,将每个“Transfer”组件的“Destination”属性分别设置为分机101,102,103和104。
-
“Destination”设置完成后,整个项目的呼叫流程搭建完成,整体框架图如下:
注意:“Destination”属性是一个表达式,即如果输入常量字符串值,则应引用这些值(使用双引号),如下图。这是因为此属性还可以引用变量或使用函数调用的结果进行设置。使用“表达式编辑器”可以轻松地为您创建此常量值。
第4步:构建此项目并部署到3CX系统
该项目已准备好构建并上传到我们的3CX系统,具体步骤如下:
-
选择“Build” > “Build All”,CFD生成文件“TimeBasedRouting.zip”。
-
转到“3CX管理控制台” > “高级” > “呼叫流程App” > “添加/更新”,然后上传上一步中由CFD创建的文件。
-