启用持续聊天 - Amazon Connect

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

启用持续聊天

客户通常会开始聊天,然后离开对话,稍后再回来继续聊天。这种情况可能会在几天、几个月甚至几年的时间里多次发生。为了支持此类长时间的聊天,您可以启用持续聊天功能。

通过持续聊天,客户可以继续之前的对话,同时保留上下文、元数据和记录。客户回到聊天时无需重复之前的话,座席可以访问整个对话历史记录。

聊天补充

持续聊天是通过一个称为聊天补充的过程实现的,该过程可以从以前的聊天联系中检索聊天记录并显示,以便客户和座席轻松地从他们中断的地方继续对话。

重要

只有已结束的聊天会话才会用于补充新的聊天会话。

Amazon Connect 支持两种类型的补充:

  • ENTIRE_PAST_SESSION:开始新的聊天会话,并补充过去聊天会话中的所有聊天片段。

  • FROM_SEGMENT:开始新的聊天会话,并补充指定的过去的聊天片段。

有关显示这些不同补充模式的用例示例,请参阅使用案例示例

RelatedContactId

新联系可以通过 RelatedContactId 与现有联系建立关联。此新联系人包含相关联系人的联系人属性副本。

有关 RelatedContactId 如何在联系人记录中建模的更多信息,请参阅 联系记录数据模型

对于持续聊天,RelatedContactId 描述了用于获取聊天补充的 contactId

如何启用持续聊天

要启用持续聊天,您可以在创建新聊天时指定以前的联系人 ID,也可以将创建持续联系关联数据块添加到联系流中。

注意

您可以选择任意一种方法(如下所述)来保留聊天,但不能两者兼而有之。也就是说,您只能在新聊天中根据 SourceContactID 启用一次持续聊天。

要提供持续的聊天体验,您需要在开始新聊天或使用创建持续联系关联流数据块时提供以前的联系人 ID。此操作不会为您自动执行。建议您创建一个存储库来存储 CTR 数据,这样您的每位客户都可以检索这些数据。此操作可以在聊天结束时通过聊天消息流创建条目来执行,也可以通过检查联系人事件并使用 AWS Lambda 函数在存储库中创建条目来执行。设置存储库后,您可以检索客户以前的联系人 ID,并在开始新聊天时或在创建持续联系关联流数据块中提供该联系人 ID。

此外,请确保可以从实例的 Amazon S3 存储桶中检索过去的聊天记录。使用多个聊天记录存储桶或更改 Amazon Connect 生成的聊天记录文件名将阻止对记录的检索,同时也会禁止聊天继续持续。

在创建新的聊天联系时启用持续聊天

要在创建新的聊天联系时设置持续的聊天体验,请在 StartChatContact API 的 SourceContactId 参数中提供之前的联系人 ID,这将使之前联系人的聊天记录得到“补充”,并在聊天用户界面中向客户和座席显示,请参见用例示例。

在联系流中启用持续聊天

要在联系流中设置持续的聊天体验,请在创建聊天联系后,将创建持续联系关联数据块添加到您的联系流中,并使用用户定义的属性以编程方式指定源联系人 ID。您还可以使用新的 CreatePersistentContactAssociation API 并提供源联系人 ID,使当前聊天保持不变。有关更多信息,请参阅《Amazon Connect API 参考》中的 CreatePersistentContactAssociation

在联系流中创建持续联系。

使用案例示例

例如,客户开始了一个聊天会话:

  1. 座席 a1 接受了聊天,客户和座席 a1 开始对话。这是在当前聊天会话中创建的第一个联系人。例如,contactId C1 可能是 11111111-aaaa-bbbb-1111-1111111111111。

  2. 然后,座席 a1 将聊天转给座席 a2。这将创建另一个联系人。例如,contactId C2 可能是 2222222-aaaa-bbbb-2222-222222222222222。

  3. 座席 a2 结束了聊天。

  4. 客户会被转至断开连接流,进行聊天后调查,从而创建另一位联系人。例如,contactId C3 可能是 33333333-aaaa-bbbb-3333-3333333333333。

  5. 显示聊天后调查,聊天会话结束。

  6. 后来,客户又回来了,想要恢复过去的聊天会话。

目前,客户可能有两种不同的应用场景。以下是客户的持续聊天用例,以及您如何配置 Amazon Connect 以提供这些用例。

应用场景 1

