执行另一个联系流时,联系属性会发生什么变化? - 亚马逊连接 - 联系流程

What happens to the contact attributes when executing another contact flow? - amazon connect - contact flows

因此,我正在尝试根据我在上一个联系流中设置的联系属性值(由检查联系属性时钟检查)执行 Lambda 函数。我的问题是,联系人属性是联系流本地的,还是可以从下一个联系流中引用?现在它对我不起作用,当我检查联系人属性值时,它永远不会与应该设置的值匹配(我在之前的联系流程中设置它后检查它)。

还从检查值的 Lambda 函数中获取此信息(existingCase 是联系人属性的名称):

'existingCase': KeyError Traceback (most recent call last): File "/var/task/lambda_function.py", line 11, in lambda_handler print("Is it existing case " + event["Details"]["ContactData"]["Attributes"]["existingCase"]) KeyError: 'existingCase'

谢谢!

联系人属性特定于 call/contact。另一个联系流无法访问在一个联系关注中设置的属性。同样,属性在 call/contact 结束后不再可用于联系流(即使它是同一主叫方)。

如果您需要这些属性可供来自同一客户端点的后续联系人使用,您需要调用 lambda 函数并将属性存储在外部数据存储中,例如 DynamoDB,使用客户的 phone 数字(或特定于 customer/caller 的其他标识符)作为键。在联系流的开头,您可以调用另一个 lambda 函数,该函数使用客户端点(客户的 phone 号码)搜索 dynamo,并使用 dynamo 中的数据恢复上一个联系人的属性。这有效地将联系人属性的范围限定为客户,而不是联系人。

注意:这只是一个说明属性范围的示例,不应在生产场景中使用,因为许多调用者可能被视为具有相同的端点(phone 号码)。

可以使用用户定义的类型将联系人属性从一个联系流转移到另一个联系流。使用以下两种方法设置联系人属性:

  1. 使用文本:设置键和值,并在下一个联系流中使用用户定义类型的联系人属性,并使用在上一个流中定义的键。
  2. 使用属性:将键和值以及类型设置为用户定义。在下一个联系流中,使用类型为用户定义的联系属性,并使用在上一个流中定义的键。