本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Connect 流数据块:设置路由标准
本主题定义了用于将任何渠道中的联系人路由到相应队列的流数据块。使用此流数据块时,请注意以下几点:
-
它为联系人设置路由标准。
-
可对语音、聊天和任务等任何渠道的联系人设置路由标准,以定义联系人在其队列中的路由方式。路由标准是一个或多个路由步骤的序列。
-
路由步骤是一项或多项要求的组合,必须满足这些要求才能将此联系人路由到座席。您可以为每个路由步骤设置可选的过期持续时间。例如,您可以创建一个路由步骤,要求根据用户 ID 在一定的有效期内只将此联系人提供给特定的座席。再举个例子,您可以创建一个非过期路由步骤,要求如下:Language:English >= 4 AND Technology:AWS Kinesis >= 2。
-
要求是使用预定义的属性名称、其值、比较运算符和熟练度创建的条件。例如,Technology:AWS Kinesis >= 2。
-
以下流类型支持此数据块:
-
入站流
-
客户队列流
-
转接座席流
-
转接队列流
-
-
“设置路由标准”数据块需要与“转移到队列”数据块一起使用,因为后者会将联系人转接到 Amazon Connect 队列并激活在此联系上指定的路由标准。
-
如果联系人被转移到座席队列,则在联系人上设置的路由标准将不会生效。有关更多信息,请参阅 根据座席熟练程度在 Amazon Connect 中设置路由。
使用预定义属性设置路由标准的先决条件
要为联系设置路由标准,您必须先完成以下操作:
-
在 Amazon Connect 实例中为座席分配熟练度使用先前创建的预定义的属性
路由标准是如何运作的
当联系人转接到标准队列时,Amazon Connect 将激活联系路由标准中指定的第一步。只有当座席满足联系的活动路由步骤中指定的要求时,该座席才会加入该联系。如果在该步骤到期之前仍未找到此类座席,Amazon Connect 将移至路由标准中指定的下一个步骤,直到满足其中一个标准。当所有步骤都到期后,会将联系转接到其路由配置文件中排队时间最长的可用座席。请注意,如果未在路由步骤中指定到期时间,则该路由步骤将永远不会过期。
您可以在路由标准中使用以下项目:
-
请从以下内容中选择:
此外,属性和路由标准必须具备以下条件;
-
每个属性都必须有相关的熟练度。
-
每个熟练程度级别必须使用 “>=” 比较运算符或从 1 到 5 的熟练程度等级。
-
标准的每个步骤都必须有一个定时过期计时器。
-
标准的最后一步可以有一个定时或不定时的过期计时器。
使用流数据块
您可以在联系流数据块用户界面中手动设置所需的路由标准,也可以根据调用 AWS Lambda 函数数据块的输出动态设置所需的路由标准。

手动设置路由标准
使用此选项,您可以手动设置 Set Routing Criteria
数据块中指定的联系人路由标准。参见下面的流程示例,在该流程中,通过从下拉列表中选择属性和值,将预定义的属性手动添加到路由步骤中。

