

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

# 設定 Shopify 的整合，以定期更新 Amazon Connect Customer Profiles
<a name="integrate-customer-profiles-shopify"></a>

若要定期更新 Amazon Connect Customer Profiles，您可以使用 Amazon AppIntegrations 與 Shopify 進行整合。您先在 Amazon Connect 和 Shopify 中設定連線，然後驗證 Shopify 整合。

## 在 Amazon Connect 和 Shopify 中設定連線
<a name="setup-connection-shopify"></a>

1. 在 [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/) 開啟 Amazon Connect 主控台。

1. 在執行個體頁面上，選擇執行個體別名。執行個體別名也是您的**執行個體名稱**，它會出現在您的 Amazon Connect URL 中。下圖顯示 **Amazon Connect 虛擬聯絡中心執行個體**頁面，其中包含執行個體別名周圍的方塊。  
![Amazon Connect 虛擬聯絡中心執行個體頁面，即執行個體別名。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/instance.png)

1. 在導覽窗格中，選擇**客戶設定檔**。

1. 在 **客戶設定檔組態** 頁面上，選擇 **新增整合**。  
![「客戶設定檔組態」頁面，「新增整合」按鈕。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/customer-profiles-enable-addintegration.png)

1. 在 **選擇來源** 頁面上，選擇 **Shopify**。檢閱 **選擇應用程式** 頁面上列出的應用程式需求。  
![選擇來源頁面。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/customer-profiles-cp-shopify-source.png)

1. 在 **建立連線** 頁面上，選擇下列其中一項：
   + **使用現有連線**：這可讓您重複使用您可能已在 中建立的現有 Amazon EventBridge 資源 AWS 帳戶。
   + **建立新連線**：輸入外部應用程式所需的資訊。  
![「建立連線」頁面。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/customer-profiles-enable-shopify-establish-connection.png)
     + **連線名稱**：提供您連線的名稱。使用此連線的整合會參考連線名稱。
     + **連線 URL**：輸入您的應用程式連線 URL。此 URL 用於深層連結到外部應用程式中建立的物件。連線 URL 是應用程式網站上提供的 Shopify Partner 應用程式 URL。

       若要尋找您的 Shopify Partner 應用程式 URL：
       + 登入您的 partners.shopify.com 帳戶。
       + 前往您的應用程式。
       + 從瀏覽器複製 URL。
     + **用戶端 ID**：輸入您的應用程式用戶端 ID。這是一個字串，用於唯一區分外部應用程式中的客戶端。此用戶端 ID 是應用程式網站上提供的來源名稱。您可以使用在此處指定的 ID 來識別您希望客戶設定檔從中擷取物件的用戶端。按照來源設定步驟後，您的客戶端 ID 也許可以使用。

       若要尋找您的來源名稱：
       + 登入您的 partners.shopify.com 帳戶。
       + 前往您的應用程式。
       + 從您的 Amazon EventBridge 事件來源複製來源名稱。

1. 在**來源設定**頁面上，將您的 AWS 帳戶 ID 複製到剪貼簿，然後選擇**登入 Shopify**。

1. 請遵循下列指示來設定 Shopify：

   1. 登入 partners.shopify.com。

   1. 在 Amazon EventBridge 下，選擇 **建立來源**。

   1. 貼上您的 AWS 帳戶 ID 並選取您的 AWS 區域。

   1. 設定事件來源目的地之後，請返回客戶設定檔。您將看到一條提示，指示 Amazon Connect 已成功與 Shopify 連線。

1. 在 **整合選項** 頁面上，選擇要內嵌的來源物件，然後選擇其物件類型。

   物件類型會儲存您擷取的資料。它們也會定義整合中的物件被擷取時如何映射至設定檔。Customer Profiles 提供預設物件型態範本，您可以使用此範本來定義來源物件中的屬性如何映射到客戶設定檔中的標準物件。您也可以使用從 [PutProfileObjectType](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_PutProfileObjectType.html) 建立的物件對映。  
![「整合選項」頁面。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/customer-profiles-integration-options-shopify.png)

1. 對於 **擷取開始日期**，Customer Profiles 會開始擷取新增整合後建立的記錄。
**注意**  
如果您需要歷史記錄，可以[使用 Amazon S3 做為匯入記錄的整合來源](customer-profiles-object-type-mappings.md)。

