

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

# Amazon Connect 用於可重複使用功能的流程模組
<a name="contact-flow-modules"></a>

流程模組是流程的可重複使用部分。您可以建立它們以擷取流程中可重複的邏輯，並建立常用函數。例如：

1. 您可以建立一個模組，向客戶傳送 SMS 文字訊息。

1. 您可以在流程中調用模組，以處理客戶想要重設密碼、檢查銀行餘額或接收一次性密碼的情況。

以下是使用模組的優點：
+ 簡化跨流程的通用功能管理。例如，SMS 模組可以驗證電話號碼的格式、確認 SMS 選擇加入喜好設定，並與 SMS 服務 (例如 Amazon Pinpoint) 整合。
+ 讓您更有效率地維護流程。例如，您可以在調用流程模組的所有流程之間快速傳播變更。
+ 協助分隔流程設計人員的責任。例如，您可以同時擁有技術模組設計人員和非技術流程設計人員。
+ 支援更多流程模組的可重複使用和動態體驗。例如，您可以定義具有自訂輸入/輸出物件和分支的模組，以便在不同的聯絡流程使用案例中重複使用。
+ 更容易管理流程模組。您可以建立多個不可變版本的模組，以有效追蹤和測試變更。此外，您可以建立指向特定版本的別名，讓您可以視需要更新別名，以跨參考這些別名的所有聯絡流程實作變更。

## 哪裡可以使用模組
<a name="where-to-use-modules"></a>

