本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
让客户能够在 Amazon Connect 中恢复聊天对话
客户通常会开始聊天,然后离开对话,稍后再回来继续聊天。这种情况可能会在几天、几个月甚至几年的时间里多次发生。为了支持此类长时间的聊天,您可以启用持续聊天功能。
通过持续聊天,客户可以继续之前的对话,同时保留上下文、元数据和记录。客户回到聊天时无需重复之前的话,座席可以访问整个对话历史记录。
聊天补充
持续聊天是通过一种称为聊天补充的过程实现的。此过程允许从以前的聊天联系人中检索聊天记录并显示出来。它使客户和座席可以轻松地从他们中断的地方继续对话。
重要
只有已结束的聊天会话才会用于补充新的聊天会话。
Amazon Connect 支持两种类型的补液:
-
ENTIRE_PAST_SESSION
:开始新的聊天会话,并补充过去聊天会话中的所有聊天片段。 -
FROM_SEGMENT
:开始新的聊天会话,并补充指定的过去的聊天片段。
有关显示这些不同补充模式的用例示例,请参阅使用案例示例。
RelatedContactId
新联系可以通过 RelatedContactId
与现有联系建立关联。此新联系人包含相关联系人的联系人属性副本。
有关 RelatedContactId
如何在联系人记录中建模的更多信息,请参阅 Amazon Connect 联系记录的数据模型。
对于持续聊天,RelatedContactId
描述了用于获取聊天补充的 contactId
。
如何启用持续聊天
有两种方法可以启用持续聊天:
-
创建新聊天时指定以前的联系人 ID。有关说明,请参阅 在创建新的聊天联系时启用持续聊天。
注意
您可以选择任意一种方法来保留聊天,但不能两者兼而有之。也就是说,您只能在新聊天中根据 SourceContactID
启用一次持续聊天。
要提供持续的聊天体验,您需要在开始新聊天或使用创建持续联系关联流数据块时提供以前的联系人 ID。此操作不会为您自动执行。我们建议您创建一个存储库来存储联系记录数据。通过存储库,可以检索每位客户的这些数据。
有两种方法可以在存储库中创建条目:
-
使用聊天消息流在聊天结束时创建条目。
-
检查联系人事件,并使用 AWS Lambda 功能在存储库中创建条目。
设置存储库后,您可以检索客户以前的联系人 ID,并在开始新聊天时或在创建持续联系关联流数据块中提供该联系人 ID。
此外,确保可以从实例的 Amazon S3 存储桶中检索过去的聊天记录。以下两点会导致 Amazon Connect 无法检索文字记录,也无法让聊天持续进行:
-
您使用多个聊天文字记录存储桶。
-
您可以更改 Amazon Connect 生成的聊天文字记录文件名。
在创建新的聊天联系时启用持续聊天
要在创建新的聊天联系人时设置持续的聊天体验,请在 StartChatContactAPI 的SourceContactId
参数contactId
中提供前面的内容。这样就可以对以前联系人的聊天文字记录进行补充。客户和座席都可以在聊天中看到文字记录。有关示例,请参阅使用案例示例。
在流中启用持续聊天
要在流中设置持续聊天体验,请执行以下操作:
-
创建聊天联系人后,在流中添加创建持久联系人关联数据块。
-
使用用户定义的属性指定源联系人 ID。
或者,您可以使用 CreatePersistentContactAssociationAPI 提供来源联系人 ID,使当前聊天保持不变。
使用流数据块或 API 时,补充会在聊天开始后启动。补充完成后会发出补充事件通知您。
使用案例示例
例如,客户开始了一个聊天会话:
-
座席 a1 接受了聊天,客户和座席 a1 开始对话。这是在当前聊天会话中创建的第一个联系人。例如,
contactId
C1 可能是 11111111-aaaa-bbbb-1111-1111111111111。 -
然后,座席 a1 将聊天转给座席 a2。这将创建另一个联系人。例如,
contactId
C2 可能是 2222222-aaaa-bbbb-2222-222222222222222。 -
座席 a2 结束了聊天。
-
客户会被转至断开连接流,进行聊天后调查,从而创建另一位联系人。例如,
contactId
C3 可能是 33333333-aaaa-bbbb-3333-3333333333333。 -
显示聊天后调查,聊天会话结束。
-
后来,客户又回来了,想要恢复过去的聊天会话。
目前,客户可能有两种不同的应用场景。以下是客户的持续聊天用例,以及您如何配置 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-222222222222222(C2 的联系人 ID)
-
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-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 = “E
NTIRE_PAST_SESSION
”
预期行为
-
这会从最近结束的聊天联系人 (C3) 启动持续聊天会话。可以在当前的持续聊天会话中访问过去聊天会话 C3、C2 和 C1 的记录。
-
在本例中,StartChatContact响应以 “” 的形式返回 33333333-aaaa-bbbb-3333-33333333333 (C3)。ContinuedFromContactId
-
这个持续聊天会话的
RelatedContactId
是 33333333-aaaa-bbbb-3333-3333333333333 (C3)。
注意
聊天联系是可以累积的。聊天会话关联后,它们会继续进行下去。
例如,如果将属于过去聊天会话的联系人 (contactId
C2) 链接到过去不同聊天会话的联系人 (contactId
C1),那么通过链接 C2 创建的新持续聊天会话也会导致 C1 的隐式链接。新的持续聊天会话将具有以下关联:C3 → C2 → C1
过去的 ContactID(持续聊天会话从中继续)会显示在 API 响应ContinuedFromContactId
的字段中StartChatContact。它也在 RelatedContactId 联系人记录中的字段
如何访问持续聊天的过去聊天联系人记录
使用现有的 NextToken
分页模型访问持续聊天的过去聊天记录。如果存在过去的聊天消息,则在新启动的持续聊天会话NextToken
中对的初始呼叫会在响应中包含。GetTranscript NextToken
必须用于访问过去的聊天记录,同时BACKWARD
在后续GetTranscript通话中ScanDirection
将其设置为,以获取过去的聊天消息。
如果过去有多条聊天消息,则GetTranscript返回一条新的聊天记录,NextToken
并且可以重复相同的过程来获取更多过去的聊天记录。
不支持:使用 StartPosition
和 contactId
筛选器进行持续聊天
Amazon Connect 不支持在GetTranscript呼叫时使用StartPosition
和contactId
过滤来自过去聊天的笔录项目属性。