啟用即時聊天訊息串流 - Amazon Connect

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

啟用即時聊天訊息串流

Amazon Connect 聊天功APIs能可讓您訂閱聊天訊息的即時串流。使用這些APIs,您可以:

  • 建立新的聊天聯絡人時,即時串流聊天訊息。

  • 擴充目前的 Amazon Connect Chat 功能以支援使用案例,例如建立與SMS解決方案和第三方簡訊應用程式的整合、啟用行動推送通知,以及建立分析儀表板以監控和追蹤聊天訊息活動。

訊息串流的APIs運作方式

Amazon Connect 聊天聯絡人中發生某些事件時,就會觸發 Amazon Connect 訊息串流APIs。例如,當客戶傳送新的聊天訊息時,該事件會將裝載傳送至指定端點,其中包含剛傳送訊息的相關資料。訊息會使用 Amazon 簡單通知服務 (AmazonSNS) 發佈到特定端點。

本主題說明如何使用 Amazon Connect 和 Amazon 設定即時訊息串流SNS。步驟如下:

  1. 使用 Amazon 主SNS控台建立新的標準SNS主題並設定訊息。

  2. 呼叫StartChatContactAPI以啟動聊天連絡人。

  3. 呼叫StartContactStreamingAPI以啟動訊息串流。

  4. 呼叫CreateParticipantConnectionAPI以建立參與者的連線。

步驟 1:建立標準SNS主題

  1. 轉到 Amazon 控SNS制台。

  2. 在您的 AWS 帳戶中建立SNS主題。在 詳細資料 區段中,選擇 標準 作為 類型,輸入主題的名稱,然後選擇 建立主題

    注意

    目前,訊息串流APIs僅支援訊息即時串流的標準SNS。他們不支持 Amazon SNSFIFO(先進先出)主題

  3. 建立主題後,其 Amazon 資源名稱 (ARN) 會顯示在 [詳細資料] 區段中。將主題複製ARN到剪貼簿。您將在下一個步驟ARN中使用該主題,並在中使用步驟 3:啟用聯絡人的訊息串流

    此主題ARN看起來類似下列範例:

    arn:aws:sns:us-east-1:123456789012:MyTopic
  4. 選擇 [存取政策] 索引標籤,選擇 [編輯],然後在SNS主題上新增以資源為基礎的政策,讓 Amazon Connect 具有發佈權限。以下是範例SNS原則,您可以將其複製並貼到JSON編輯器中,然後使用您的值進行自訂:

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"connect.amazonaws.com" }, "Action":"sns:Publish", "Resource":"YOUR_SNS_TOPIC_ARN", "Condition":{ "StringEquals":{ "aws:SourceAccount":"YOUR_AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"YOUR_CONNECT_INSTANCE_ARN" } } } ] }
    注意

    預設 存取政策 隨附套用至 sourceOwner 的條件,例如:

    "Condition": { "StringEquals": { "AWS:SourceOwner": "921772911154" } }

    確認將其刪除並取代為 SourceAccount,例如:

    "Condition":{ "StringEquals":{ "aws:SourceAccount":"YOUR_AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"YOUR_CONNECT_INSTANCE_ARN" } }

    這樣可以防止跨服務混淆代理人問題。

  5. 如果您正在使用伺服器端加密SNS,請確認您已connect.amazonaws.com在 KMS key. 以下是政策範例:

    { "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your_accountId:root", "Service": "connect.amazonaws.com" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your_accountId:root", "Service": "connect.amazonaws.com" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" } ] }

步驟 2:啟動聊天聯絡人

  1. 撥打 Amazon Connect StartChatContactAPI以啟動聊天聯絡人。

    如需如何建立SDK用戶端以呼叫 Amazon Connect 的相關資訊APIs,請參閱下列主題:

  2. 跟踪響應ContactIdParticipantTokenStartChatContact響應,因為這些響應屬性用於調用其他聊天APIs所需的啟用流。下個步驟會介紹這一點。

步驟 3:啟用聯絡人的訊息串流

  • 呼叫StartContactStreaming以啟用對您SNS主題的即時訊息串流。

    • 限制:每位聯絡人最多可訂閱兩個SNS主題。

    • 撥打電話時 StartContactStreaming,您需要提供SNS主題的 Amazon 資源名稱 (ARN) (請參閱步驟 1:建立標準SNS主題)。

      單一SNS主題ARN可以跨多個使用 AWS 帳戶,但必須與 Amazon Connect 執行個體位於相同的區域。例如,如果您的主題ARN是在 us-east-1 中,則您的 Amazon Connect 執行個體必須位於 us-east-1。

    • 對於在串流端點上未收到的初始聊天訊息,您可以呼叫GetTranscriptAPI以接收初始訊息。

步驟 4:建立參與者連線

後續步驟

您都已設置為使用消息流APIs。

  1. 若要確認是否正常運作,請檢查郵件是否已發佈至您建立的SNS主題。您可以使用 Amazon CloudWatch 指標執行此操作。如需指示,請參閱使用監控 Amazon SNS 主題 CloudWatch

  2. 由於保留SNS有限,我們建議您設定 Amazon 簡單佇列服務 (AmazonSQS) Amazon Kinesis 或其他服務來保留訊息。

  3. 使用StopContactStreaming是可選的,如果通過聯繫流程斷開聊天,或者如果客戶斷開聊天,則不需要使用。但是,StopContactStreaming提供停止有關該SNS主題的消息流的選項,即使聊天處於活動狀態且正在進行中。