

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

# 範例使用案例
<a name="example"></a>

現在，讓我們檢查一個使用案例，說明如何套用這些原則並衍生模組化的基礎架構。Example Corp 是虛構的全球公司，是我們範例的焦點。

Example Corp 想要遷移至雲端聯絡中心，以減少資料中心維護、專注於創新並降低成本。他們的關鍵優先事項是自助服務，目標是在遷移過程中增強客戶體驗。Example Corp 是一個全球組織，根據國家/地區 （美國、加拿大、義大利、荷蘭等） 和業務單位 （銷售、支援、新產品等） 管理多個免付費電話號碼 (TFNs) 和直接撥入號碼 (DIDs)。這表示他們需要支援多種語言 （例如美式英文、加拿大法文和義大利文）。Example Corp 也希望根據撥打的號碼或來源國家/地區為其發起人提供個人化的自訂體驗，這可能會導致變更選單選項或在 IVR 系統中提供不同的提示訊息。此外，每個國家/地區都有一組專用技能 （根據語言、業務單位等），必須指派給客服人員進行通話轉接。該公司總共支援 25 個國家/地區和 12 種語言。他們還計劃提供付款處理和購買產品和附加元件的能力，而無需與客服人員交談。根據最佳實務，Example Corp 將維護其聯絡中心的開發、預備和生產環境。

本節示範如何將之前在本指南中討論的 [IVR 設計原則](design-principles.md)套用至 Example Corp 使用案例。我們會逐步解說識別組織目標、建立客戶聯絡旅程，以及使用 AWS 服務建立架構架構以滿足公司需求的程序。

## 識別組織的目標
<a name="example-goals"></a>

對於 Example Corp，主要組織目標包括下列項目：
+ **節省成本：**遷移至雲端聯絡中心，以降低維護成本並增強創新。
+ **個人化自助服務：**根據客戶的原始號碼或國家/地區提供個人化的自訂體驗，包括語言選項。
+ **改善 IVR 遏制率：**簡化 IVR 系統內的付款處理，讓客戶無需客服人員介入即可購買產品和附加元件。
+ **改善變更管理/創新中心：**維護 IVR 系統的個別環境 （開發、預備和生產），以有效管理變更和實驗。
+ **改善第一次通話解決方案：**根據語言、國家/地區和客戶意圖實作有效的轉接策略。

## 映射客戶聯絡旅程
<a name="example-map"></a>

若要為 Example Corp 建立客戶聯絡旅程，我們需要考慮下列層面：
+ **通話起始：**識別與來電通話相關聯的國家/地區和業務單位，以提供量身打造的體驗。
+ **語言選擇：**根據發起人的原始國家/地區、設定檔和 Example Corp 支援的語言，提供適當的語言選單。
+ **客戶身分驗證：**使用發起人的帳戶詳細資訊、語音生物識別或其他安全方法來驗證發起人。
+ **個人化**：收集並使用客戶資料來個人化 IVR 體驗，例如透過名稱問候來電者，或根據其帳戶歷史記錄提供自訂選單選項。
+ **自助式選項：**提供自助式選項來處理常見的客戶查詢，例如餘額查詢、訂單狀態更新或密碼重設。
+ **付款處理：**整合安全的付款閘道，讓客戶可以在 IVR 系統中進行購買。
+ **後端整合：**考慮後端 API 整合以實作自助式程序，例如個人化問候語、訂單更新和付款。檢查這些 APIs的可用性和準備程度。
+ **安全與合規：**判斷需要進一步加密、遮罩或停用日誌的資訊 （例如，卡片資訊和客戶 PII)。
+ **可重複的程序：**識別付款和來電者身分驗證等程序，這些程序將在大多數國家和業務單位重複進行。

## 建立基礎架構
<a name="example-architecture"></a>

若要為 Example Corp IVR 系統建立模組化和動態架構架構，請考慮消除靜態內容並模組化可重複的程序。