1. 在 **檢閱與整合** 頁面上，檢查 **連線狀態** 是否顯示 **已連線**，然後選擇 **新增整合**。
**注意**  
 新增此整合之後，您需要[設定 Webhook 訂閱](#shopify-webhook-subscriptions)，以允許事件開始流入此整合。  
![「檢閱與整合」頁面。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/customer-profiles-enable-shopify-webhook.png)

1. 整合設定完成後，返回 **客戶設定檔組態** 頁面，**整合** 區段會顯示目前設定的整合。**上次執行** 和 **整合運作狀態** 目前不適用於此類整合。  
![「整合」區段。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/customer-profiles-enable-shopify-integrations-view-card.png)

   若要查看正在傳送的資料，請選擇整合，然後選擇**檢視物件**。

1. 請前往下一個步驟，使用 API 來設定 **Webhook 訂閱**，讓事件可以開始流入此整合。

## 設定 Webhook 訂閱
<a name="shopify-webhook-subscriptions"></a>

1. 使用以下 URL，確保您的應用具有必要的權限：

   ```
   https://{shop}.myshopify.com/admin/oauth/authorize?client_id={api_key}&scope={scopes}&redirect_uri={redirect_uri}&state={nonce}
   ```

   其中：
   + `shop` 是您的 Shopify 商店名稱。
   + `api_key` 是您 Shopify 應用程式的 API 金鑰。您可以在 Shopify **應用程式** 的詳細資訊頁面上找到此資訊。
   + `scopes` 的值應該是 `read_customers,read_orders,read_draft_orders`。
   + `redirect_uri` 是您在建立應用程式時為應用指定的重定向 URL。對於我們的目的，它可以是任何有效的 URL。
   + `nonce` 可以是任何能識別特定授權請求的唯一值。建議您使用時間戳記。

   在您建立 URL 之後，將其貼到瀏覽器中。會顯示類似下圖的安裝/授權頁面，要求商店擁有者授予所定義範圍的權限。  
![安裝和授權應用程式的 Shopify 頁面範例。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/customer-profiles-enable-shopify-webhook-embedded-app.png)

1. 選擇 **安裝未公開的應用程式**，以代表您的商店安裝並授權應用程式。

   您將被帶到您輸入的重定向 URI，有一授權碼會附加到重定向 URI，作為查詢參數。例如：

   ```
   https://example.org/some/redirect/uri?code={authorization_code}&hmac=da9d83c171400a41f8db91a950508985&host={base64_encoded_hostname}&timestamp=1409617544&state={nonce}&shop={shop_origin}&host={host}
   ```

1. 從此 URI 複製 `authorization_code`。在接下來的步驟中，您將使用它來獲取永久存取權杖。

1. 前往您用來進行 API 呼叫的任何工具。例如，[CURL](https://curl.se/) 或 [POSTMAN](https://www.postman.com/)。

1. 若要取得永久存取權杖，請針對此端點向 Shopify `Admin` API 提出 POST 要求：

   ```
   https://{shop}.myshopify.com/admin/oauth/access_token
   ```

   使用以下請求內文：

   ```
   {
       "code": "authorization_code_received_from_redirect_uri",
       "client_id": "your_app_api_key",
       "client_secret": "your_app_api_secret"
   }
   ```

   此次請求將得到以下回應：

   ```
   {
       "access_token": "permanent_access_token",
       "scope": "read_customers,read_orders,read_draft_orders"
   }
   ```

1. 請記下 `access_token`。這是一個永久權杖，具有上一步提供的範圍。現在您已開始建立 Webhook 訂閱。

1. 對於以下 API 呼叫，請確保將 HTTP 標頭密鑰 `X-Shopify-Access-Token` 設定為從先前呼叫的回應中接收到的 `access_token`。

1. 要設置 Webhook 訂閱，請對下一步列出的每個 `topic` 值進行以下 POST 請求：

   端點：`https://{shop}.myshopify.com/admin/api/2021-04/webhooks.json`

   請求內文：

   ```
   {
       "webhook": {
           "topic": "replace_this_with_one_of_the_topics_in_the_list_below",
           "address": "this_is_the_event_source_arn_generated_when_you_created_the_event_integration",
           "format": "json"
       }
   }
   ```

1. 對於每個訂閱，將 `topic` 的值取代為下列值：
   + `customers/create`
   + `customers/enable`
   + `customers/update`
   + `draft_orders/create`
   + `draft_orders/update`
   + `orders/cancelled`
   + `orders/create`
   + `orders/fulfilled`
   + `orders/paid`
   + `orders/partially_fulfilled`
   + `orders/updated`

您現在已準備好接收來自 Shopify 商店的活動了。接下來，請驗證您的 Shopify 整合。

## 驗證您的 Shopify 整合
<a name="verify-customer-profile-shopify-connection"></a>

1. 以管理員身分登入 Shopify Store。

1. 在左側導覽功能表中，選擇 **客戶**。

1. 選擇 **新增客戶**。

1. 輸入您的客戶詳細資訊。請務必輸入電話號碼和電子郵件。這些不必屬於真正的客戶。驗證整合後，您將刪除此客戶項目。

1. 儲存客戶物件。

1. 事件傳送應該幾乎是即時的，但需要一分鐘的時間才能交付並建立客戶個人資料。

1. 開啟 Amazon Connect 客服人員體驗，並透過您在 Shopify Store 中輸入的電子郵件或電話號碼查詢使用者。您應該能夠使用相同的電子郵件或電話號碼查看客戶個人資料。

1. 如果您看不到客戶設定檔，表示您的整合發生問題。若要疑難排解：

   1. 前往 Amazon EventBridge 主控台。

   1. 請檢查 EventSource 是否處於作用中狀態，以及相符的 EventBus 是否存在且正在執行。

    如果這些項目有效，請聯絡 支援 以取得調查問題的協助。

## 監控您的客戶設定檔整合
<a name="monitor-customer-profile-connection-shopify"></a>

建立連線後，如果停止運作，請刪除該整合，然後重新建立整合。

## 如果物件沒有傳送該怎麼辦
<a name="fix-customer-profile-connection-shopify"></a>

如果物件無法傳送，請選擇 **流程詳細資訊**，進一步了解發生錯誤的原因。

您可能需要刪除組態並重新連線至外部應用程式。