本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
让客户能够在 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 生成的聊天记录文件名。
在创建新的聊天联系人时启用持续聊天
要在创建新的聊天联系人时设置持续的聊天体验,请在的SourceContactId
参数contactId
中提供前一个StartChatContactAPI。这样可以对以前联系人的聊天记录进行补水。在聊天中向客户和代理显示成绩单。有关示例,请参阅使用案例示例。
在流程中启用持续聊天
要在流程中设置持续聊天体验,请执行以下操作:
-
创建聊天联系人后,将 “创建永久联系人关联” 区块添加到您的流程中。
-
使用用户定义的属性来指定来源联系人 ID。
或者,您可以使用提供来源联系人 ID,使当前聊天保持不变。CreatePersistentContactAssociationAPI
补液是在聊天开始后开始的,当使用流程块或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 = 222222222-aaaa-bbbb-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-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,在StartChatContactAPI响应的ContinuedFromContactId
字段中暴露出来。它也在 RelatedContactId 联系人记录中的字段
如何访问持续聊天的过去聊天联系人记录
使用现有的 NextToken
分页模型访问持续聊天的过去聊天记录。如果存在过去的聊天消息,则在新启动的持续聊天会话NextToken
中对的初始呼叫会在响应中包含。GetTranscript NextToken
必须用于访问过去的聊天记录,同时BACKWARD
在后续GetTranscript通话中ScanDirection
将其设置为,以获取过去的聊天消息。
如果过去有多条聊天消息,则GetTranscript返回一条新的聊天记录,NextToken
并且可以重复相同的过程来获取更多过去的聊天记录。
不支持:使用 StartPosition
和 contactId
筛选器进行持续聊天
Amazon Connect 不支持在GetTranscript呼叫时使用StartPosition
和contactId
过滤来自过去聊天的笔录项目属性。