

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon Connect 中的流程區塊：設定轉接條件
<a name="set-routing-criteria"></a>

本主題定義流程區塊將任何頻道中的聯絡轉接到適當佇列。

## Description
<a name="set-routing-criteria-description"></a>

設定聯絡人的轉接準則。
+ 轉接條件可以對任何頻道的聯絡進行設定，例如語音、聊天、任務和電子郵件，以定義應該如何在其佇列中轉接聯絡。轉接條件是一或數個轉接步驟的序列。
+ 轉接步驟是必須滿足的一或多個要求的組合，才能將此聯絡轉接至客服人員。您可以為每個轉接步驟設定選擇性到期持續時間。例如，您可以建立一個轉接步驟，要求僅在特定到期持續時間內，根據使用者 ID 提供此聯絡給特定客服人員。另一個範例是您可以建立不會過期的轉接步驟，要求為：**Language:English >= 4 ** 和 **Technology:AWS Kinesis >= 2**。
+ 要求是使用預先定義的屬性名稱、值、比較運算子和熟練度建立的條件。例如，**Technology:AWS Kinesis >= 2**。
+ 搭配使用**設定轉接條件**區塊與**轉接至佇列**區塊，因為後者會將聯絡轉接到 Amazon Connect 佇列，並啟用聯絡上指定的轉接條件。
+ 如果聯絡轉接到客服人員佇列，則在聯絡上設定的轉接條件不會生效。如需詳細資訊，請參閱[根據客服熟練度在 Amazon Connect 中設定轉接](proficiency-routing.md)。
+ 當到期時間 (DurationInSeconds) 設定得太短時，如果第一個客服人員錯過通話，可能會讓 Amazon Connect 無法將聯絡正確轉接到下一個最熟練的客服人員。預設佇列型轉接可與熟練度型轉接競爭，導致這兩種方法之間的轉接行為不一致。

## 支援的頻道
<a name="set-routing-criteria-channels"></a>

下表列出此區塊如何轉接使用指定頻道的聯絡人。


| Channel | 支援？ | 
| --- | --- | 
| 語音 | 是 | 
| 聊天 | 是 | 
| 任務 | 是 | 
| Email | 是 | 

## 流程類型
<a name="set-routing-criteria-types"></a>