**消除靜態內容**
+ 考慮使用變數，根據指派給每個國家/地區的免付費電話號碼 (TFNs) 動態叫用提示。例如，如果 TFN1 屬於加拿大，您可以從外部資料庫叫用適當的提示，以提供客戶英文和加拿大法文做為語言選項。根據客戶的選擇，您可以從外部資料庫叫用英文 （或加拿大法文） 提示，並在整個 IVR 呼叫流程中播放。此方法使用單一 IVR 流程，並消除所有 TFNs備援。
+ 請考慮存放呼叫者需要路由的客服人員佇列和技能、呼叫需要周遊的下一個 IVR 樹狀目錄，以及在外部資料庫中諸如 URLs和 Amazon Resource Name (ARNs) 等 API 端點的值。您也可以根據指派給國家/地區或業務單位的 TFN 調用這些項目。
+ 若要進一步簡化體驗，您也可以將部署環境詳細資訊存放在外部資料庫中。例如，如果 TFN2 映射到開發環境，您可以叫用相關語言提示、API 端點、客服人員佇列和僅與該環境相關的技能。如果 TFN3 對應至預備環境，您可以叫用指派給預備的呼叫詳細資訊，以此類推。此方法可大幅簡化呼叫流程的維護和開發。開發人員可以維護單一呼叫流程，而且可以根據指派給國家/地區的 TFN、業務線或環境等關鍵參數輕鬆變更體驗。

**識別可重複的程序**

對於 Example Corp，跨國家和業務單位識別的一些可重複的程序是來電者語言選擇和付款處理。您可以將這些程序建置為模組，以便輕鬆地集中、維護和調用所有通話流程。

下圖顯示以本指南中討論的 IVR 設計方法為基礎的範例架構。此架構搭配下列額外 AWS 服務使用 Connect Customer 流程和模組：
+ Amazon DynamoDB 資料表存放 ARNs、動態屬性和提示。
+ AWS Lambda 函數會從 DynamoDB 資料表擷取資訊。
+ Amazon Polly 會將文字提示轉換為語音。
+ Amazon Simple Storage Service (Amazon S3) 會存放 [Connect Customer 聯絡記錄](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html)。

![使用 AWS 服務的範例 IVR 架構](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/ivr-design-on-connect/images/ivr-architecture.png)


IVR 系統實作下列步驟：

1. 客戶呼叫公司的國家/地區特定 DID 或 TFN。

1. 呼叫會進入 Connect Customer 初始化流程 (`initFlow`)。

1. 初始化流程會呼叫三個 Lambda 函數，從三個 DynamoDB 資料表擷取資料：
   + 第一個函數會根據呼叫的環境 （例如生產、預備或開發） 擷取 [Connect Customer 執行個體 ARNs](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html)。
   + 第二個函數會根據撥打的號碼擷取動態屬性，例如國家/地區、語言和支援佇列。
   + 第三個函數會根據客戶的語言選擇，取得 IVR 提示訊息。

1. Connect Customer 語言模組 (`langModule`) 會根據所選語言設定 Amazon Polly 語音。

1. 然後，呼叫會周遊到下一個聯絡流程 (`mainFlow`)，播放從第三個 DynamoDB 資料表擷取的歡迎訊息或呼叫中心選項等動態提示。

1. Lambda 函數會呼叫 DynamoDB API 來叫用子聯絡流程、模組和佇列。

1. 根據客戶在 IVR 系統中的選擇，通話可能會轉接到支援中心客服人員。客服人員的畫面會動態填入擷取的資料，例如客戶的國家/地區、身分和通話原因。

1. 客戶聯絡資料也會存放在 S3 儲存貯體中，做為 Connect Customer 聯絡記錄的一部分，並且可以使用 Amazon Quick 產生自訂報告。

如需有關在真實世界案例中如何使用此設計的資訊，請參閱 re：Invent 2020 簡報 [Best Western 如何使用 Connect Customer 建置模組化和動態聯絡中心](https://youtu.be/qnIXMh203vc)。如需範例程式碼，請參閱 GitHub [中的動態聯絡中心專案](https://github.com/amazon-connect/amazon-connect-snippets/tree/master/projects/DynamicContactCenter)。