聊天開始時,將聯絡屬性傳遞給聯絡控制面板 (CCP) 中的客服人員 - Amazon Connect

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

聊天開始時,將聯絡屬性傳遞給聯絡控制面板 (CCP) 中的客服人員

您可以使用聯絡人屬性來擷取有關使用通訊小工具的聯絡人的資訊。然後,您可以透過聯絡控制面板 (CCP) 向客服人員顯示該資訊,或在流程中的其他位置使用這些資訊。

例如,您可以自訂流程,在歡迎訊息中說出客戶的名稱。或者,您可以使用業務特有的屬性,例如帳戶/成員 IDs、名稱和電子郵件等客戶識別符,或與聯絡人相關聯的其他中繼資料。

如何將聯絡人屬性傳遞到通訊小工具

  1. 在通訊小工具中啟用安全性,如 將聊天使用者介面新增至 Amazon Connect 託管的網站 中所述 (如果您尚未這麼做):

    1. 在步驟 2 的 為您的聊天小工具新增安全項 下,選擇

    2. 在步驟 3 中,使用安全金鑰產生 JSON Web 權杖。

  2. 將聯絡人屬性新增至 JWT作為attributes宣告的承載。

    以下是如何在 Python 中產生JWT具有聯絡人屬性的 的範例:

    注意

    JWT 應安裝為先決條件。若要安裝它,請在您的終端機pip install PyJWT中執行 。

    import jwt import datetime CONNECT_SECRET = "your-securely-stored-jwt-secret" WIDGET_ID = "widget-id" JWT_EXP_DELTA_SECONDS = 500 payload = { 'sub': WIDGET_ID, 'iat': datetime.datetime.utcnow(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=JWT_EXP_DELTA_SECONDS), 'segmentAttributes': {"connect:Subtype": {"ValueString" : "connect:Guide"}}, 'attributes': {"name": "Jane", "memberID": "123456789", "email": "Jane@example.com", "isPremiumUser": "true", "age": "45"} } header = { 'typ': "JWT", 'alg': 'HS256' } encoded_token = jwt.encode((payload), CONNECT_SECRET, algorithm="HS256", headers=header) // CONNECT_SECRET is the security key provided by Amazon Connect

    在有效負載中,您必須建立一個字串鍵 attributes (照原樣,全部為小寫),並將物件作為其值。該物件必須具有 string-to-string鍵值對。如果在任何一個屬性中傳遞字串以外的任何內容,聊天將無法啟動。

    聯絡人屬性必須遵循 StartChatConnect 所設定的限制API:

    • 金鑰的最小長度必須為 1

    • 值的最小長度可為 0

或者,您可以在承載中將 segmentAttributes 字串新增至SegmentAttributeValue物件映射。屬性是標準 Amazon Connect 屬性。它們可以在流程中存取。聯絡人屬性必須遵循 StartChatConnect 設定的限制API。

替代方法:直接從程式碼傳遞聯絡人屬性

注意
  • 程式碼程式碼會先加HostedWidget-到其傳遞的所有聯絡人屬性金鑰。在下列範例中,客服人員端會看到金鑰值對 HostedWidget-foo: 'bar'

  • 雖然這些屬性有字HostedWidget-首的範圍,但它們仍然是可變的用戶端站台。如果您需要聯絡人流程中的不可變資料PII,請使用 JWT設定。

下列範例示範如何直接從程式碼片段程式碼傳遞聯絡人屬性,而不啟用小工具安全性。

<script type="text/javascript"> (function(w, d, x, id){ /* ... */ })(window, document, 'amazon_connect', 'widgetId'); amazon_connect('snippetId', 'snippetId'); amazon_connect('styles', /* ... */); // ... amazon_connect('contactAttributes', { foo: 'bar' }) <script/>

在流程中使用 屬性

檢查聯絡人屬性流程區塊透過使用使用者定義的命名空間提供這些屬性的存取,如下圖所示。您可以使用流程區塊來新增分支邏輯。完整路徑為 $.Attributes.HostedWidget-attributeName

顯示流程區塊分支為有效和無效提示的圖片。

您需要知道的事項

  • 通訊小工具對整個編碼權杖的大小限制是 6144 個位元組。由於 JavaScript 使用 UTF-16 編碼,每個字元使用 2 個位元組,因此 的大小上限encoded_token應約為 3000 個字元。

  • encoded_token 應該傳遞給 callback(data)authenticate 程式碼片段不需要任何其他變更。例如:

    amazon_connect('authenticate', function(callback) { window.fetch('/token').then(res => { res.json().then(data => { callback(data.data); }); }); });
  • 使用 JWT 傳遞聯絡屬性可確保資料的完整性。如果您保護共用密碼並遵循適當的安全實務,您可以協助確保資料不會被不良行為者操控。

  • 聯絡人屬性只會在 中編碼JWT,不會加密,因此可以解碼和讀取屬性。

  • 如果您要使用模擬聊天體驗測試聊天體驗,並包含聯絡人屬性,請務必將索引鍵和值同時包含在引號中,如下圖所示。

    測試設定頁面,引號中的聯絡人屬性鍵,引號中的值。