您可以在下列[流程類型](create-contact-flow.md#contact-flow-types)中使用此區塊：
+ 入站流程
+ 客戶佇列流程
+ 轉接客服人員流程
+ 轉接至佇列流程

## 使用預先定義的屬性設定轉接條件的先決條件
<a name="set-routing-criteria-prerequisites"></a>

在設定聯絡的轉接條件之前，您必須完成下列步驟：

1.  建立 [建立將聯絡轉接至客服人員的預先定義屬性](predefined-attributes.md)。

1.  [將熟練度指派給 Amazon Connect 執行個體中的客服人員](assign-proficiencies-to-agents.md) 使用先前建立的預先定義屬性 

## 何時使用設定轉接條件區塊
<a name="set-routing-criteria-when"></a>

有兩種方式可將聯絡直接轉接給客服人員：
+ **選項 1：使用**設定轉接條件**區塊來指定轉接條件偏好的客服人員**。此選項在下列情況時較佳：
  + 您想要能夠同時以多個客服人員為目標。例如，一個四人支援團隊，主要支援客戶。
  + 如果偏好的客服人員無法使用，您想要有選項可回復到佇列中更廣泛的客服人員集區。
  + 您希望在標準佇列的指標中報告聯絡。

  選擇此選項的優點是它使用客服人員的 userID (例如 janedoe)，因此比使用 ARN 的選項 2 更容易設定。

  轉接條件的主要缺點是會影響佇列指標 (SLA、佇列時間等)。如果 QueueA 中的聯絡專門等待 Agent12，則其他可用的客服人員不會收取該聯絡。它可能會違反您定義的 SLA。您會看到這種情況的方式是查看即時指標報告；請參閱 [使用一鍵式向下回溯](one-click-drill-downs.md)。
**注意**  
當您設定轉接並指定逾時組態時，請記住此案例以因應這些影響。
+ **選項 2：使用客服人員的佇列**。此選項在下列情況時通常較佳：
  + 聯絡**僅**適用於該特定客服人員，而非其他人。
  + 您不希望在標準佇列下報告聯絡。如需標準佇列和客服人員佇列的資訊，請參閱 [佇列：「標準」和「客服人員」](concepts-queues-standard-and-agent.md)。

  如需設定此選項的指示，請參閱 [將聯絡案例轉接至客服人員佇列](transfer-to-agent.md)。

## 轉接條件如何運作
<a name="set-routing-criteria-how-it-works"></a>

將聯絡轉接到標準佇列時，Amazon Connect 會啟動聯絡轉接條件中指定的第一個步驟。

1. 只有當客服人員符合聯絡使用中轉接步驟中指定的需求時，才會加入聯絡。

1. 如果在步驟到期之前找不到此類客服人員，則 Amazon Connect 會移至轉接條件中指定的下一個步驟，直到滿足其中一個步驟為止。

1.  當所有步驟都過期時，會提供聯絡給在其轉接設定檔中具有佇列的最長可用客服人員。

**注意**  
如果轉接步驟中未指定到期持續時間，則轉接步驟永遠不會到期。

**您可以在轉接條件中使用下列項目：**
+ 請選擇下列項目：
  + 一或多個偏好的客服人員，根據使用者 ID 或使用者名稱。
  + 使用 `AND` 條件最多八個屬性。
  + 轉接步驟中最多三個 OR 條件。以 OR 分隔的每個要求最多可有八個屬性。
    + 您只能在動態設定屬性時使用 OR。如需詳細資訊，請參閱[如何設定轉接條件](#set-routing-criteria-using-the-flow-block)。
  + NOT 運算子以排除所選擇層級的熟練度。您只能在動態設定屬性時使用 NOT。如需詳細資訊，請參閱[如何設定轉接條件](#set-routing-criteria-using-the-flow-block)。

**注意**  
支援巢狀表達式，但 OR 表達式必須位於最上層。您可以將 AND 放在 OR 內，但反過來則不成立。

此外，屬性和轉接條件必須具有下列項目：
+ 每個屬性都必須有相關聯熟練度層級。
+  每個熟練度層級必須使用「>=」比較運算子，或從 1 到 5 的熟練度層級範圍。
+ 條件的每個步驟都必須有定時到期計時器。
+ 條件的最後一個步驟可以有定時或不會過期的到期計時器。

## 如何設定轉接條件
<a name="set-routing-criteria-using-the-flow-block"></a>

您可以在流程區塊 UI 中手動設定所需的轉接條件，也可以根據 [AWS Lambda 函數](invoke-lambda-function-block.md) 區塊的輸出，動態設定所需的轉接條件。

![設定轉接條件屬性頁面。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/set-routing-criteria-using-the-flow-block.png)


### 手動設定轉接條件
<a name="set-routing-criteria-set-manually"></a>

使用此選項，您可以手動設定**設定轉接條件**區塊中指定的聯絡的轉接條件。請參閱以下流程的範例，以手動方式將預先定義的屬性新增至轉接步驟，方法是從下拉式清單中挑選屬性與值。

![手動設定轉接條件流程區塊。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/set-routing-criteria-set-manually.png)


 根據需要，即使在此選項中，您也可以使用 JSONPath 引用，動態配置預先定義的屬性值。例如，您可以指定 ``$.External.language`` JSONPath 參考，而不是根據所有聯絡的 ``Technology`` 要求對 `AWS DynamoDB` 值進行硬編碼。如需 JSONPath 參考的詳細資訊，請參閱 [Amazon Connect 中可用的聯絡屬性清單及其 JSONPath 參考](connect-attrib-list.md)。

### 動態設定轉接條件
<a name="set-routing-criteria-set-dynamically"></a>

您可以根據**調用 AWS Lambda 函式**區塊的輸出，動態設定聯絡的轉接條件。
+ 在 [AWS Lambda 函數](invoke-lambda-function-block.md) 區塊中，設定 Lambda 函式，該函式會以 JSON 格式傳回轉接條件，並將回應驗證設定為 JSON。如需使用**調用 AWS Lambda 函式**的詳細資訊，請參閱 [授予 Amazon Connect 存取函數的權限 AWS Lambda](connect-lambda-functions.md) 文件。
+  在 `Set routing criteria` 區塊中，選擇有上述 Lambda 屬性 - **命名空間**的**動態設定**選項為 `External` 並在上述 Lambda 回應中指定**索引鍵**。例如，金鑰可以是 `MyRoutingCriteria`，指向下一節中範例 Lambda 回應中的轉接條件。

### 設定轉接條件的 Lambda 函數範例
<a name="set-routing-criteria-sample-lambda-function"></a>

 下列 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;
};
```

## 轉接步驟的狀態為何？為什麼需要它們？
<a name="set-routing-criteria-why-status-routing-step"></a>

1.  **失效：**啟動轉接條件時，第一個步驟會立即「失效」。按照到期計時器的標準，轉接引擎一次執行一個步驟。

   1.  每個步驟都會以*失效*開始，直到上一個步驟到期。

1.  **有效：**當主動執行符合項目的步驟時，狀態會設為「有效」。

1.  **已過期：**Amazon Connect 在步驟持續時間內找不到客服人員且計時器到期時，轉接引擎會繼續進行下一個步驟。上一個步驟被視為*已過期*。

1.  **已加入：**每當客服人員成功與特定步驟的聯絡配對時，步驟狀態將設定為*已加入*。

1.  **中斷：**如果聯絡人等待時間太長，或者作業主管可能決定中斷流程並變更轉接條件。這可以在特定步驟處於有效狀態時完成，例如，任務已經等待 24 小時，經理想要變更標準。步驟狀態將設定為*中斷*。

1.  **停用：**當客戶中斷通話或連線中斷時，轉接將停止。

## 使用轉接條件以特定偏好的客服人員為目標
<a name="set-routing-criteria-specific-preferred-agent"></a>

 您也可以使用轉接條件，根據使用者 ID 而非預先定義的屬性，將佇列中的聯絡限制為特定偏好的客服人員或一組偏好的客服人員。

例如，如果您已識別出特定客戶最近就相同主題聯絡您的聯絡中心，建議您嘗試將該客戶轉接給上次處理其問題的相同客服人員。若要這樣做，您可以設定轉接步驟，在轉接步驟到期之前，以該特定客服人員為目標一段時間。

以下是有關此功能如何運作的常見問題。

 **我可以將此功能與 Customer Profiles 最後一個客服人員識別符搭配使用，將客戶轉接到處理其問題的最後一個客服人員嗎？** 

Amazon Connect Customer Profiles 會根據聯絡人記錄提供七個開箱即用的預設屬性，包括最後一個客服人員識別符屬性，以識別與客戶連線的最後一個客服人員。您可以使用此資料，將來自指定客戶的新聯絡轉接至先前處理其聯絡的相同客服人員。若要這麼做，請先使用 Customer Profiles 流程區塊，使用至少一個搜尋識別符擷取客戶設定檔，例如 `Phone = $.CustomerEndpoint.Address`。如需詳細資訊，請參閱[屬性：獲取設定檔](customer-profiles-block.md#customer-profiles-block-properties-get-profile)。

然後，您可以使用**設定轉接條件**區塊中的**手動設定**選項，指定每個聯絡應轉接至 `$.Customer.CalculatedAttributes._last_agent_id` (JSONPath 參考)，而不是硬編碼特定使用者 ID，並設定到期計時器，以限制每個聯絡轉接至最後一個客服人員的時間長度。如需 JSONPath 參考資料的詳細資訊，請參閱 [Amazon Connect 中可用的聯絡屬性清單及其 JSONPath 參考](connect-attrib-list.md)。如需透過 Amazon Connect Customer Profiles 提供的預設屬性的詳細資訊，請參閱 [Amazon Connect Customer Profiles 中的預設計算屬性](customerprofiles-default-calculated-attributes.md)。

 **如果偏好的客服人員無法使用，會發生什麼情況？** 

 如果您有以特定偏好客服人員為目標的轉接步驟集，聯絡將僅限於該客服人員，直到轉接步驟到期為止。無論下列情況為何：

1.  客服人員是否在線上

1.  客服人員在線上，但忙於處理其他聯絡，目前無法轉接其他聯絡 

1.  客服人員在線上，但處於自訂非生產力狀態  

1.  客服人員已從執行個體中刪除 (其 userID 仍視為有效)  

 例如，假設您已將特定聯絡限制為以客服人員 Jane Doe 為目標且到期時間為 30 秒，但 Jane Doe 目前離線。儘管如此，聯絡將限制為 Jane Doe 30 秒，在此之後轉接步驟將會到期，並且可以將聯絡提供給佇列中其他可用的客服人員。  

 **在單一偏好客服人員步驟中，我可以做為目標的客服人員數量上限是多少？** 

 您最多可以 10 個客服人員為目標。  

 **我是否可以建立轉接條件，其中包含以偏好的客服人員為基礎的轉接步驟，以及以預先定義屬性為基礎的轉接步驟？** 

 是。例如，您可以建立兩步驟轉接條件，其中步驟 1 會根據您自訂相符學習模型 (具有指定到期時間) 預測為最適合的客服人員的使用者 ID，將聯絡的目標設定為特定偏好的客服人員，然後步驟 2 根據預先定義的屬性設定聯絡的目標，例如需要西班牙文的最低熟練度層級。

## 案例
<a name="set-routing-criteria-scenarios"></a>

 如需使用此區塊的案例，請參閱下列主題：
+  [如何參考 Amazon Connect 中的聯絡屬性](how-to-reference-attributes.md) 