本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
啟用即時聊天訊息串流
Amazon Connect 聊天功APIs能可讓您訂閱聊天訊息的即時串流。使用這些APIs,您可以:
-
建立新的聊天聯絡人時,即時串流聊天訊息。
-
擴充目前的 Amazon Connect Chat 功能以支援使用案例,例如建立與SMS解決方案和第三方簡訊應用程式的整合、啟用行動推送通知,以及建立分析儀表板以監控和追蹤聊天訊息活動。
訊息串流的APIs運作方式
Amazon Connect 聊天聯絡人中發生某些事件時,就會觸發 Amazon Connect 訊息串流APIs。例如,當客戶傳送新的聊天訊息時,該事件會將裝載傳送至指定端點,其中包含剛傳送訊息的相關資料。訊息會使用 Amazon 簡單通知服務 (AmazonSNS) 發佈到特定端點。
本主題說明如何使用 Amazon Connect 和 Amazon 設定即時訊息串流SNS。步驟如下:
-
使用 Amazon 主SNS控台建立新的標準SNS主題並設定訊息。
-
呼叫StartChatContactAPI以啟動聊天連絡人。
-
呼叫StartContactStreamingAPI以啟動訊息串流。
-
呼叫CreateParticipantConnectionAPI以建立參與者的連線。
步驟 1:建立標準SNS主題
-
轉到 Amazon 控SNS制台。
-
在您的 AWS 帳戶中建立SNS主題。在 詳細資料 區段中,選擇 標準 作為 類型,輸入主題的名稱,然後選擇 建立主題。
注意
目前,訊息串流APIs僅支援訊息即時串流的標準SNS。他們不支持 Amazon SNSFIFO(先進先出)主題。
-
建立主題後,其 Amazon 資源名稱 (ARN) 會顯示在 [詳細資料] 區段中。將主題複製ARN到剪貼簿。您將在下一個步驟ARN中使用該主題,並在中使用步驟 3:啟用聯絡人的訊息串流。
此主題ARN看起來類似下列範例:
arn:aws:sns:
us-east-1
:123456789012
:MyTopic
-
選擇 [存取政策] 索引標籤,選擇 [編輯],然後在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" } }
這樣可以防止跨服務混淆代理人問題。
-
如果您正在使用伺服器端加密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:啟動聊天聯絡人
-
撥打 Amazon Connect StartChatContactAPI以啟動聊天聯絡人。
如需如何建立SDK用戶端以呼叫 Amazon Connect 的相關資訊APIs,請參閱下列主題:
-
跟踪響應
ContactId
並ParticipantToken
從StartChatContact響應,因為這些響應屬性用於調用其他聊天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:建立參與者連線
-
調CreateParticipantConnection用傳遞為 true 的
ConnectParticipant
屬性。-
您必須CreateParticipantConnection在創建聊天後的五分鐘內致電。
-
ConnectParticipant
設定為 true CreateParticipantConnection的呼叫只有在您啟用串流步驟 2:啟動聊天聯絡人且呼叫者參與者為時才有效Customer
。 -
如果您已經使用
WEBSOCKET
成功連接到聊天聯絡人,則此步驟 (建立參與者連線) 是可選的。
-
後續步驟
您都已設置為使用消息流APIs。
-
若要確認是否正常運作,請檢查郵件是否已發佈至您建立的SNS主題。您可以使用 Amazon CloudWatch 指標執行此操作。如需指示,請參閱使用監控 Amazon SNS 主題 CloudWatch。
-
由於保留SNS有限
,我們建議您設定 Amazon 簡單佇列服務 (AmazonSQS) Amazon Kinesis 或其他服務來保留訊息。 -
使用StopContactStreaming是可選的,如果通過聯繫流程斷開聊天,或者如果客戶斷開聊天,則不需要使用。但是,
StopContactStreaming
提供停止有關該SNS主題的消息流的選項,即使聊天處於活動狀態且正在進行中。