

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

# 聯絡屬性在 Amazon Connect 中的運作方式
<a name="what-is-a-contact-attribute"></a>

Amazon Connect 會將與客戶的每一次互動視為個別**聯絡**。這個互動可以是語音電話、聊天，或使用 Amazon Lex 機器人的自動互動。

每個聯絡人都可以擁有一些專屬於特定互動的資料。此資料可作為聯絡屬性存取。例如：
+ 客戶名稱
+ 客服人員名稱
+ 用於聯絡人的頻道，例如電話或聊天

聯絡屬性將此資料表示為鍵/值對。您可能會將其視為欄位名稱，以及輸入該欄位的資料。

例如，以下是客戶名稱的幾個鍵值對：


| 金鑰 | 值 | 
| --- | --- | 
| firstname | Jane | 
| lastname | Doe | 

聯絡屬性的優點在於它們可讓您儲存有關聯絡人的臨時資訊，以便在流程中使用。

例如，在您的歡迎訊息中，您可以說出他們的名字或感謝他們成為會員。為此，您需要一種方法來擷取有關該特定客戶的資料，並在流程中使用它。

## 常用案例
<a name="contact-attribute-scenarios"></a>

以下是使用聯絡屬性的一些常用使用案例：
+ 使用客戶電話號碼來排定佇列的回電。
+ 識別哪個客服人員與客戶互動，使通話後調查問卷可以和聯絡人關聯。
+ 識別佇列中的聯絡人數目，以決定是否應將聯絡人轉接至不同的佇列。
+ 獲取要存儲在資料庫中的相應媒體串流 ARN。
+ 使用客戶電話號碼來識別客戶的狀態 (例如，他們是否為會員)，或其訂單狀態 (已出貨、延遲等)，將客戶轉接至適當的佇列。
+ 根據客戶與機器人的互動，識別要在流程中使用的插槽 (例如，要訂購的花朵類型)。

## 聯絡屬性類型
<a name="types-of-contact-attributes"></a>

為了讓您更快地尋找和選擇您要使用的屬性，屬性會分組為 **類型**。對於每個流程區塊，我們只會顯示使用它的那些類型的屬性。

考慮聯絡屬性類型的另一種方法是根據值的來源對它們進行分類。聯絡屬性的值具有下列來源：
+ Amazon Connect 會在聯絡人互動期間提供這些值，例如客服人員的名稱。這被稱為在執行期間提供值。
+ Amazon Lex 或 等外部程序 AWS Lambda會提供 值。
+ [使用者定義](connect-attrib-list.md#user-defined-attributes)。
  + 聯絡屬性：在流程中，您可以在使用者定義的命名空間下指定屬性的值。
  + 聯絡區段屬性：在流程中，您可以在區段屬性命名空間下指定屬性的值。您也必須預先定義屬性，再將其指派為聯絡區段屬性。如需說明，請參閱[使用聯絡區段屬性](use-contact-segment-attributes.md)。

  [流程屬性](connect-attrib-list.md#flow-attributes) 與使用者定義的屬性類似。但是，與使用者定義的屬性不同，流程屬性僅限於設定它們的流程。

下圖列出可用的聯絡屬性類型，並將它們對應至三個值來源：Amazon Connect、Amazon Lex 等外部處理程序，以及使用者定義。

![可用聯絡屬性的類型，其值的來源。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/contact-attributes-types.png)


## 聯絡人記錄中的聯絡屬性
<a name="attributes-in-ctr"></a>

聯絡屬性會在 InitialContactId 相同的所有聯絡案例之間共用。

這表示在執行轉接時，例如，轉接流程中更新的聯絡屬性會更新兩種聯絡人記錄聯絡屬性 (也就是來電和轉接聯絡屬性) 中的屬性值。

## 聯絡人記錄中的聯絡區段屬性
<a name="segmentattributes-in-ctr"></a>

在聯絡人記錄中，聯絡區段屬性的值會隨著個別 contactID 而不同。其值會在所有具有相同 InitialContactId 的聯絡間共用。

這表示在執行轉接時，例如，在轉接流程中更新的聯絡區段屬性，會對新的聯絡人記錄更新屬性值 (也就是，會更新轉接聯絡區段屬性)。

## 「$」是特殊字元
<a name="dollar-sign-special"></a>

Amazon Connect 會把「$」字元視為特殊字元。設定屬性時，您無法在索引鍵中使用它。

 例如，假設您要建立具有文字轉語音功能的互動區塊。您設定如下屬性：

 ` {"$one":"please read this text"} ` 

當 Amazon Connect 讀取此文字時，會向聯絡案例朗讀「dollar sign one」，而不是「please read this text」。此外，如果您在索引鍵中包含了 $，並在稍後嘗試使用 Amazon Connect 來參考該值，則它不會擷取該值。

但 Amazon Connect 確實會記錄，並將完整鍵值對 `({"_$one":"please read this text"})` 傳遞至整合，例如 Lambda。

## 如果屬性不存在會發生什麼情況
<a name="attribute-error"></a>

如果屬性不存在，且聯絡人被轉接到錯誤分支，請務必實作邏輯進行處理。

假設您將屬性新增到「儲存客戶輸入」區塊。**Namespace** 是 **Agent**，而 **Key** 是 **User-name**，如下列範例所示。

![「儲存客戶輸入」區塊。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/contact-attributes-errorbranch.png)


如果流程執行了，而且客服人員使用者名稱不可用，則會將聯絡人轉接到錯誤分支。