您可以在屬於[類型](create-contact-flow.md#contact-flow-types) **入站流程** 的任何流程中使用模組。

下列類型的流程不支援模組：**客戶佇列**、**客戶保留通話**、**客戶低語**、**外撥低語**、**客服人員保留**、**客服人員低語**、**轉接至客服人員**、**轉接至佇列**。

## 限制
<a name="modules-limits"></a>
+ 模組不允許覆寫調用流程的流程局部資料。這表示您無法在模組中使用下列資料：
  + 外部屬性
  + Amazon Lex 屬性
  + 客戶設定檔屬性
  + Connect AI 代理器屬性
  + 佇列指標
  + 存放的客戶輸入
+ 模組不允許調用另一個模組。

要將任何資料傳遞給模組，或者從模組獲取任何資料，您需要傳遞和檢索屬性。

例如，您需要從 Lambda (外部屬性) 撰寫的資料，並將其傳遞至模組，以便您做出決定。您的 Lambda 會識別客戶是否為 VIP 會員。您需要該模組內的資訊，因為如果他們是 VIP 會員，則需要提示感謝他們的會員資格。由於預設 Lambda 在模組內不可用，因此您可以使用屬性來傳遞和擷取資料。

## 模組的安全設定檔許可
<a name="module-permissions"></a>

您必須在安全設定檔中擁有許可，才能將模組新增至入站流程。根據預設，**管理員** 和 **CallCenterManager** 安全設定檔具有這些許可。

## 建立基本模組
<a name="use-modules"></a>

如需您可為每個 Amazon Connect 執行個體建立的模組數量的資訊，請參閱 [Amazon Connect 服務配額](amazon-connect-service-limits.md)。

1. 使用指派給安全設定檔 (具有建立模組許可) 的帳戶登入 Amazon Connect 主控台。

1. 在導覽功能表中，選擇**轉接**，並選擇**聯絡流程**。

1. 選擇 **模組**、**建立流程模組**。

1. （選用） 在**詳細資訊**索引標籤中，您可以輸入描述並新增模組的 50 個標籤。

1. 在**設計**工具索引標籤中，將您要的區塊新增至模組。完成後，請選擇 **發布**。這可讓模組用於其他模組和流程。

## 將模組新增至流程
<a name="add-modules"></a>

1. 使用指派給安全設定檔 (具有建立流程許可) 的帳戶登入 Amazon Connect 主控台。您不需要建立模組的許可。

1. 在導覽功能表中，選擇**轉接**，並選擇**聯絡流程**。

1. 選擇**建立流程**，然後選取任何流程類型。

1. 若要新增模組，請前往 **整合** 區段，然後選擇 **調用流程模組**。

1. 完成建立流程後，請選擇 **發布**。

## 範例模組
<a name="example-module"></a>

此模組說明透過調用 Lambda 函數，來取得隨機的趣事。該模組使用一個聯絡人屬性 (`$.Attributes.FunFact`) 來擷取趣事。調用此模組的流程可以向客戶播放 FunFact，具體取決於他們的傳入聯絡人類型。

執行個體中的入站流程可以調用此通用模組並獲得趣事。

以下是 FunFact 模組的圖：

![\[流程設計工具中的 funfact 模組。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-example1.png)


以下是調用模組的 FunFactSampleFlow 的圖：

![\[流程設計工具中的 funfactsampleflow。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-example2.png)


## 模組版本控制和別名
<a name="module-versioning-aliasing"></a>

為了提高維護效率並降低部署風險，模組支援版本控制和別名。模組版本是不可變快照，以確保每個模組版本保持不變，提供一致性和可靠性。模組別名可讓您將描述性名稱指派給版本，以便識別和管理。當您叫用模組並選取 \$1.LATEST 做為別名時，最新的修訂追蹤會自動更新至最新版本。

### 建立模組的版本
<a name="create-module-version"></a>

您可以建立模組的版本，以追蹤變更和維護不同的反覆運算。

![\[在 主控台中建立模組的版本。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-version-create.png)


### 建立模組的別名
<a name="create-module-alias"></a>

您可以建立指向特定模組版本的別名，以便於管理。

![\[在 主控台中建立模組的別名。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-alias-create.png)


### 檢視模組的特定版本或別名
<a name="view-module-version-alias"></a>

您可以在唯讀模式中檢視模組的特定版本或別名。

![\[在 主控台中檢視模組版本。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-version-view1.png)


![\[在主控台中檢視模組別名。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-version-view2.png)


按一下特定版本或別名，以唯讀模式檢視模組：

![\[特定模組版本的唯讀檢視。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-readonly-view.png)


### 在流程中使用模組版本和別名
<a name="use-module-versions-alias"></a>

您可以在流程中叫用模組時參考特定的模組版本或別名。

![\[在流程中使用模組版本和別名。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-use-in-flows.png)


## 建立自訂區塊模組
<a name="create-custom-block-module"></a>

您可以導覽至新流程模組或現有流程模組的設定索引標籤，開始建立自訂區塊模組。在這裡，您可以設定模組的輸入和輸出資料類型。雖然輸入/輸出結構描述預設為物件類型，但您可以靈活地為根輸入和輸出結構描述中的屬性定義其他資料類型，但支援以下資料類型：字串、數字、整數、布林值、物件、陣列和 Null。

### 設定自訂區塊模組
<a name="configure-custom-block-module"></a>

您可以導覽新或現有流程模組的**設定**索引標籤，開始建立自訂區塊模組，您可以設定模組的任何輸入和輸出資料類型，不過，輸入/輸出結構描述預設為物件類型。對於根輸入和輸出結構描述下的屬性，支援的資料類型為字串、數字、整數、布林值、物件、陣列和 Null。

您可以使用**設計**工具模式來建立輸入和輸出模型結構，也可以使用 **JSON 結構描述**來定義它們。

![\[自訂區塊模組組態的設計工具模式。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-custom-designer.png)


![\[自訂區塊模組組態的 JSON 結構描述模式。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-custom-json.png)


您可以為模組定義最多 8 個自訂分支。

![\[模組的自訂分支組態。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-custom-branches.png)


### 存取模組相關屬性
<a name="accessing-module-attributes"></a>

作為自訂區塊模組增強功能的一部分，推出了新的命名空間模組，可讓您存取模組內的模組輸入、來自呼叫模組之流程或模組的輸出和結果。您可以使用[Amazon Connect 中的流程區塊：設定聯絡屬性](set-contact-attributes.md)區塊存放這些屬性，或透過 JSONPath 參考直接使用這些屬性。請參閱有關模組屬性詳細資訊[Amazon Connect 中可用的聯絡屬性清單及其 JSONPath 參考](connect-attrib-list.md)的文件。

### 範例自訂區塊模組
<a name="example-custom-block-module"></a>

本單元說明如何叫用 Lambda 函數，根據客戶提供的電話號碼和 PIN 來驗證客戶身分。模組會將輸入做為電話號碼，並輸出 customerId、customerName 和 customerEmail。模組也支援 2 個經過身分驗證和未驗證的自訂分支。叫用此模組的流程可以直接傳入電話號碼來驗證客戶，並取得基本客戶資訊以進行進一步動作。

以下是具有 設定的身分驗證模組影像：

![\[身分驗證模組設定 - 輸入組態。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-auth-settings1.png)


![\[身分驗證模組設定 - 輸出組態。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-auth-settings2.png)


![\[身分驗證模組設定 - 分支組態。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-auth-settings3.png)


![\[身分驗證模組設定 - 摘要檢視。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-auth-settings4.png)


以下是範例客戶支援流程的影像，該流程會叫用 模組，以使用電話號碼來驗證客戶：

![\[使用身分驗證模組的範例客戶支援流程。\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-auth-flow-example.png)


## 建立模組做為工具
<a name="create-module-as-tools"></a>

若要讓各種系統以獨立執行單位的形式在流程外部調用流程模組，請擴展其公用程式，並使用 Q in Connect 等已建立的自動化工具支援強大的使用案例，其中 AI 代理程式可以使用模組做為工具來完成客戶服務互動期間識別的動作，例如執行付款工作流程和自動化任務工作流程。此方法可讓您將商業邏輯定義為模組一次，並跨多個管道和內容執行，確保一致性，同時降低開發開銷。

### 建立新的模組做為工具
<a name="create-new-module-as-tool"></a>

![\[建立新的模組做為工具界面\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-as-tool-create-new.png)


### 從現有模組建立模組做為工具
<a name="create-module-tool-from-existing"></a>

![\[從現有的模組界面將模組建立為工具\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/module-as-tool-from-existing.png)


### 模組做為工具支援的區塊
<a name="module-tool-supported-blocks"></a>

當您建立新的工具模組時，您只會看到區塊程式庫中支援的區塊清單來建置模組。若要將現有模組轉換為工具，您會看到哪些是工具模組中不支援的現有區塊。模組支援以下區塊清單做為工具。


| 區塊 | 
| --- | 
| 案例 | 
| ChangeRoutingPriority | 
| CheckCallProgress | 
| CheckContactAttributes | 
| CheckHoursOfOperation | 
| CheckQueueStatus | 
| CheckStaffing | 
| CheckVoiceId | 
| CreatePersistentContactAssociation | 
| CreateTask | 
| CustomerProfiles | 
| DataTable | 
| DistributeByPercentage | 
| GetQueueMetrics | 
| InvokeFlowModule | 
| InvokeLambdaFunction | 
| InvokeThirdPartyAction | 
| 循環 | 
| 繼續 | 
| ResumeContact | 
| 傳回 | 
| SendMessage | 
| SetAttributes | 
| SetCallbackNumber | 
| SetCustomerQueueFlow | 
| SetDisconnectFlow | 
| SetEventHook | 
| SetHoldFlow | 
| SetLoggingBehavior | 
| SetQueue | 
| SetRecordingAndAnalyticsBehavior | 
| SetRoutingCriteria | 
| SetRoutingProficiency | 
| SetVoice | 
| SetVoiceId | 
| SetWhisperFlow | 
| SetWisdomAssistant | 
| TagContact | 