客户想继续过去的聊天会话,但他们希望隐藏聊天后调查。您可以使用以下配置来提供这种体验。

请求:

PUT /contact/chat HTTP/1.1 Content-type: application/json { "Attributes": { "string" : "string" }, "ContactFlowId": "string", "InitialMessage": { "Content": "string", "ContentType": "string" }, "InstanceId": "string", ... // other chat fields // NEW Attribute for persistent chat "PersistentChat" : { "SourceContactId":"2222222-aaaa-bbbb-2222-222222222222222" "RehydrationType":"FROM_SEGMENT" } }

配置

  • SourceContactId = 2222222-aaaa-bbbb-2222-222222222222222(C2 的 contactId)

  • RehydrationType = "FROM_SEGMENT"

预期行为

  • 此配置会从指定的过去已结束联系人 C2(例如 2222222-aaaa-bbbb-2222-222222222222222)启动持续聊天会话。

    可以在当前的持续聊天会话中访问过去聊天会话 C2 (2222222-aaaa-bbbb-2222-222222222222222) 和 C1 (11111111-aaaa-bbbb-1111-1111111111111) 的记录。请注意,聊天片段 C3 (33333333-aaaa-bbbb-3333-3333333333333) 已从持续聊天会话中删除。

  • 在这种情况下,StartChatContact 响应会将 C2 (2222222-aaaa-bbbb-2222-222222222222222) 返回为 “ContinuedFromContactId”。

  • 这个持续聊天会话的 RelatedContactId 是 2222222-aaaa-bbbb-2222-222222222222222 (C2)。

应用场景 2

客户想继续过去的聊天会话,并查看过去整个参与过程的记录(他们不想隐藏聊天后调查)。您可以使用以下配置来提供这种体验。

注意

对于 ENTIRE_PAST_SESSION 补充类型,请将过去聊天会话的第一个联系人(初始 contactId)指定为 SourceContactId 属性。

请求:

PUT /contact/chat HTTP/1.1 Content-type: application/json { "Attributes": { "string" : "string" }, "ContactFlowId": "string", "InitialMessage": { "Content": "string", "ContentType": "string" }, "InstanceId": "string", ... // other chat fields // NEW Attribute for persistent chat "PersistentChat":{ "SourceContactId":"11111111-aaaa-bbbb-1111-1111111111111" // (first contactId C1) "RehydrationType":"ENTIRE_PAST_SESSION" } }

配置

  • SourceContactId = 11111111-aaaa-bbbb-1111-1111111111111 (C1)

  • RehydrationType = "ENTIRE_PAST_SESSION"

预期行为

  • 这会从最近结束的聊天联系人 (C3) 启动持续聊天会话。可以在当前的持续聊天会话中访问过去聊天会话 C3、C2 和 C1 的记录。

  • 在这种情况下,StartChatContact 响应会将 33333333-aaaa-bbbb-3333-3333333333333 (C3) 返回为 “ContinuedFromContactId”。

  • 这个持续聊天会话的 RelatedContactId 是 33333333-aaaa-bbbb-3333-3333333333333 (C3)。

注意

聊天联系是可以累积的。聊天会话关联后,它们会继续进行下去。

例如,如果将属于过去聊天会话的联系人 (contactId C2) 链接到过去不同聊天会话的联系人 (contactId C1),那么通过链接 C2 创建的新持续聊天会话也会导致 C1 的隐式链接。新的持续聊天会话将具有以下关联:C3 → C2 → C1

StartChatContact API 响应中的 ContinuedFromContactId 字段中会显示持续聊天会话的过去联系人 ID。它也在联系人的联系记录ContactTraceRecord中的 RelatedContactId 字段中。

如何访问持续聊天的过去聊天联系人记录

使用现有的 NextToken 分页模型访问持续聊天的过去聊天记录。如果存在过去的聊天消息,在新启动的持续聊天对话中对 GetTranscript 的首次调用会在响应中包含一个 NextToken,必须使用 NextToken 访问过去的聊天记录,并在随后的 GetTranscript 调用中将 ScanDirection 设置为 BACKWARD,以获取过去的聊天消息。

如果过去有多条聊天消息,GetTranscript 会返回一个新的 NextToken,重复相同的过程可获取更多过去的聊天记录。

不支持:使用 StartPositioncontactId 筛选器进行持续聊天

Amazon Connect 不支持在 GetTranscript 调用中使用 StartPositioncontactId 筛选器来筛选来自过去聊天的记录项目属性。