View a markdown version of this page

在 Connect Customer 中启用实时聊天消息流 - Amazon Connect Customer

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Connect Customer 中启用实时聊天消息流

Connect Customer Chat 提供的 API 使您能够订阅聊天消息的实时流。使用这些 API,您可以:

  • 在创建新的聊天联系人时,实时流式传输聊天消息。

  • 扩展当前的 Connect Customer Chat 功能以支持使用案例,例如构建与 SMS 解决方案和第三方消息应用程序的集成、启用移动推送通知以及创建分析仪表板来监控和跟踪聊天消息活动。

注意

本页介绍如何订阅 SNS 终端节点,以便在 Connect Customer 中实时传输聊天消息。如果你想在 Connect Customer 中为对话式 AI 互动启用消息流,请参阅为 AI-powered 聊天启用消息流

消息流 API 的工作原理

Connect 客户聊天联系人中发生某些事件时,会触发 Connect 客户消息流 API。例如,当客户发送新的聊天消息时,该事件会向指定端点发送一个有效负载,其中包含有关刚刚发送的消息的数据。消息通过 Amazon Simple Notification Service (Amazon SNS) 发布到特定端点。

本主题介绍如何使用 Connect Customer 和 Amazon SNS 设置实时消息流。步骤如下:

  1. 使用 Amazon SNS 控制台创建一个新的标准 SNS 主题并设置消息。

  2. 调用 StartChatContactAPI 启动聊天联系。

  3. 调用 StartContactStreamingAPI 启动消息流。

  4. 调用 CreateParticipantConnectionAPI 来创建参与者的连接。

第 1 步:创建一个标准的 SNS 主题

  1. 转到 Amazon SNS 控制台。

  2. 在您的 AWS 账户@@ 中创建 SNS 主题。在详细信息部分的类型中,选择标准,输入主题名称,然后选择创建主题

    注意

    目前,消息流 API 仅支持标准的 SNS 实时消息流。它们不支持 Amazon SNS FIFO(先进先出)主题

  3. 创建主题后,其 Amazon 资源名称 (ARN) 会在详细信息部分中显示。将主题 ARN 复制到剪贴板。您将在下一步和 第 3 步:对联系启用消息流 中使用主题 ARN。

    主题 ARM 与以下示例类似:

    arn:aws:sns:us-east-1:123456789012:MyTopic
  4. 选择 “访问策略” 选项卡,选择 “编辑”,然后在 SNS 主题上添加基于资源的策略,以便 Connect Customer 有权向该主题发布内容。以下是 SNS 策略示例,您可以将其复制粘贴到 JSON 编辑器中,然后使用自己的值进行自定义:

    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 上使用服务器端加密,请确认您已在 KMS key上启用了 connect.amazonaws.com 权限。以下是策略示例:

    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 客户 StartChatContactAPI 以启动聊天联系。

    有关如何创建用于调用 Connect 客户 API 的 SDK 客户端的信息,请参阅以下主题:

  2. 由于这些StartChatContact响应属性用于调用启用直播所需的其他聊天 API,因此请跟踪响应。ContactId ParticipantToken这将在接下来的步骤中进行说明。

第 3 步:对联系启用消息流

  • 致电StartContactStreaming以启用对您的 SNS 主题的实时消息流式传输。

    • 限制:每位联系人最多可以订阅两个 SNS 主题。

    • 致电时 StartContactStreaming,您需要提供 SNS 主题的 Amazon 资源名称 (ARN)(请参阅)。第 1 步:创建一个标准的 SNS 主题

      一个 SNS 主题 ARN 可以跨 AWS 账户多个使用,但它必须与您的 Connect Customer 实例位于同一个区域。例如,如果您的主题 ARN 在 us-east-1 中,则您的 Connect Customer 实例必须在 us-east-1

    • 对于在直播端点上未收到的初始聊天消息,您可以调用 GetTranscriptAPI 来接收初始消息。

第 4 步:创建参与者连接

后续步骤

您已经准备好使用消息流 API 了。

  1. 要验证它是否正常运行,请检查消息是否已发布到您创建的 SNS 主题。您可以使用 Amazon CloudWatch 指标来做到这一点。有关说明,请参阅使用监控 Amazon SNS 主题。 CloudWatch

  2. 由于 SNS 的保留期有限,建议您设置 Amazon Simple Queue Service (Amazon SQS)Amazon Kinesis 或其他服务来保留消息。

  3. 使用StopContactStreaming是可选的,如果聊天通过联系流断开连接,或者客户断开了聊天,则不需要使用。不过,StopContactStreaming 提供了即使聊天正在进行,也能中止 SNS 主题消息流的选项。