View a markdown version of this page

Connect Customer でチャットメッセージのリアルタイムストリーミングを有効にする - Amazon Connect Customer

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Connect Customer でチャットメッセージのリアルタイムストリーミングを有効にする

Connect Customer Chat にはAPIs が用意されています。これらの API を使用すると、次のことができます。

  • API を使用して、新しいチャットの問い合わせが作成されたときに、リアルタイムでメッセージをストリーミングする。

  • 現在の Connect Customer Chat 機能を拡張して、SMS ソリューションやサードパーティーメッセージングアプリケーションとの統合の構築、モバイルプッシュ通知の有効化、チャットメッセージのアクティビティをモニタリングおよび追跡するための分析ダッシュボードの作成などのユースケースをサポートします。

注記

このページでは、Connect Customer でチャットメッセージをリアルタイムでストリーミングするために SNS エンドポイントをサブスクライブする方法について説明します。Connect Customer で会話型 AI インタラクションのメッセージストリーミングを有効にする場合は、「」を参照してくださいAI を活用したチャットのメッセージストリーミングを有効にする

メッセージストリーミング API の仕組み

Connect Customer Chat の連絡先内で特定のイベントが発生すると、Connect Customer メッセージストリーミング APIs がトリガーされます。例えば、顧客が新しいチャットメッセージを送信すると、イベントは送信したばかりのメッセージに関するデータを含む指定されたエンドポイントにペイロードを送信します。メッセージは、特定のエンドポイントに対し、Amazon Simple Notification Service (Amazon SNS) 使用して公開されます。

このトピックでは、Connect Customer と Amazon SNS を使用してリアルタイムメッセージストリーミングを設定する方法について説明します。手順は次のとおりです。

  1. Amazon SNS コンソールを使用して、新しいスタンダード SNS トピックを作成し、メッセージをセットアップします。

  2. StartChatContact API を呼び出し、チャットの問い合わせを開始します。

  3. StartContactStreaming API を呼び出し、メッセージストリーミングを開始します。

  4. CreateParticipantConnection API を呼び出し、参加者の接続を作成します。

ステップ 1: スタンダード SNS トピックを作成する

  1. Amazon SNS コンソールに移動します。

  2. AWS アカウントに SNS トピックを作成します[Details] (詳細) セクションで [Type] (タイプ) に[Standard] (スタンダード) を選択し、トピックの名前を入力して、続いて、[Create topic] (トピックを作成) を選択します。

    注記

    現在、メッセージストリーミング API は、メッセージのリアルタイムストリーミングのためのスタンダード SNS のみをサポートしています。Amazon SNS FIFO (First-In-First-Out) トピックはサポートされていません。

  3. トピックを作成すると、その Amazon リソースネーム (ARN) が、[Details] (詳細) セクションに追加されます。トピック ARN をクリップボードにコピーします。トピック ARN は次のステップとステップ 3: 問い合わせのメッセージストリーミングを有効にするで使用します。

    トピック ARN は以下の例のようになります。

    arn:aws:sns:us-east-1:123456789012:MyTopic
  4. アクセスポリシータブを選択し、編集を選択し、リソースベースのポリシーを SNS トピックに追加して、Connect Customer に発行するアクセス許可を付与します。JSON エディタにコピーして貼り付け、独自の値を使用してカスタマイズできるサンプルの SNS ポリシーを次に示します。

    JSON
    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"connect.amazonaws.com" }, "Action":"sns:Publish", "Resource":"arn:aws:sns:us-east-1:111122223333:TopicName", "Condition":{ "StringEquals":{ "aws:SourceAccount":"111122223333" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:connect:us-east-1:111122223333:instance/InstanceId" } } } ] }
    注記

    デフォルトのアクセスポリシーには、次に示す 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で有効になっていることを確認してください。次に、サンプルポリシーを示します。

    JSON
    { "Version":"2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root", "Service": "connect.amazonaws.com" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333: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. Connect Customer StartChatContact API を呼び出して、チャットコンタクトを開始します。

    Connect Customer APIs を呼び出すための SDK クライアントを作成する方法については、以下のトピックを参照してください。

  2. StartChatContact 応答からの ContactIdParticipantToken を追跡します。これらの応答属性は、ストリーミングを有効にするために必要な他のチャット API を呼び出すために使用されるためです。これについては、次の手順で説明されます。

ステップ 3: 問い合わせのメッセージストリーミングを有効にする

  • StartContactStreaming を呼び出し、SNS トピックへのリアルタイムメッセージのストリーミングを有効にします。

    • 制限: 問い合わせごとに最大 2 つの SNS トピックをサブスクライブできます。

    • StartContactStreaming を呼び出すと、SNS トピックの Amazon リソースネーム (ARN) を指定する必要があります (ステップ 1: スタンダード SNS トピックを作成する を参照)。

      1 つの SNS トピック ARN を複数の で使用できますが AWS アカウント、Connect Customer インスタンスと同じリージョンに存在する必要があります。たとえば、トピック ARN が us-east-1 にある場合、Connect Customer インスタンスは us-east-1 にある必要があります。

    • ストリーミングエンドポイントで受信されない最初のチャットメッセージについては、GetTranscript API を呼び出して最初のメッセージを受信できます。

ステップ 4: 参加者の接続を作成する

次の手順

メッセージストリーミング API を操作するための設定はすべて完了です。

  1. 正常に動作することを確認するには、作成した SNS トピックにメッセージが公開されていることを確認します。この検証は、Amazon CloudWatch メトリクスを使用して実行できます。手順については、CloudWatch を使用した Amazon SNS のモニタリングを参照してください。

  2. SNS の保持期限に制限がある場合は、Amazon Simple Queue Service (Amazon SQS) Amazon Kinesis、またはメッセージを保持するための別のサービスをセットアップすることをお勧めします。

  3. StopContactStreaming の使用はオプションであり、問い合わせフローでチャットが切断されている場合、お客様がチャットを切断した場合には不要です。ただし、StopContactStreaming は、チャットがアクティブで進行中であっても、SNS トピックでのメッセージのストリーミングを停止するオプションを提供します。