根据需要,即使在此选项中,也可以使用 JSONPath 参考动态配置预定义的属性值。例如,您可以指定`$.External.language`
JSONPath 参考,而不是根据所有联系人的`Technology`
要求对AWS DynamoDB
值进行硬编码。有关 JSONPath 参考的更多信息,请参阅Amazon Connect 中可用的联系人属性列表及其 JSONPath 参考文献。
动态设置路由标准
您可以根据调用 AWS Lambda 函数数据块的输出动态设置联系人路由标准。
-
在调用 AWS Lambda 函数数据块中,配置 Lambda 函数以 JSON 格式返回路由标准,并将响应验证设置为 JSON。有关使用调用 AWS Lambda 函数的更多信息,请参阅允许 Amazon Connect 访问您的 AWS Lambda 功能文档。
-
在
Set Routing Criteria
数据块中,选择具有上述 Lambda 属性的动态设置选项 - 命名空间为External
,而键如上述 Lambda 响应中所述。例如,键是MyRoutingCriteria
,它指向下一节示例 Lambda 响应中的路由标准。
用于设置路由标准的 Lambda 函数示例
以下 Lambda 示例使用 AndExpression
返回路由标准:
export const handler = async(event) => {
return {
"MyRoutingCriteria": {
"Steps": [
{
"Expression": {
"AndExpression": [
{
"AttributeCondition": {
"Name": "Language",
"Value": "English",
"ProficiencyLevel": 4,
"ComparisonOperator": "NumberGreaterOrEqualTo"
}
},
{
"AttributeCondition": {
"Name": "Technology",
"Value": "AWS Kinesis",
"ProficiencyLevel": 2,
"ComparisonOperator": "NumberGreaterOrEqualTo"
}
}
]
},
"Expiry": {
"DurationInSeconds": 30
}
},
{
"Expression": {
"AttributeCondition": {
"Name": "Language",
"Value": "English",
"ProficiencyLevel": 1,
"ComparisonOperator": "NumberGreaterOrEqualTo"
}
}
}
]
}
}
};
以下 Lambda 示例使用 OrExpression
返回路由标准:
export const handler = async(event) => {
return {
"MyRoutingCriteria": {
"Steps": [
{
"Expression": {
"OrExpression": [
{
"AttributeCondition": {
"Name": "Technology",
"Value": "AWS Kinesis Firehose",
"ProficiencyLevel": 2,
"ComparisonOperator": "NumberGreaterOrEqualTo"
}
},
{
"AttributeCondition": {
"Name": "Technology",
"Value": "AWS Kinesis",
"ProficiencyLevel": 2,
"ComparisonOperator": "NumberGreaterOrEqualTo"
}
}
]
},
"Expiry": {
"DurationInSeconds": 30
}
}
]
}
}
};
以下 Lambda 示例使用NOTAttributeCondidtion
了一系列熟练程度级别来返回路由标准:
export const handler = async(event) => {
const response = {
"MyRoutingCriteria": {
"Steps": [
{
"Expression": {
"NotAttributeCondition": {
"Name" : "Language",
"Value" : "English",
"ComparisonOperator": "Range",
"Range" : {
"MinProficiencyLevel": 4.0,
"MaxProficiencyLevel": 5.0
}
}
},
"Expiry" : {
"DurationInSeconds": 30
}
}
]
}
}
return response;
};
路由步骤的状态是什么?为什么需要它们?
-
非活动:激活路由标准后,第一步立即变为“非活动”。路由引擎会根据到期计时器逐一执行标准。
-
每个步骤都以非活动开头,直到上一步到期。
-
-
活动:当一个步骤正在执行匹配时,状态将设置为“活动”
-
已过期:当 Amazon Connect 在步骤期间未找到座席并且计时器到期时,路由引擎会继续执行下一步。上一步被视为已过期。
-
已加入:每当座席成功与特定步骤的联系匹配时,该步骤的状态都将设置为已加入
-
已中断:如果联系人等待时间过长,或者运营主管可能会决定中断流并更改路由标准。这可以在特定步骤处于活动状态时完成,例如,某项任务已等待 24 小时,而经理想要更改标准。然后,步骤状态将设置为已中断。
-
已停用:当客户掉线或连接中断时,路由将停止。
使用路由标准,选择特定的首选座席
您还可以根据用户 ID 而不是预定义属性,使用路由标准将队列中的联系人限制为特定的首选座席或一组首选座席。例如,如果您发现某个特定客户最近就同一主题联系了您的联络中心,则您可能会尝试将此客户路由到上次处理其问题的同一位座席。为此,您可以将路由步骤设置为在路由步骤过期之前的一段时间内以此特定座席为目标。
常见问题解答
我能否将此功能与 Customer Profiles 最后一位座席标识符一起使用,将客户路由到最后一位处理其问题的座席?
Amazon Connect 客户档案根据联系记录提供了七个 out-of-the框默认属性,包括最后一个代理标识符属性,用于标识客户最后联系的代理。您可以使用这些数据将特定客户的新联系人路由到之前处理过其联系人的同一座席。为此,请先使用 Customer Profiles 流数据块,使用至少一个搜索标识符检索 Customer Profiles,例如 Phone = $.CustomerEndpoint.Address
。有关更多信息,请参阅 属性:获取配置文件。
然后,您可以使用 Set
routing criteria
Flow block UI 中的 “手动设置” 选项来指定应将每个联系人路由到$.Customer.CalculatedAttributes._last_agent_id
( JSONPath参考),而不是对特定的用户 ID 进行硬编码,并设置过期计时器,以限制每位联系人路由到最后一个代理。有关 JSONPath 参考的更多信息,请参阅Amazon Connect 中可用的联系人属性列表及其 JSONPath 参考文献。有关 Amazon Connect Customer Profiles 提供的默认属性的更多信息,请参阅 Amazon Connect 客户资料中的默认计算属性。
如果首选座席不在,会发生什么?
如果您设置了针对特定首选座席的路由步骤,则联系人将仅限于此座席,直到路由步骤过期为止。这与以下情况无关:
-
座席是否在线。
-
座席在线,但忙于处理其他联系人,现在无法再路由其他联系人
-
座席在线,但处于自定义非生产状态
-
座席已从实例中删除(他们的 userID 仍然被认为是有效的)
例如,假设您将特定联系人限制为目标座席 Jane Doe,有效期为 30 秒,但 Jane Doe 目前处于离线状态。尽管如此,联系人仍将在 30 秒内限制给 Jane Doe,之后路由步骤将过期,并且可以将联系人提供给队列中的其他空闲座席。
在单个首选座席步骤中,我最多可以锁定多少位座席?
您最多可以锁定 10 位座席。
我能否创建既包括基于首选座席的路由步骤,也包括基于预定义属性的路由步骤的路由标准?
是。例如,您可以创建两步路由标准,其中步骤 1 根据您的自定义匹配学习模型预测为给定有效期的最合适座席的座席,通过用户 ID 将联系人定向给特定的首选座席,然后步骤 2 根据预定义的属性(例如要求最低西班牙语熟练度)锁定联系人。
场景
有关使用此数据块的场景,请参阅以下主题: