

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

# 根据座席熟练程度在 Amazon Connect 中设置路由
<a name="proficiency-routing"></a>

下面概述了根据座席熟练程度设置路由的步骤：

1. [创建用于将联系人路由到座席的预定义属性](predefined-attributes.md)
   + 您创建的预定义属性将用于路由决策。在下一步中，您可以单独使用预定义属性，也可以使用 `AND` 或 `OR` 运算符将它们组合起来，形成一个路由步骤。

1. [在 Amazon Connect 实例中为座席分配熟练度](assign-proficiencies-to-agents.md)
   + 您选择预定义的属性并将其与座席关联。系统会考虑对所有符合同一队列中联系人路由步骤要求的可用座席进行匹配。

1. 设置路由标准
   + 使用 [设置路由标准](set-routing-criteria.md) 流模块手动或动态设置路由标准。

1. 转接队列

   使用 [转接队列](transfer-to-queue.md) 流数据块将联系人转接到队列中。转移联系人后，Amazon Connect 会运行路由标准。

![熟练度路由 4 步图。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/proficiency-routing-chart.png)


## 如何使用座席熟练度进行路由的示例
<a name="proficiency-routing-example"></a>

假设有这样一个场景，其中联系人进入队列**一般入站队列**并且有两个座席（Agent1 和 Agent2）。一位会说法语的客户正在寻求有关 AWS DynamoDB 的帮助。这是他们第二次就同一问题致电，并且您更愿意将他们与 AWS DynamoDB 的专家配对。为了保持客户体验，您想要执行以下路线要求：
+ 在最初的 30 秒内，首先要找一位精通**法语 (>=4)** 和 **AWS DynamoDB (> =5)** 的座席。
+ 如果此时未找到座席，请在接下来的 30 秒内寻找精通**法语 (>=3)** 和 **AWS DynamoDB (>=5)** 的座席。放宽了对法语的要求，以进一步扩大符合条件的座席群以满足该要求。
+ 如果此时尚未有座席加入，请寻找精通**法语 (>=3)** 和 **AWS DynamoDB (>=4)** 的座席，并继续寻找，直到找到座席为止。此处放宽了 AWS DynamoDB 要求，以扩大符合该要求的合格座席群。
**注意**  
对于监管或合规应用场景，您可以使用到期计时器的**永不过期**选项，以确保加入联系的任何座席都符合最低要求。

**要将联系人路由至上述要求，请完成以下步骤：**

1. **创建预定义的属性**：例如，在**用户管理**、**预定义的属性**中，将 `Technology` 添加为预定义的属性，并将 `AWS DynamoDB` 作为值之一。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/proficiency-routing.html)
**注意**  
**Connect:French** 已经作为预定义的属性，在系统属性 **Connect:Language** 中作为一个值提供。您可以在路由标准中使用它。您还可以将多达 128 种客户语言作为值添加到 **Connect:Language** 中。

1. **将熟练度与用户相关联**：有 2 个座席，即 Agent1 和 Agent2，他们会说法语并精通 AWS DynamoDB，如下所示。在**用户管理**中，**显示高级设置**将以下熟练度与 Agent1 和 Agent2 相关联。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/proficiency-routing.html)

1. **设置路由标准**：使用此流数据块，可以使用通过调用 Lambda 函数创建的 JSON 手动或动态创建以下路由标准，如潜在入站流中所示。创建以下路由标准：

   1. 第 1 步：connect:Language(connect:French) >=4 **和** Technology (AWS DynamoDB) >=5 **[30 秒]**

   1. 第 2 步：connect:Language(connect:French) >=4 **和** Technology (AWS DynamoDB) >=4 **[30 秒]**

   1. 第 3 步：connect:Language(connect:French) >=3 **和** Technology (AWS DynamoDB) >=4 **[永不过期]**

   下图显示了按座席熟练程度为路由配置的入站流示例。此流包括以下数据块：[AWS Lambda 函数](invoke-lambda-function-block.md)、[设置路由标准](set-routing-criteria.md)、[设置工作队列](set-working-queue.md)、[转接队列](transfer-to-queue.md) 和 [断开/挂断](disconnect-hang-up.md)。  
![按座席熟练程度为路由配置的流。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/proficiency-routing-example-flow-block.png)

1. **转接队列**：联系人转接到“常规入站队列”后，Amazon Connect 会立即开始运行路由标准。在联系人加入 Agent1 之前，执行以下步骤。

   1. **路由步骤 1**：由于没有座席对 AWS DynamoDB 的熟练度达到 >= 5，因此在前 30 秒内（不匹配），Amazon Connect 无法与任何座席匹配。

   1. **路由步骤 2**：在接下来的 30 秒内（不匹配），依然没有座席精通法语且对 AWS DynamoDB 的熟练度达到 >=4。

   1. **路由步骤 3：**上一步的时间到期后，Amazon Connect 就会寻找可用座席，Agent1（法语 3，AWS DynamoDB 4）精通法语和 AWS DynamoDB。因此，此联系人会与 Agent1 配对。

队列的实时指标中有一个[一键式向下钻取](one-click-drill-downs.md)指标，其中显示了队列中活跃联系人正在使用的路由步骤列表。您可以在[Amazon Connect 中的指标定义](metrics-definitions.md)下面找到路由步骤特定指标的定义。

## 更新联系记录、联系人事件流和座席事件流，以提高座席熟练度
<a name="proficiency-routing-contact-record"></a>

以下各节中增加了用于熟练度路由的模型：
+ [Amazon Connect 联系记录的数据模型](ctr-data-model.md)
+ [Amazon Connect 的座席活动流数据模型](agent-event-stream-model.md)
+ [联络事件数据模型](contact-events.md#contact-events-data-model)

## 常见问题
<a name="proficiency-routing-faq"></a>
+  **队列还有意义吗？** 
  + 是的，仍然需要队列。只有当联系人进入队列时，才会激活路由标准。座席熟练度为队列中的目标特定座席提供了额外的控制权。
+  **我们什么时候应该将某件事作为熟练度而不是队列进行建模？** 
  + 这是一项商业决策。在使用座席熟练度时，您应该考虑对可以消除和整合的队列数量的影响。
+  **座席熟练度是否适用于所有渠道？** 
  + 是的，使用座席熟练度进行路由适用于所有渠道。
+  **如何删除路由标准？** 
  + 您可以使用客户队列流中断路由标准。
  + 您也可以通过这种方式更新路由标准。
+  **我可以更改排队联系人的路由标准多少次？** 
  + 您可以更改路由标准的次数不受限制。但是，联系记录中只存储最近 3 次路由标准更新。
+  **借助座席熟练度，队列优先级和延迟会照常运行吗？** 
  + 是的，队列优先级和延迟的运行方式与在 non-agent-proficiencies环境中一样。
+  **创建路由标准时支持哪些运算符？** 
  +  以下是支持的布尔运算符：
    + AND
    + 或
  + 支持下列比较运算符：
    +  >= 
  + 您还可以定义最低和最高熟练程度等级的范围，例如：
    + connect:English(1-3)
    + connect:Chat(4-4)
  + 在表达式中不能多次使用同一个属性。例如，不允许 connect:English(1-3) 和 connect:English(5-5)。
  + NOT（用于排除）– 在路由时，您可以使用 NOT 运算符排除具有特定熟练程度的座席，例如：
    + NOT connect:French(1-5)
+  **哪些字符可以用于预定义的属性？** 
  + 预定义的属性名称和值的模式是 `^(?!(aws:|connect:))[\p{L}\p{Z}\p{N}_.:/=+-@']+$`。例如，它可以包含任何字母、数值、空格或 `_.:/=+-@'` 特殊字符，但不能以 `aws:` 或 `connect:` 开头。
+  **我能否在路由标准中多次添加相同的属性？** 
  +  可以，您可以在路由标准中多次添加相同的属性。
+  **触发转接（快速连接）时，能否设置路由标准？** 
  + 您使用转接流程中的 [设置路由标准](set-routing-criteria.md) 数据块来设置已转接的联系人分段的路由标准。无法将先前联系人的路由标准转移到加入座席后创建的新联系人分段。
+  **如果在路由联系人之前将其转接到队列，路由标准会发生什么变化？** 
  + 如果联系人在加入座席之前已转接，从新队列的第一步开始实施路由标准。为此，我们会将先前联系人的路由标准转移到由于队列转移而创建的新联系人分段。
+  **联系记录中是否有匹配座席的熟练度的快照？** 
  +  否，联系记录中不会包含座席的熟练度。
  +  座席事件流显示座席加入时熟练度的快照。
+  **我们可以通过熟练使用来搜索代理 APIs吗？** 
  +  否，此功能不受支持。
+  **如果我们删除了活跃联系人的属性，会发生什么？** 
  + 您可以删除用于活跃联系人的属性。但是，任何具有该属性的路由步骤将找不到匹配的座席，并且该联系人会留在队列中，直到路由标准到期。
  + 所有具有该属性的新联系人开始接受流中 [设置路由标准](set-routing-criteria.md) 数据块上的错误分支。
+  **当座席拒绝呼叫时，路由标准步骤/过期会发生什么变化？** 
  + 当座席接受联系人并且加入完成时，路由会认为加入已完成。当座席拒绝接受联系人时，路由引擎会继续执行路由标准，计时器也会持续运行。
+  **当路由再次运行时，拒绝该步骤的座席是否会成为池中的一员？** 
  + 是的，当路由再次运行时，座席继续成为池中的一员。
+  **是否提供历史指标？** 
  + 否，分析中不提供历史指标。
  + 联系记录、座席事件流和联系人事件流包含所有必需信息。
+  **在哪里可以找到用于设置路由标准的 Lambda 函数示例？** 
  + 有关设置路由标准的 Lambda 函数示例，请参阅 [用于设置路由标准的 Lambda 函数示例](set-routing-criteria.md#set-routing-criteria-sample-lambda-function)。
+  **如果联系人被转接到座席队列，在联系人上设置的路由标准会发生什么变化？** 
  + 路由标准对座席队列中的联系人没有影响。如果带有路由标准的联系人从座席队列转接到标准队列，那么路由标准就会转移到因队列转接而创建的新联系人分段。