

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

# Amazon Connect 中的流程區塊：設定聯絡屬性
<a name="set-contact-attributes"></a>

本主題定義流程區塊將鍵值對儲存為聯絡屬性，然後設定流程稍後參考的值。

## Description
<a name="set-contact-attributes-description"></a>

存放的鍵值對可用於設定聯絡屬性。您設定稍後在流程中參考的值。

​例如，為根據客戶帳戶類型轉接至佇列的客戶建立個人化的問候語。您也可以定義公司名稱或​業務線為屬性，以加入對客戶報出的文字轉換語音字串。

**設定聯絡屬性** 區塊對於由外部來源複製屬性至使用者定義的屬性相當實用。

如需如何使用聯絡屬性人的詳細資訊，請參閱 [使用 Amazon Connect 聯絡屬性](connect-contact-attributes.md)。

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

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


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

## 流程類型
<a name="set-contact-attributes-types"></a>

您可以在下列[流程類型](create-contact-flow.md#contact-flow-types)中使用此區塊：
+ 所有流程

## Properties
<a name="set-contact-attributes-properties"></a>

下圖顯示 **設定聯絡屬性** 區塊的 **屬性** 頁面。它被設定為會針對 **目前聯絡人** 設定使用者定義的屬性，並使用鍵 **greetingPlayed** 和值 **true**。

![「設定聯絡屬性」區塊的屬性頁面。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/set-contact-attributes-properties.png)


您可以選擇針對下列項目設定屬性：
+ **目前聯絡人**：此屬性針對執行此流程的聯絡人而設定。這些屬性可由 Amazon Connect 的其他區域存取，例如其他流程、模組、Lambda、聯絡人記錄和 GetMetricDataV2 API。
+ **相關聯絡人**：此屬性與包含原始聯絡屬性副本的新聯絡人關聯。

  在聯絡人記錄中，這是 **RelatedContactId**。
+ **流程**：這些屬性僅限於設定該屬性的流程。

  如果您不想在整個聯絡人中保留資料，例如當您需要使用客戶的信用卡號碼等敏感資訊來執行 Lambda 資料轉換時，流程屬性非常有用。
  + 流程屬性是儲存在本機的暫存變數，且僅用於流程。它們在流程外的任何地方都看不到，即使將聯絡人轉接到其他流程也不會顯示。
  + 最多可達 32 KB (聯絡人記錄屬性區段的大小上限)。
  + 除非明確設定為參數，否則它們不會傳遞至 Lambda：在 **調用 AWS Lambda 函數** 區塊中，選擇 **新增參數**。
  + 它們不會傳遞給模組。您可以在模組內設定流程屬性，但該屬性不會傳遞到模組外。
  + 它們不會出現在聯絡人記錄中。
  + 它們不會向 CCP 中的客服人員顯示。
  + `GetContactAttributes` API 無法公開它們。
  + 如果您已在流程上啟用記錄功能，則鍵和值會顯示在 Cloudwatch 日誌中。

## 如何參照屬性
<a name="set-contact-attributes-how-to-reference"></a>
+ 如需每個屬性的 JSON 語法，請參閱 [Amazon Connect 中可用的聯絡屬性清單及其 JSONPath 參考](connect-attrib-list.md)。
+ 參考名稱中包含特殊字元的屬性，例如空格、括弧和屬性名稱周圍的單引號。例如：` $.Attributes.['user attribute name']`。
+ 若要參考在同一個命名空間的屬性，例如系統屬性，您需使用屬性名稱，或您指定為**目的地索引鍵**的名稱。
+ 若要參考不同命名空間中的值，例如參考外部屬性，您需指定屬性的 JSONPath ​語法。
+ 若要使用聯絡屬性存取其他資源，請在您的聯絡流程中設定使用者定義的屬性，然後使用您想存取的資源之 ​Amazon Resource Name (ARN) 作為屬性的值。

### Lambda 範例
<a name="set-contact-attributes-lambda-examples"></a>
+ 例如，若要參考從 Lambda 函數查詢獲得的客戶名稱，您可使用 $.External.AttributeKey，以 Lambda 函數傳回的屬性索引鍵 (或名稱) 取代 AttributeKey。
+ 例如，若要在 Lambda 函數中使用 Amazon Connect 提示，請將使用者定義的屬性設定為 ARN 作為提示，然後從 Lambda 函數存取該屬性。

### Amazon Lex 範例
<a name="set-contact-attributes-lex-examples"></a>
+ 若要從 Amazon Lex 機器人參考屬性，您需使用 ​$.Lex. 格式，然後將 Amazon Lex 機器人的部分加入參考，例如 $.Lex.IntentName。
+ 若要參考客戶對 Amazon Lex 機器人插槽的輸入，請使用 $.Lex.Slots.*slotName*，將 *slotName* 替換為機器人中插槽的名稱。

## 當屬性超過 32 KB 時會發生什麼情況
<a name="set-contact-attributes-space"></a>

屬性最多可達 32 KB，這是聯絡人記錄屬性區段的大小上限。當聯絡的屬性超過 32 KB 時，聯絡會向下轉接至**錯誤**分支。做為緩解措施，請考慮下列選項：
+ 透過將其值設定為空白來移除不必要的屬性。
+ 如果屬性僅用於一個流程，且不需要在該流程之外參考 (例如 Lambda 或其他流程)，則使用流程屬性。如此一來，您就不需要將 32 KB 的資訊從一個流程保留到另一個流程。

## 組態提示
<a name="set-contact-attributes-tips"></a>
+ 使用使用者定義的目的地金鑰時，您可以將其命名為任何您想要的名稱，但不包含 **$** 和 **.** (句號) 字元。它們是不允許的，因為它們都用於定義 JSONPath 中的屬性路徑。
+ 您可以使用 **設定聯絡屬性** 區塊來設定 Amazon Lex V2 機器人所需的語言屬性。(您在 Amazon Connect 中的語言屬性必須與用來建立 Amazon Lex V2 機器人的語言模型相符。) 下圖顯示設定為西班牙文的語言屬性。  
![「設定聯絡屬性」、「值」設定為「西班牙文」的屬性頁面。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/set-contact-attributes-language.png)

  或者，您可以使用 [設定聲音](set-voice.md) 區塊來設定 Amazon Lex V2 機器人所需的語言。

如需如何使用聯絡屬性的詳細資訊，請參閱 [使用 Amazon Connect 聯絡屬性](connect-contact-attributes.md)。

## 已設定的區塊
<a name="set-contact-attributes-configured"></a>

下圖顯示設定此區塊時的外觀範例。它有兩個分支：**成功** 和 **錯誤**。

![已設定的「​設定聯絡屬性」區塊。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/set-contact-attributes-configured.png)


## 流程範例
<a name="set-contact-attributes-samples"></a>

Amazon Connect 包括一組流程範例。如需說明如何在流程設計工具中存取流程範例的指示，請參閱 [Amazon Connect 中的範例流程](contact-flow-samples.md)。以下是描述包含此區塊之流程範例的主題。
+ [Amazon Connect 中第一次聯絡體驗的範例撥入流程](sample-inbound-flow.md)

## 案例
<a name="set-contact-attributes-scenarios"></a>

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