

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

# 使用 Amazon Connect 联系属性
<a name="connect-contact-attributes"></a>

让客户感到被关心的一种方法是在您的联络中心为他们创建个性化的体验。例如，您可以向使用电话的客户发送一条欢迎消息，向使用聊天的客户发送另一条欢迎消息。为此，您需要一种方法来存储有关联系人的信息，然后根据该值做出决定。

**Topics**
+ [Amazon Connect 中的联系属性如何运作](what-is-a-contact-attribute.md)
+ [Amazon Connect 中可用的联系人属性列表及其 JSONPath 参考文献](connect-attrib-list.md)
+ [如何在 Amazon Connect 中引用联系属性](how-to-reference-attributes.md)
+ [在联系控制面板 (CCP) 中向座席显示联系信息](use-attribs-ccp.md)
+ [在 Amazon Connect 中使用属性，根据队列中联系人的数量进行路由](attrib-system-metrics.md)
+ [根据联系人与联络中心的联系方式，对他们的体验进行个性化设置](use-channel-contact-attribute.md)
+ [使用 Amazon Lex 和属性值](attribs-cust-input-lex-bot.md)
+ [将来自 Lambda 函数的值作为联系属性存储在 Amazon Connect 中](attribs-with-lambda.md)

# Amazon Connect 中的联系属性如何运作
<a name="what-is-a-contact-attribute"></a>

Amazon Connect 将与客户的每次交互视为一次**联系**。交互可以是电话呼叫（语音）、聊天或使用 Amazon Lex 机器人的自动交互。

每个联系人都可以有一些针对于特定交互的数据。这些数据可以作为联系属性访问。例如：
+ 客户名称
+ 座席名称
+ 联系人使用的渠道，例如电话或聊天

联系属性以键值对的形式表示这些数据。您可以把它看作是一个字段名和输入到该字段中的数据。

例如，以下是客户名称的几个键值对：


| 键 | 值 | 
| --- | --- | 
| 名字  | Jane  | 
| 姓氏  | Doe  | 

联系属性的优势在于，可以存储联系人的临时信息，以便在流中使用。

例如，在欢迎消息中，您可以说出他们的名字或感谢他们成为会员。为此，您需要一种方法来检索有关该特定客户的数据并在流中使用这些数据。

## 常见使用案例
<a name="contact-attribute-scenarios"></a>

以下是使用联系属性的一些常见用例：
+ 使用客户电话号码安排队列回拨。
+ 确定正在与客户互动的座席，以便将呼叫后调查与联系人相关联。
+ 确定队列中的联系人数量，以便决定是否应将联系人路由到其他队列。
+ 获取要存储在数据库中的相应媒体流 ARN。
+ 使用客户电话号码识别客户的状态（例如，他们是否是会员），或者他们的订单状态（已发货、延迟等），以便将他们路由到相应的队列。
+ 根据客户与自动程序的交互，确定流中要使用的槽值（例如，要订购的鲜花类型）。

## 联系属性的类型
<a name="types-of-contact-attributes"></a>

为了便于您更快地查找和选择要使用的属性，按**类型**对属性进行了分组。对于每个流数据块，我们只显示与之相关的属性类型。

考虑联系属性类型的另一种方法是根据值的来源对其进行分类。联系属性的值有以下来源：
+ Amazon Connect 会在联系人交互过程中提供该值，例如座席的姓名。这就是所谓的运行时提供值。
+ 外部流程（例如 Amazon Lex 或 AWS Lambda）提供了价值。
+ [用户定义](connect-attrib-list.md#user-defined-attributes)。
  + 联系属性：在流中，您可以在用户定义的命名空间下指定属性的值。
  + 联系人分段属性：在流中，您可以在分段属性命名空间下指定属性的值。您还必须首先预定义该属性，然后再将其分配为联系人分段属性。有关说明，请参阅[使用联系人分段属性](use-contact-segment-attributes.md)。

  [流属性](connect-attrib-list.md#flow-attributes)类似于用户定义的属性。但是，与用户定义的属性不同，流属性仅限于配置它们的流。

下图列出了可用的联系属性类型，并将它们映射到值的三个来源：Amazon Connect、外部流程（例如 Amazon Lex）和用户定义。

![\[可用的联系属性类型，其值的来源。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/contact-attributes-types.png)


## 联系记录中的联系属性
<a name="attributes-in-ctr"></a>

在联系人记录中，联系人属性在所有具有相同联系人的联系人之间共享 InitialContactId。

例如，在执行转接时，转接流中更新的联系属性会更新两个联系记录（即入站和转接联系属性）的联系属性中的属性值。

## 联系记录中的联系人分段属性
<a name="segmentattributes-in-ctr"></a>

在联系记录中，联系人分段属性的值特定于单个 contactID。并非所有具有相同值的联系人共享这些值 InitialContactId。

例如，在执行转接时，转接流中更新的联系人分段属性会更新在新联系记录上的属性的值（即，它会更新转接联系人分段属性）。

## “\$1”是一个特殊字符
<a name="dollar-sign-special"></a>

Amazon Connect 将“\$1”字符视为特殊字符。设置属性时，不能在键中使用它。

 例如，假设你正在创建与的交互方块 text-to-speech。您可以设置一个如下所示的属性：

 ` {"$one":"please read this text"} ` 

当 Amazon Connect 读取此文本时，它将“美元符号一”当作是联系人，而不是“请阅读此文本”。此外，如果您要在键中包含 \$1 并且尝试稍后使用 Amazon Connect 引用该值，则不会检索该值。

Amazon Connect 会记录完整的键:值对 `({"_$one":"please read this text"})` 并将其传递给集成，例如 Lambda。

## 如果属性不存在会发生什么
<a name="attribute-error"></a>

如果属性不存在并且联系人被路由到错误分支，请务必实施处理逻辑。

假设您在“存储客户输入”数据块中添加了一个属性。**命名空间**是**座席**，**密钥**是**用户名**，如下例所示。

![\[“存储客户输入”数据块。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/contact-attributes-errorbranch.png)


如果流运行并且座席用户名不可用，则联系人将被路由到错误分支。

# Amazon Connect 中可用的联系人属性列表及其 JSONPath 参考文献
<a name="connect-attrib-list"></a>

下表说明了 Amazon Connect 中可用的联系属性。

为每个属性提供了 JSONPath 参考，因此您可以[创建动态文本字符串](create-dynamic-text-strings.md)。

**Topics**
+ [系统属性](#attribs-system-table)
+ [分段属性](#attribs-segment-attributes)
+ [视图属性](#attribs-views)
+ [功能属性](#attribs-capabilities)
+ [座席属性](#attribs-agent)
+ [队列属性](#attribs-system-metrics-table)
+ [联系人指标属性](#attribs-contact-metrics-table)
+ [电话呼叫元数据属性（呼叫属性）](#telephony-call-metadata-attributes)
+ [聊天初始消息属性](#chat-initial-message-attributes)
+ [电子邮件属性](#email-attribs)
+ [媒体流属性](#media-stream-attribs)
+ [Amazon Lex 联系属性](#attribs-lex-table)
+ [案例联系属性](#attribs-case-table)
+ [Lambda 联系属性](#attribs-lambda-table)
+ [用户定义的属性](#user-defined-attributes)
+ [流属性](#flow-attributes)
+ [循环属性](#w2aac18c52b9c41)
+ [流程模块属性](#flow-modules-attributes)
+ [数据表属性](#data-table-attributes)
+ [Apple Messages for Business 属性](#apple-messages-for-business-attributes)
+ [“客户配置文件”属性](#customer-profiles-attributes)
+ [出站活动属性](#campaign-attributes)
+ [Connect AI 代理属性](#qic-attributes)

## 系统属性
<a name="attribs-system-table"></a>

这些是 Amazon Connect 中预定义的属性。您可以引用系统属性，但不能创建它们。

并非流中的所有数据块都支持使用系统属性。例如，您不能使用系统属性来存储客户输入，但可以使用[用户定义的属性](#user-defined-attributes)来存储客户输入的数据。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| AWS 区域 | 使用时，它会返回处理联系人的 AWS 区域 位置。例如 us-west-2、us-east-1 等。 | 系统 | \$1。 AwsRegion 或 \$1 ['AwsRegion'] | 
| 客户地址或号码 | 客户的电话号码或电子邮件地址（如果使用电子邮件渠道）。 支持语音通话、短信、 WhatsApp 商务消息和电子邮件。 当用于出站私密消息流时，这是座席打给客户的号码。当用于入站流时，这是客户打来的电话的号码。此属性包含在联系记录中。在 Lambda 函数中使用时，它包含在下的输入对象中。 CustomerEndpoint | 系统 | \$1。 CustomerEndpoint. 地址 | 
| 客户 ID | 客户的识别码。例如， CustomerId 可能是您的 CRM 中的客户编号。您可创建 Lambda 函数，从您的 CRM 系统中提取呼叫方的唯一客户 ID。Voice ID 将使用此属性作为呼叫方的 `CustomerSpeakerId`。  | 系统 | \$1.CustomerId | 
| 系统地址或号码 | 支持语音通话、短信、电子邮件和 WhatsApp 商务消息。 客户打给联络中心的号码，或者联系人将电子邮件发送到的电子邮件地址（如果使用电子邮件渠道）。 此属性包含在联系记录中。在 Lambda 函数中使用时，它包含在下的输入对象中。 SystemEndpoint | 系统 | \$1。 SystemEndpoint. 地址 | 
| 客户显示名称 | 客户在发送给您的联络中心的电子邮件上的名称。 | 系统 | \$1.CustomerEndpoint.DisplayName | 
| 系统显示名称 | 客户发送的电子邮件地址的显示名称。 | 系统 | \$1.SystemEndpoint.DisplayName | 
| 抄送电子邮件地址列表 | 发送到您的联络中心的入站电子邮件上抄送电子邮件地址的完整列表。 | 系统 | \$1.AdditionalEmailRecipients.CcList | 
| 收件人电子邮件地址列表 | 发送到您的联络中心的入站电子邮件上收件人电子邮件地址的完整列表。 | 系统 | \$1.AdditionalEmailRecipients.ToList | 
| 客户回拨号码 | Amazon Connect 用来给客户回电的号码。 该号码可以是排队回拨时使用的号码，也可以是座席从 CCP 拨号时使用的号码。转接到回拨队列功能，或者用于座席从 CCP 拨号。 默认号码是客户用于呼叫您的联络中心的号码。但是，它可以被[设置回拨号码](set-callback-number.md)数据块覆盖。 该属性不包含在联系记录中，也无法在 Lambda 输入中访问。但您可以使用[设置联系属性](set-contact-attributes.md)数据块（包含在联系记录中）将该属性复制到用户定义的属性中。您也可以将此属性作为 Lambda 输入参数传递[AWS Lambda 函数](invoke-lambda-function-block.md)数据块（不包含在联系记录中）中。  | 系统 | 不适用 | 
| 存储的客户输入 | 从最近的[存储客户输入](store-customer-input.md)数据块调用创建的属性。 从最近的[存储客户输入](store-customer-input.md)数据块调用创建的属性值。该属性不包含在联系记录中，也无法在 Lambda 输入中访问。您可以使用[设置联系属性](set-contact-attributes.md)数据块（包含在联系记录中）将该属性复制到用户定义的属性中。您也可以将此属性作为 Lambda 输入参数传递到[AWS Lambda 函数](invoke-lambda-function-block.md)数据块。  | 系统 | \$1.StoredCustomerInput | 
| 队列名称 | 队列的名称。 | 系统 | \$1.Queue.Name | 
| 队列 ARN | 队列的 ARN。 | 系统 | \$1.Queue.ARN | 
| 队列出站号码 | 所选队列的出站呼叫方 ID 号码。此属性仅在出站私密消息流中可用。 | 系统 |  | 
| 文字转语音 | 在联系流中使用的 Amazon Polly 语音 text-to-speech的名称。 | 系统 | \$1.TextToSpeechVoiceId | 
| 联系 ID | 联系人的唯一标识符。 | 系统 | \$1.ContactId | 
| 初始联系 ID | 与客户和联络中心之间初次交互关联的联系人的唯一标识符。使用初始联系 ID 可跟踪流之间的联系人。  | 系统 | \$1.InitialContactId | 
| 任务联系 ID | 任务联系的唯一标识符。使用任务联系 ID 可跟踪流之间的任务。  | 系统 | \$1.Task。 ContactId | 
| 上一个联系 ID | 电话被转接前的联系人的唯一标识符。使用上一个联系 ID 可跟踪流之间的联系人。 | 系统 | \$1.PreviousContactId | 
| 频道 | 联系联络中心的方法：语音、聊天、任务、电子邮件。 | 系统 | \$1.Channel | 
| 实例 ARN | Amazon Connect 实例的 ARN。 | 系统 | \$1.InstanceARN | 
| 发起方法 | 如何发起联系。有效值包括：INBOUND、OUTBOUND、TRANSFER、CALLBACK、QUEUE\$1TRANSFER、EXTERNAL\$1OUTBOUND、MONITOR、DISCONNECT、WEBRTC\$1API 和 API。  | 系统 | \$1.InitiationMethod | 
| Name | 任务的名称。 | 系统 | \$1.Name | 
| 说明 | 任务的描述。 | 系统 | \$1.Description | 
| 参考信息 | 与联系人相关的其他文档的链接。 | 系统 | \$1.References。 *ReferenceKey*.Value 和 \$1.References。 *ReferenceKey*.Type 其中*ReferenceKey*是用户定义的参考名称。 | 
| 语言 | 内容语言。 使用标准的 java.util.Locale。例如，en-US 代表美国英语，ja-JP 代表日语等。 | 系统 | \$1.LanguageCode | 
| 系统端点类型 | 系统端点的类型。有效值为 TELEPHONE\$1NUMBER。 | 系统 | \$1。 SystemEndpoint.Type | 
| 客户端点类型 | 客户端点的类型。有效值为 TELEPHONE\$1NUMBER。 | 系统 | \$1。 CustomerEndpoint.Type | 
| 队列出站呼叫方 ID 号码 | 为队列定义的出站呼叫方 ID 号码。这可用于在设置自定义呼叫方 ID 后还原呼叫方 ID。 | 系统 | \$1.Queue。 OutboundCallerId. 地址 | 
| 队列出站呼叫方 ID 号码类型 | 出站呼叫方 ID 号码的类型。有效值为 TELEPHONE\$1NUMBER。 | 系统 | \$1.Queue。 OutboundCallerId.Type | 
| 标签 | 用于组织、跟踪或控制此资源的访问权限的标签。有关标签的更多信息，请参阅 [为 Amazon Connect 中的资源添加标签](tagging.md)和[设置精细账单，详细了解您的 Amazon Connect 使用情况](granular-billing.md)。 | 系统 | \$1.Tags | 

## 分段属性
<a name="attribs-segment-attributes"></a>

分段属性为一组系统定义的键值对，使用属性映射存储在各个联系分段上。但是，可以创建用户定义的分段属性，如下表中所述。


| 属性 | 说明 | 允许值 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | --- | 
| connect:Subtype | 表示用于联系人的渠道的子类型。 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/connect-attrib-list.html)  | ValueString | \$1。 SegmentAttributes['connect: subtype'] | 
| connect:Direction | 表示联系的方向。例如，入站或出站。 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/connect-attrib-list.html)  | ValueString | \$1。 SegmentAttributes['连接:方向'] | 
| 连接：CreatedByUser | 表示创建任务的用户的 ARN。 |  | ValueString | \$1。 SegmentAttributes['连接：CreatedByUser'] | 
| 连接：AssignmentType | 表示任务的分配方式。 | "SELF" | ValueString | \$1。 SegmentAttributes['连接：AssignmentType'] | 
| 连接：EmailSubject | 表示电子邮件联系主题。 |  | ValueString | \$1。 SegmentAttributes['连接：EmailSubject'] | 
| 连接：ScreenSharingDetails |  `ScreenSharingDetails` 部分包含有关对联系人执行的屏幕共享活动的信息。 `ScreenSharingActivated` 键指示是否为联系人激活了屏幕共享会话。  | `"connect:ScreenSharingDetails": { "ScreensharingActivated" : "TRUE" // Allowed Values "TRUE" and "FALSE" }` | ValueString | \$1。 SegmentAttributes['连接：ScreenSharingDetails'] | 
| 连接：ContactExpiry | 包含联系人到期的详细信息，例如任务和电子邮件联系人的 `ExpiryDuration` 和 `ExpiryTimeStamp`。 |  | valueMap | \$1。 SegmentAttributes['连接：ContactExpiry'] | 
| 连接：CustomerAuthentication | 聊天联系的身份验证详细信息。 | `"connect:CustomerAuthentication": { "valueMap": { "IdentityProvider": { "ValueString": ""}, "ClientId": { "ValueString": ""}, "Status": { "ValueString": *AUTHENTICATED \| FAILED \| TIMEOUT*}, "AssociatedCustomerId": { "ValueString": ""} "AuthenticationMethod": { "ValueString": "*CONNECT" \| "CUSTOM*" } } }` | ValueMap | \$1。 SegmentAttributes['连接：CustomerAuthentication'] | 
| 连接：ValidationTestType |  表示测试和仿真类型。对于非模拟联系人，此字段保持为空。您可以在分析仪表板中使用此属性来筛选出实际的客户联系人或确定联系人记录对象中是否模拟了某个联系人。  | “体验\$1验证” | ValueString | \$1.Segment.Attributes ['连接：'] ValidationTestType | 
| 客户端 ID | Amazon Cognito 应用程序客户端标识符。 |  | ValueString | \$1。 SegmentAttributes['连接：CustomerAuthentication'] [' ClientId '] | 
| 身份提供商 | 用于对客户进行身份验证的身份提供商。 |  | ValueString | \$1。 SegmentAttributes['连接：CustomerAuthentication'] [' IdentityProvider '] | 
| Status | 身份验证过程的状态。 | `AUTHENTICATED` \$1 `FAILED` \$1 `TIMEOUT` | ValueString | \$1。 SegmentAttributes['连接：CustomerAuthentication'] [' 状态 '] | 
| 关联的客户 ID | 客户的标识符号码。这要么是自定义标识符，要么是客户资料标识符。 |  | ValueString | \$1。 SegmentAttributes['连接：CustomerAuthentication'] [' AssociatedCustomerId '] | 
| 身份验证方法 | Amazon Connect 托管的身份验证工作流或客户托管的身份验证工作流。 | `CONNECT` \$1 `CUSTOM` | ValueString | \$1。 SegmentAttributes['连接：CustomerAuthentication'] [' AuthenticationMethod '] | 
| 电子邮件主题 | 客户发送给您的联络中心的电子邮件中的电子邮件主题。如果您想查看电子邮件主题中的某些关键字，这会很有用。 |  | 分段属性 | \$1。 SegmentAttributes['连接：EmailSubject'] | 
| Amazon SES Spam Verdict | 当电子邮件进入您的联络中心时，Amazon SES 会对其进行扫描，寻找是否存在垃圾邮件。您可以检查是否存在失败情况，然后删除电子邮件或将其放入特殊队列中供主管审核。 |  | 分段属性 | \$1。 SegmentAttributes['connect: x-ses-ses-sem-Spam-判决'] | 
| Amazon SES Virus Verdict | 当电子邮件进入您的联络中心时，Amazon SES 会对其进行扫描，寻找是否存在病毒。您可以检查是否存在失败情况，然后删除电子邮件或将其放入特殊队列中供主管审核。 |  | 分段属性 | \$1。 SegmentAttributes['Connect: x-ses-virus-virus-Virus-ver | 
| 用户定义的属性 | 您可以选择任何用户定义的属性并将其存储在分段属性下的联系人上。必须先预定义该属性，才能将其用于在联系人中存储值。请参阅[使用联系人分段属性](use-contact-segment-attributes.md)。 | 如果未预定义任何值，则 Amazon Connect 允许使用所有字符串值。当未选中**添加预定义属性**页面上的[强制使用有效值](use-contact-segment-attributes.md)选项时，也会出现这种情况。当选中**强制使用有效值**选项且已预定义值时，联系人仅存储预定义属性键的有效且预定义的值。（如果使用 API，请参阅[EnableValueValidationOnAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_InputPredefinedAttributeConfiguration.html)参数。） | 字符串 | \$1。 SegmentAttributes['属性\$1key\$1name'] | 

## 视图属性
<a name="attribs-views"></a>

下表列出了 Amazon Connect 中的可用视图属性。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| Action | 用户与视图交互时采取的操作。操作显示为[显示视图](show-view-block.md)数据块中的流分支 | 观点 |  \$1.Views.Action | 
| 视图结果数据 | 根据用户在组件上进行操作与视图交互所产生的输出数据。 | 观点 |  \$1.Views。 ViewResultData | 

## 功能属性
<a name="attribs-capabilities"></a>

下表列出了 Amazon Connect 中的可用功能属性。这些属性支持屏幕和视频共享功能。有关更多信息，请参阅 [设置应用程序内通话、网络通话、视频通话和屏幕共享功能](inapp-calling.md)。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 座席屏幕共享功能 | 为参与者启用的屏幕共享功能。 | 功能 | \$1.Capabilities.Agent。 ScreenShare | 
| 座席视频功能 | 在通话中为参与者启用的视频共享功能。 | 功能 | \$1.Capabilities.Agent.Video | 
| 客户屏幕共享功能 | 为参与者启用的屏幕共享功能。 | 功能 | \$1.Capabilities. 客户。 ScreenShare | 
| 客户视频功能 | 在通话中为参与者启用的视频共享功能。 | 功能 | \$1.Capabilities.Customer.Video | 

## 座席属性
<a name="attribs-agent"></a>

下表列出了 Amazon Connect 中的可用座席属性。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 座席用户名 | 座席用来登录 Amazon Connect 的用户名。 | 系统 | \$1.Agent。 UserName | 
| 座席名字 | 座席在其 Amazon Connect 用户账户中所输入的名字。 | 系统 | \$1.Agent。 FirstName | 
| 座席姓氏 | 座席在其 Amazon Connect 用户账户中所输入的姓氏。 | 系统 | \$1.Agent。 LastName | 
| 座席 ARN | 座席的 ARN。 | 系统 | \$1.Agent.ARN | 

**注意**  
当您在**转接到座席**流中使用座席联系属性时，座席属性反映的是目标座席，而不是发起转接的座席。

座席属性仅在以下类型的流中可用：
+ 座席私密消息
+ 客户私密消息
+ 座席等候
+ 客户等候
+ 出站私密消息
+ 转接到座席。在此情况下，座席属性反映的是目标座席，而不是发起转接的座席。

座席属性在以下流类型中不可用：
+ 客户队列
+ 转接队列
+ 入站流

## 队列属性
<a name="attribs-system-metrics-table"></a>

这些是当您在流中使用[获取指标](get-queue-metrics.md)数据块时返回的系统属性。

如果联络中心没有当前活动，则为这些属性返回空值。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 队列名称 | 检索其指标的队列名称。 | 系统 | \$1.Metrics.Queue.Name | 
| 队列 ARN | 检索其指标的队列 ARN。 | 系统 | \$1.Metrics.Queue.ARN | 
| 队列中的联系人 | 当前队列中的联系人数量。 | 系统 | \$1.Metrics.Queue.Size | 
| 队列中最早的联系人 | 对于已在队列中等候时间最长的联系人，是指他们在队列中等候的时间长度（以秒为单位）。 | 系统 | \$1.Metrics.Queue。 OldestContactAge | 
| 队列预计等待时间 | 联系人在连接到代理之前将在队列中等待多长时间（以秒为单位）。 | 系统 | \$1.Metrics.Queue。 EstimatedWaitTime | 
| 座席在线 | 当前在线的座席数量，即已登录并处于非离线状态的座席数量。 | 系统 | \$1.Metrics.Agents.Online.Count | 
| 座席可用 | 其状态设置为“可用”的座席数量。 | 系统 | \$1.Metrics.Agents.Available.Count | 
| 座席工作中 | 当前工作中的座席数量，即已登录并处于“可用”、“联系后续工作 (ACW)”或“忙碌”状态的座席数量。 | 系统 | \$1.Metrics.Agents.Staffed.Count | 
| 联系后续工作的座席 | 目前处于 ACW 状态的座席数量。 | 系统 | \$1.Metrics.Agents。 AfterContactWork.Count | 
| 座席繁忙 | 目前正在接待客户的座席数量。 | 系统 | \$1.Metrics.Agents.Busy.Count | 
| 错过电话的座席数量 | 处于“错过”状态（座席错过联系人后进入的状态）的座席数量。 | 系统 | \$1.Metrics.Agents.Missed.Count | 
| 处于无成效状态的座席 | 处于无成效 (NPT) 状态的座席数量。 | 系统 | \$1.Metrics.Agents。 NonProductive.Count | 

## 联系人指标属性
<a name="attribs-contact-metrics-table"></a>

这些是当您在流中使用[获取指标](get-queue-metrics.md)数据块时返回的系统属性。

如果联络中心没有当前活动，则为这些属性返回空值。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 预计等待时间 | 当前联系人在连接到代理之前将在队列中等待多长时间（以秒为单位）。 | 系统 | \$1.Metrics.Contact。 EstimatedWaitTime | 
| 队列中的位置 | 在考虑频道（语音、聊天、任务或电子邮件）时，联系人在队列中的位置以及是否使用路由步骤。 | 系统 | \$1.Metrics.Contact。 PositionInQueue | 

## 电话呼叫元数据属性（呼叫属性）
<a name="telephony-call-metadata-attributes"></a>

电话元数据提供了与来自电话运营商呼叫发起相关的其他信息。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| P-Charge-Info | 负责支付呼叫相关费用的一方。 | 系统 | \$1.Media.Sip.Headers.P-Charge-Info | 
| 发起方 | 与请求关联的最终用户的身份。 | 系统 | \$1.Media.Sip.Headers.From | 
| 接收方 | 有关被叫方或请求接收方的信息。 | 系统 | \$1.Media.Sip.Headers.To | 
| ISUP-OLI | 起始线路指示器 (OLI)。显示拨打电话的线路类型（例如，PSTN、800 服务呼叫、 wireless/cellular PCS、公用电话）。 | 系统 | \$1.Media.Sip.Headers.ISUP-OLI | 
| JIP | 管辖区指示参数 (JIP)。表示呼叫方/交换机的地理位置。 示例值：212555 | 系统 | \$1.Media.Sip.Headers.JIP | 
| 跃点计数器 | 跃点计数器。 示例值：0  | 系统 | \$1.Media.Sip.Headers.Hop-Counter | 
| 起始交换机 | 起始交换机。 示例值：710   | 系统 | \$1.Media.Sip.Headers.Originating-Switch | 
| 起始中继 | 起始中继。 示例值：0235 | 系统 | \$1.Media.Sip.Headers.Originating-Trunk | 
| 呼叫转移指示器 | 呼叫转移指示器（例如，分流头）。表示呼叫的国内或国际来源。 示例值：sip:\$115555555555@public-vip.us2.telphony-provider.com;reason=unconditional  | 系统 | \$1.Media.Sip.Headers.Call-Forwarding-Indicator | 
| 呼叫方地址 | 呼叫方地址（号码）。NPAC dip 显示了真实的线路类型和原生地理切换。 示例值：15555555555;noa=4  | 系统 | \$1.Media.Sip.Headers.Calling-Party-Address | 
| 被呼叫方地址 | 被呼叫方地址（号码）。  示例值：15555555555;noa=4   | 系统 | \$1.Media.Sip.Headers.Called-Party-Address | 
| SIPREC 元数据 |  Amazon Contact Lens 连接器接收到的 SIPREC 元数据 XML  | 系统 |  \$1.Media.Sip。 SiprecMetadata | 

**注意**  
所有电话提供商的电话元数据可用性并不一致，可能并非在所有情况下都可用。可能会导致空值。

## 聊天初始消息属性
<a name="chat-initial-message-attributes"></a>


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| InitialMessage | 客户在网络聊天或短信中提供的初始消息。  | 系统 | \$1.Media。 InitialMessage | 

## 电子邮件属性
<a name="email-attribs"></a>

下表列出了 Amazon Connect 中可用的电子邮件属性。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 电子邮件（纯文本） |  使用 “[获取存储的内容](get-stored-content.md)流” 区块时，这将存储来自电子邮件联系人的电子邮件的纯文本版本。  | 系统 | \$1.Email。 EmailMessage.Plaintext | 

## 媒体流属性
<a name="media-stream-attribs"></a>

下表中列出了属性，使用这些属性，您可以确定实时媒体流中客户音频开始和停止的位置。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 客户音频流 ARN | 用于实时媒体流式传输的 Kinesis 视频流的 ARN，其中包括要引用的客户数据。 | 媒体流 | \$1。 MediaStreams.customer.audio.streamar | 
| Kinesis 视频流中用于实时媒体流式传输的客户音频开始时间戳。 | 客户音频流开始的时间。 | 媒体流 | \$1。 MediaStreams.客户。音频。 StartTimestamp | 
| 客户音频停止时间戳 | 客户音频流停止用于实时媒体流式传输的 Kinesis 视频流的时间。 | 媒体流 | \$1。 MediaStreams.客户。音频。 StopTimestamp | 
| 客户音频开始片段编号 | 在用于实时媒体流式传输的流（在其中启动客户音频流）中确定 Kinesis 视频流片段的编号。 | 媒体流 | \$1。 MediaStreams.客户。音频。 StartFragmentNumber | 

## Amazon Lex 联系属性
<a name="attribs-lex-table"></a>

下表列出了从 Amazon Lex 自动程序返回的属性。这些也被称为*会话属性*。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 备用意图 | Amazon Lex 提供的备用意图清单。每个意图都有相应的置信度分数和需要填补的槽值。 | Lex | \$1.Lex。 AlternativeIntents。 *x*。 IntentName \$1.Lex。 AlternativeIntents。 *x*。 IntentConfidence.Score  \$1.Lex。 AlternativeIntents。 *x*.Slots  \$1.Lex。 AlternativeIntents。 *y.*IntentName  \$1.Lex。 AlternativeIntents。 *y*。 IntentConfidence.Score  \$1.Lex。 AlternativeIntents。 *y*.Slots   \$1.Lex。 AlternativeIntents。 *z*。 IntentName  \$1.Lex。 AlternativeIntents。 *z*。 IntentConfidence.Score \$1.Lex。 AlternativeIntents。 *z*.Slots  Lex 响应中的意图名称在哪里*x*、*y,*在哪里 *z*  | 
| 意图置信度分数 | Amazon Lex 返回的意图置信度分数。 | Lex | \$1.Lex。 IntentConfidence.Score | 
| 意图名称 | Amazon Lex 返回的用户意图。 | Lex | \$1.Lex。 IntentName | 
| 情绪标签 |  Amazon Comprehend 置信度最高的情绪推断。  | Lex | \$1.Lex。 SentimentResponse.Label  | 
| 情绪分数 |  情绪推断正确的可能性。  | Lex | \$1.Lex。 SentimentResponse.Scores .positive \$1.Lex。 SentimentResponse.Scores. 负数 \$1.Lex。 SentimentResponse. 分数。好坏参半 \$1.Lex。 SentimentResponse.Scores. Neutral | 
| 会话属性 |  表示会话特定上下文信息键值对的映射。  | Lex | \$1.Lex。 SessionAttributes. 属性密钥 | 
| 槽值 | Amazon Lex 在交互期间从用户输入中检测到的意图槽值（键值对）的映射。  | Lex | \$1.Lex.Slots.slotName | 
| 对话状态 | 从 Amazon Lex 自动程序返回的最后的对话状态。如果一个意图返回到流，则该值为“已完成”。 | 不适用（用户界面中未显示任何类型） | \$1.Lex。 DialogState | 

## 案例联系属性
<a name="attribs-case-table"></a>

下表列出了 Amazon Connect 案例使用的属性。


| 属性 | 说明 | Type | JSONPath 参考 | 数据来源 | 
| --- | --- | --- | --- | --- | 
|  案例 ID  | UUID 格式的案例唯一标识符（例如，689b0bea-aa29-4340-896d-4ca3ce9b6226） | 文本 |  \$1.Case.case\$1id  | Amazon Connect | 
|  案例原因  | 打开案例的原因 |  single-select  | \$1.Case.case\$1reason | 座席 | 
|  创建者  | 创建案例的用户的身份。 |  用户  | \$1.case.created\$1by | Amazon Connect | 
|  Customer  | API 是一个客户资料 ID。在案例：字段页面上，将显示客户的姓名。 |  文本  | \$1.Case.customer\$1id | Amazon Connect | 
|  结束日期/时间  | 上次案例结束的日期和时间。这不能保证案例已经结束。如果重新打开案例，则此字段将包含上次状态更改为已关闭的 date/time 印章。 |  日期-时间  | \$1.Case.last\$1closed\$1datetime  | Amazon Connect | 
|  开始日期/时间  | 打开案例的日期和时间。 |  日期-时间  | \$1.Case.created\$1datetime | Amazon Connect | 
|  更新的日期/时间  | 上次案例更新的日期和时间。 |  日期-时间   | \$1.Case.last\$1updated\$1datetime | Amazon Connect | 
|  参考信息编号  | 易记的案例编号，采用 8 位数字格式。 参考信息编号（与案例 ID 不同）不保证唯一性。建议您先确定客户，然后再收集参考信息编号以找到正确的案例。  |  文本  | \$1.Case.reference\$1number | 座席 | 
|  状态  | 案例的当前状态  |  文本  | \$1.Case.status | 座席 | 
|  Summary  | 案例摘要  |  文本  | \$1.Case.summary | 座席 | 
|  标题  | 案例标题  |  文本  | \$1.Case.title | 座席 | 

## Lambda 联系属性
<a name="attribs-lambda-table"></a>

[AWS Lambda 函数](invoke-lambda-function-block.md)数据块的最新调用会返回键值对形式的 Lambda 属性。每次 Lambda 函数的调用都会覆盖 Lambda 调用属性。

要在中引用属性 JSONPath，请使用：
+ `$.LambdaInvocation.ResultData.attributeName`

其中，`AttributeName` 是属性名称，或是从函数返回的键值对的键。

例如，如果函数返回联系 ID，则通过 `$.LambdaInvocation.ResultData.ContactId` 引用该属性。引用从 Amazon Connect 返回的联系人编号时， JSONPath 为`$.ContactId`。

有关在 Lambda 函数中使用属性的更多信息，请参阅[授予 Amazon Connect 访问您的 AWS Lambda 功能的权限](connect-lambda-functions.md)。

这些属性不包含在联系记录中，不会传递到下一个 Lambda 调用，也不会传递到 CCP 以获取屏幕弹窗信息，但是，它们可以作为 Lambda 函数输入在[AWS Lambda 函数](invoke-lambda-function-block.md)数据块上传递，或者通过使用[设置联系属性](set-contact-attributes.md)数据块复制到用户定义的属性。当在[设置联系属性](set-contact-attributes.md)数据块中使用时，复制的属性会包含在联系记录中，并可在 CCP 中使用。

## 用户定义的属性
<a name="user-defined-attributes"></a>

对于所有其他属性，Amazon Connect 会定义键和值。而对于用户定义的属性，则您需要提供键和值的名称。

如果要在联系流中存储值，并在稍后引用这些值，请使用用户定义的属性。例如，如果您集成了 Amazon Connect 和 CRM 或其他系统，则可能需要从客户那里获取信息，例如他们的会员号。然后，您可以使用该成员编号从 CRM 中检索有关该成员的信息，在整个流程中 and/or 使用该成员编号等。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 您选择的任何名称 | 用户定义的属性具有两个部分： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/connect-attrib-list.html)  | 用户定义 | \$1.Attributes.*name\$1of\$1your\$1destination\$1key* | 

要创建用户定义的属性，请使用[设置联系属性](set-contact-attributes.md)数据块。

## 流属性
<a name="flow-attributes"></a>

流属性类似于用户定义的属性类型，但仅限于设置它们的流。

如果您不想在整个联系过程中保留数据，例如需要使用敏感信息（例如客户的信用卡号）来进行 Lambda 数据提取时，流属性会非常有用。
+ 流属性是存储在本地的临时变量，仅在流中使用。它们在流之外的任何地方都不可见，即使联系人转移到另一个流时也是如此。
+ 它们最大可以为 32 KB（联系记录属性部分的最大大小）。
+ 除非将它们明确配置为参数（在**调用 AWS Lambda 函数**数据块中，选择**添加参数**），否则它们不会被传递给 Lambda 
+ 它们不会传递给模块。您可以在模块内设置流属性，但它不会被传递出模块。
+ 它们不会显示在联系记录中。
+ CCP 中的座席不会看到它们。
+ `GetContactAttributes` API 无法公开它们。
+ 如果您在流上启用了日志记录，密钥和值将显示在 Cloudwatch 日志中。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 您选择的任何名称 | 流属性由两部分组成： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/connect-attrib-list.html)  | 流 | \$1。 FlowAttributes。 *您的目的地密钥的名称* | 

## 循环属性
<a name="w2aac18c52b9c41"></a>

下表列出了如果在 Loop 模块中指定了 a LoopName ，则可在 Loop 模块中使用的属性。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
|  索引  | 循环的当前索引。该值从 0 开始。这适用于基于计数和数组的循环 |  循环  |  \$1.Loop。 *name\$1of\$1your\$1loop .Index*   | 
|  Element  | 循环的当前元素。这仅适用于基于数组的循环 |  循环  |  \$1.Loop。 *你的循环名字.Element*  | 
|  元素  | 作为循环输入提供的元素。这仅适用于基于数组的循环 |  循环  |  \$1.Loop。 *你的循环名字.Elements*  | 

## 流程模块属性
<a name="flow-modules-attributes"></a>

Flow module Input 属性是传递给模块的属性，该模块使用 Invoke Module [块定义了来自流程或其他模块](contact-flow-modules.md#add-modules)的输入架构。Flow 模块的 “输出” 和 “结果” 属性是从最近一次[调用 Invoke Module 块](contact-flow-modules.md#add-modules)时返回的。每次调用 Module 函数时，模块输出和结果属性都会被覆盖。

这些属性不包含在联系人记录中，也不会传递给下一个模块调用，也不会传递给 CCP 以获取屏幕弹出信息。但是，可以使用 “[设置联系人属性” 模块将其复制到用户定义的属性](set-contact-attributes.md)中。在 “[设置联系人属性”](set-contact-attributes.md) 块中使用时，复制的属性将包含在联系人记录中，并且可以在 CCP 中使用。

下表列出了 Amazon Connect 中可用的流程模块属性。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| Input | 输入数据提供对传递到模块的输入的访问权限。它以 JSON 对象的形式返回，具体格式由模块输入架构定义。 | 模块 | \$1.Modules.Input | 
| 结果 | 结果数据捕获从模块返回的分支名称，不包括错误分支。它以字符串形式返回。 | 模块 | \$1.Modules.Result | 
| 输出（来自 UI 的属性引用） | 输出数据捕获模块执行过程中生成的结果数据。它以 JSON 对象的形式返回，具体格式由模块输出架构定义。 | 模块 | \$1.Modules。 ResultData | 

## 数据表属性
<a name="data-table-attributes"></a>

数据表块操作返回的属性。使用它们来访问从联系流中的数据表中检索到的数据。

### 评估数据表值属性
<a name="data-table-evaluate-attributes"></a>

在数据表块中使用 “评估” 操作查询特定属性值时返回的属性。
+ 如果查询未返回任何结果或未找到该属性，则引用将为空或为空。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 数据表评估的查询结果 | 由命名查询检索的特定属性的值。`<QueryName>`替换为分配给查询的唯一`<AttributeName>`名称以及您选择要检索的属性的名称。 | 数据表 | \$1.DataTables.<QueryName>.<AttributeName> | 

### 列出数据表值属性
<a name="data-table-list-attributes"></a>

在数据表块中使用 “列表” 操作检索完整记录时返回的属性。
+ 该列表返回完整的记录（所有属性），而不仅仅是选定的记录。
+ 如果未找到匹配的记录，则 primaryKeyGroups 数组将为空。
+ 如果未配置主键组，则会加载整个表，并且可以使用 “默认” 组名访问结果：`$.DataTableList.ResultData.primaryKeyGroups.default[index]`。
+ List 命名空间的最大数据限制为 32 KB。
+ 在流块中访问数组元素时，请使用反引号来封装引用： JSONPath ``$.DataTableList.ResultData.primaryKeyGroups.<GroupName>[index]``


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
| 数据表 ID | 从中检索记录的数据表的唯一标识符。 | 数据表列表 | \$1.DataTableList.ResultData.dataTableId | 
| 锁定版本 | 数据表的锁定版本信息。 | 数据表列表 | \$1。 DataTableList。 ResultData.lockversion.data | 
| 默认群组名称 | 如果未配置主键组，则会加载整个表，并且可以使用 “默认” 组名访问结果。 | 数据表列表 | \$1。 DataTableList。 ResultData。 primaryKeyGroups.default [索引] | 
| 主键组 | 按主要值组名组织的检索到的记录集合。`<GroupName>`替换为分配给您的主要价值组的名称。 | 数据表列表 | \$1.DataTableList.ResultData.primaryKeyGroups.<GroupName> | 
| 特定行 | 访问主键组中的特定行。`<GroupName>`替换为您的组名和`[index]`该行的从零开始的索引。 | 数据表列表 | \$1。 DataTableList。 ResultData。 primaryKeyGroups。 < GroupName > [索引] | 
| 主键值 | 访问特定行中主键属性的值。 | 数据表列表 | \$1。 DataTableList。 ResultData。 primaryKeyGroups。 < GroupName > [index] .primaryKeys [index] .attributeValue | 
| 属性值 | 访问特定行中非主要属性的值。 | 数据表列表 | \$1。 DataTableList。 ResultData。 primaryKeyGroups。 < GroupName > [索引] .attributes [index] .attributeValue | 

## Apple Messages for Business 属性
<a name="apple-messages-for-business-attributes"></a>

使用以下联系属性来路由 Apple Messages for Business 客户。例如，如果您在使用 Apple Messages for Business 时有不同的业务领域，则可以根据 AppleBusinessChatGroup 联系人属性分支到不同的流程。或者，如果你想将 Apple Messages for Business 消息与其他聊天消息不同的路由，你可以根据此进行分支 MessagingPlatform。


| 属性 | 说明 | 类型 | JSON | 
| --- | --- | --- | --- | 
|  MessagingPlatform  |  从中发出客户请求的消息传递平台。 确切值：**AppleBusinessChat**  | 用户定义 | \$1.属性。 MessagingPlatform | 
|  AppleBusinessChatCustomerId  |  Apple 提供的客户不透明 ID。对于 AppleID 和企业来说，这是不变的。您可以使用它来识别消息来自新客户还是老客户。  | 用户定义 | \$1.属性。 AppleBusinessChatCustomerId | 
|  AppleBusinessChatIntent  |  您可以定义聊天的意图或目的。此参数包含在 URL 中，当客户选择**商务聊天**按钮时，该 URL 会在 Messages 中启动聊天会话。  | 用户定义 | \$1.属性。 AppleBusinessChatIntent | 
|  AppleBusinessChatGroup  |  您可以定义一个小组，指定最有资格处理客户特定疑问或问题的部门或个人。此参数包含在 URL 中，当客户选择**商务聊天**按钮时，该 URL 会在 Messages 中启动聊天会话。  | 用户定义 | \$1.属性。 AppleBusinessChatGroup | 
|  AppleBusinessChatLocale  |  定义用户希望在其用户界面中看到的语言和 AWS 区域首选项。它由语言标识符 (ISO 639-1) 和区域标识符 (ISO 3166) 组成。例如，**en\$1US**。  | 用户定义 | \$1.属性。 AppleBusinessChatLocale | 
|  AppleFormCapability  |  客户设备是否支持表单。 如果为“true”，则客户设备受支持。 如果为“false”，则设备不受支持。  | 用户定义 | \$1.属性。 AppleFormCapability | 
|  AppleAuthenticationCapability  |  客户设备是否支持身份验证 (OAuth2)。如果为“true”，则客户设备受支持。如果为“false”，则他们的设备不受支持。  | 用户定义 | \$1.属性。 AppleAuthenticationCapability | 
|  AppleTimePickerCapability  |  客户设备是否支持时间选取器。 如果为“true”，则客户设备受支持。 如果为“false”，则设备不受支持。  | 用户定义 | \$1.属性。 AppleTimePickerCapability | 
|  AppleListPickerCapability  |  客户设备是否支持列表选择器。 如果为“true”，则客户设备受支持。 如果为“false”，则设备不受支持。  | 用户定义 | \$1.属性。 AppleListPickerCapability | 
|  AppleQuickReplyCapability  |  客户设备是否支持快速响应。 如果为“true”，则客户设备受支持。 如果为“false”，则设备不受支持。  | 用户定义 | \$1.属性。 AppleQuickReplyCapability | 

## “客户配置文件”属性
<a name="customer-profiles-attributes"></a>

下表列出了用于 Amazon Connect 客户配置文件的属性。

在整个流中，客户配置文件联系属性的总大小限制为 14,000 个字符（假设每个属性的最大大小为 255，则为 56 个属性）。这包括在流中作为**响应**字段保留在客户配置文件数据块中的所有值。


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
|  profileSearchKey  |  要用于搜索资料的属性的名称。  |  用户定义  |  不适用  | 
|  profileSearchValue  |  您要搜索的密钥值，例如客户名称或账号。  |  用户定义  |  不适用  | 
|  个人资料 ID  |  客户配置文件的唯一标识符。  |  文本  |  \$1.Customer。 ProfileId  | 
|  配置文件 ARN  |  客户配置文件的 ARN。  |  文本  |  \$1.Customer.ProfileARN  | 
|  名字  |  客户的名字。  |  文本  |  \$1.Customer。 FirstName  | 
|  中间名  |  客户的中间名。  |  文本  |  \$1.Customer。 MiddleName  | 
|  姓氏  |  客户的姓氏。  |  文本  |  \$1.Customer。 LastName  | 
|  账号  |  您提供给客户的唯一账号。  |  文本  |  \$1.Customer。 AccountNumber  | 
|  电子邮件地址  |  客户的电子邮件地址，未指定为个人或企业地址。  |  文本  |  \$1.Customer。 EmailAddress  | 
|  电话号码  |  客户的电话号码，未指定为手机号码、家庭号码或企业号码。  |  文本  |  \$1.Customer。 PhoneNumber  | 
|  附加信息  |  与客户的配置文件相关的任何其他信息。  |  文本  |  \$1.Customer。 AdditionalInformation  | 
|  贸易方类型  |  客户的贸易方类型。  |  文本  |  \$1.Customer。 PartyType  | 
|  企业名称  |  客户的企业名称。  |  文本  |  \$1.Customer。 BusinessName  | 
|  出生日期  |  客户的出生日期。  |  文本  |  \$1.Customer。 BirthDate  | 
|  性别  |  客户的性别。  |  文本  |  \$1.Customer.Gender  | 
|  手机号码  |  客户的手机号码。  |  文本  |  \$1.Customer。 MobilePhoneNumber  | 
|  家庭电话号码  |  客户的家庭电话号码。  |  文本  |  \$1.Customer。 HomePhoneNumber  | 
|  企业电话号码  |  客户的企业电话号码。  |  文本  |  \$1.Customer。 BusinessPhoneNumber  | 
|  企业电子邮件地址  |  客户的企业电子邮件地址。  |  文本  |  \$1.Customer。 BusinessEmailAddress  | 
|  地址  |  与客户关联的非邮寄、配送或账单地址的通用地址。  |  文本  |  \$1.Customer.Address1 \$1.Customer.Address2 \$1.Customer.Address3 \$1.Customer.Address4 \$1.Customer.City \$1.Customer.County \$1.Customer.Country \$1.Customer。 PostalCode \$1.Customer.Province \$1.Customer.State  | 
|  配送地址  |  客户的配送地址。  |  文本  |  \$1.Customer。 ShippingAddress1 \$1.Customer。 ShippingAddress2 \$1.Customer。 ShippingAddress3 \$1.Customer。 ShippingAddress4 \$1.Customer。 ShippingCity \$1.Customer。 ShippingCounty \$1.Customer。 ShippingCountry \$1.Customer。 ShippingPostalCode \$1.Customer。 ShippingProvince \$1.Customer。 ShippingState  | 
|  邮寄地址  |  客户的邮寄地址。  |  文本  |  \$1.Customer。 MailingAddress1 \$1.Customer。 MailingAddress2 \$1.Customer。 MailingAddress3 \$1.Customer。 MailingAddress4 \$1.Customer。 MailingCity \$1.Customer。 MailingCounty \$1.Customer。 MailingCountry \$1.Customer。 MailingPostalCode \$1.Customer。 MailingProvince \$1.Customer。 MailingState  | 
|  账单地址  |  客户的账单地址。  |  文本  |  \$1.Customer。 BillingAddress1 \$1.Customer。 BillingAddress2 \$1.Customer。 BillingAddress3 \$1.Customer。 BillingAddress4 \$1.Customer。 BillingCity \$1.Customer。 BillingCounty \$1.Customer。 BillingCountry \$1.Customer。 BillingPostalCode \$1.Customer。 BillingProvince \$1.Customer。 BillingState  | 
|  属性  |  客户配置文件属性的键值对。  |  文本  |  \$1.Customer.Attributes.x  | 
|  对象属性  |  客户配置文件的自定义对象属性的键值对。  |  文本  |  \$1.Customer。 ObjectAttributes.y  | 
|  计算的属性  |  客户配置文件计算的属性的键值对。  |  文本  |  \$1.Customer。 CalculatedAttributes.z  | 
|  资产  |  客户的标准资产。  |  文本  |  \$1.Customer.asset。 AssetId \$1.Customer.asset。 ProfileId \$1.Customer.asset。 AssetName \$1.Customer.asset。 SerialNumber \$1.Customer.asset。 ModelNumber \$1.Customer.asset。 ModelName \$1.Customer.Asset.ProductSKU \$1.Customer.asset。 PurchaseDate \$1.Customer.asset。 UsageEndDate \$1.Customer.Asset.Status \$1.Customer.Asset.Price \$1.Customer.Asset.Quantity \$1.Customer.Asset.Description \$1.Customer.asset。 AdditionalInformation \$1.Customer.asset。 DataSource \$1.Customer.Asset.Attributes.x  | 
|  订单  |  客户的标准订单。  |  文本  |  \$1.Customer.Order。 OrderId \$1.Customer.Order。 ProfileId \$1.Customer.Order。 CustomerEmail \$1.Customer.Order。 CustomerPhone \$1.Customer.Order。 CreatedDate \$1.Customer.Order。 UpdatedDate \$1.Customer.Order。 ProcessedDate \$1.Customer.Order。 ClosedDate \$1.Customer.Order。 CancelledDate \$1.Customer.Order。 CancelReason \$1.Customer.Order.Name \$1.Customer.Order。 AdditionalInformation \$1.Customer.Order.Gateway \$1.Customer.Order.Status \$1.Customer.Order。 StatusCode \$1.Customer.Order。 StatusUrl \$1.Customer.Order。 CreditCardNumber \$1.Customer.Order。 CreditCardCompany \$1.Customer.Order。 FulfillmentStatus \$1.Customer.Order。 TotalPrice \$1.Customer.Order。 TotalTax \$1.Customer.Order。 TotalDiscounts \$1.Customer.Order。 TotalItemsPrice \$1.Customer.Order。 TotalShippingPrice \$1.Customer.Order。 TotalTipReceived \$1.Customer.Order.Currency \$1.Customer.Order。 TotalWeight \$1.Customer.Order。 BillingName \$1.Customer.Order。 BillingAddress1 \$1.Customer.Order。 BillingAddress2 \$1.Customer.Order。 BillingAddress3 \$1.Customer.Order。 BillingAddress4 \$1.Customer.Order。 BillingCity \$1.Customer.Order。 BillingCounty \$1.Customer.Order。 BillingCountry \$1.Customer.Order。 BillingPostalCode \$1.Customer.Order。 BillingProvince \$1.Customer.Order。 BillingState \$1.Customer.Order。 ShippingName \$1.Customer.Order。 ShippingAddress1 \$1.Customer.Order。 ShippingAddress2 \$1.Customer.Order。 ShippingAddress3 \$1.Customer.Order。 ShippingAddress4 \$1.Customer.Order。 ShippingCity \$1.Customer.Order。 ShippingCounty \$1.Customer.Order。 ShippingCountry \$1.Customer.Order。 ShippingPostalCode \$1.Customer.Order。 ShippingProvince \$1.Customer.Order。 ShippingState \$1.Customer.Order.Attributes.y  | 
|  案例  |  客户的标准案例。  |  文本  |  \$1.Customer.case。 CaseId \$1.Customer.case。 ProfileId \$1.Customer.Case.Title \$1.Customer.Case.Summary \$1.Customer.Case.Status \$1.Customer.Case.Reason \$1.Customer.case。 CreatedBy \$1.Customer.case。 CreatedDate \$1.Customer.case。 UpdatedDate \$1.Customer.case。 ClosedDate \$1.Customer.case。 AdditionalInformation \$1.Customer.case。 DataSource \$1.Customer.Case.Attributes.z  | 

## 出站活动属性
<a name="campaign-attributes"></a>

您可以使用 Amazon Pinpoint [区段](https://docs.aws.amazon.com/pinpoint/latest/userguide/segments-building.html)列表中的数据来自定义 Amazon Connect 流程中的体验。要引用区段列表中的数据，请使用 **\$1.Attributes。 *attribute coming in the segment***。例如，如果您的区段包含两列 “属性”。 FirstName” 和 “属性。 ItemDescription，你可以把它们称为：
+ \$1.属性。 FirstName
+ \$1.属性。 ItemDescription

有关更多信息，请参阅《Amazon Pinpoint 用户指南》**中的[将个性化内容添加到消息模板](https://docs.aws.amazon.com/pinpoint/latest/userguide/message-templates-personalizing.html)。

## Connect AI 代理属性
<a name="qic-attributes"></a>

以下属性存储 Connect AI 代理会话 ARN。此属性的一个用例是您想要执行任何 API 操作，例如[UpdateSession[UpdateSessionData](https://docs.aws.amazon.com/connect/latest/APIReference/API_amazon-q-connect_UpdateSessionData.html)](https://docs.aws.amazon.com/connect/latest/APIReference/API_amazon-q-connect_UpdateSession.html)。您可以将该属性作为输入传递给[AWS Lambda 函数](invoke-lambda-function-block.md)数据块。而且 Lambda 可以根据输入会话 ARN 调用它们。 APIs 


| 属性 | 说明 | Type | JSONPath 参考 | 
| --- | --- | --- | --- | 
|  SessionArn  |  Connect AI 代理会话的亚马逊资源名称 (ARN)。  |  流  |  \$1.Wisdom。 SessionArn  | 

# 如何在 Amazon Connect 中引用联系属性
<a name="how-to-reference-attributes"></a>

引用联系属性的方式取决于这些属性是如何创建的，以及您如何访问它们。
+ 有关每个属性的 JSON 语法，请参阅[Amazon Connect 中可用的联系人属性列表及其 JSONPath 参考文献](connect-attrib-list.md)。
+ 要引用名称中包含特殊字符（例如空格）的属性，请在属性名称前后加上方括号和单引号。例如：` $.Attributes.['user attribute name']`。
+ 要引用同一命名空间中的属性（如系统属性），可以使用属性名称或您指定为**目标键**的名称。
+ 要引用其他命名空间中的值，例如引用外部属性，请指定该属性的 JSONPath 语法。
+ 要使用联系属性访问其他资源，可在您的流中设置用户定义的属性，并将您希望访问的资源的 Amazon 资源名称（ARN）作为属性值。

## Lambda 示例
<a name="lambda-examples"></a>
+ 要从 Lambda 函数查询中引用客户名称，请使用 \$1.External。 AttributeKey， AttributeKey 替换为 Lambda 函数返回的属性的密钥（或名称）。
+ 要在 Lambda 函数中使用 Amazon Connect 提示，可将一个用户定义的属性设置为该提示的 ARN，然后从 Lambda 函数访问该属性。

## Amazon Lex 示例
<a name="lex-examples"></a>
+ 要引用 Amazon Lex 机器人的属性，请使用 \$1.Lex. 格式，然后加入要引用的亚马逊 Lex 机器人部分，例如 \$1.Lex。 IntentName。
+ 要对 Amazon Lex 自动程序槽引用客户输入，可使用 \$1.Lex.Slots.*slotName*，用自动程序中的槽名称替换 *slotName*。

## 设置联系属性示例
<a name="set-contact-attribute-example"></a>

使用[设置联系属性](set-contact-attributes.md)数据块可设置稍后在流中引用的值。例如，基于客户账户类型，为路由到队列的客户创建个性化的问候语。也可以为公司名或业务线定义一个属性，以包括在说给客户听的“文本到语音转换”字符串中。[设置联系属性](set-contact-attributes.md)数据块可用于将从外部源检索的属性复制到用户定义的属性中。

**使用[设置联系属性](set-contact-attributes.md)数据块设置联系属性**

1. 在 Amazon Connect 中，选择**路由**、**联系流**。

1. 选择一个现有流，或创建一个新的流。

1. 添加一个[设置联系属性](set-contact-attributes.md)数据块。

1. 编辑[设置联系属性](set-contact-attributes.md)数据块，然后选择**使用文本**。

1. 对于**目标键**，请提供属性名称，如*公司*。这是在其他数据块中使用或引用属性时用于**属性**字段的值。对于**值**，请使用您的公司名称。

   也可以选择在现有属性基础上创建新的属性。

# 在联系控制面板 (CCP) 中向座席显示联系信息
<a name="use-attribs-ccp"></a>

您可以使用联系属性捕获有关联系人的信息，然后通过联系人控制面板 (CCP) 将其呈现给座席。例如，在使用与客户关系管理 (CRM) 应用程序集成的 CCP 时，您可能希望通过这样来自定义座席体验。

另外在使用 Amazon Connect 流 API 或 Amazon Connect API 将 Amazon Connect 与自定义应用程序集成时，也可以使用它们。除了客户号码和被叫号码外，您还可以使用 Amazon Connect Streams JavaScript 库在 CCP 中使用所有用户定义的属性。有关更多信息，请参阅 [Amazon Connect 流 API](https://github.com/aws/amazon-connect-streams) 或 Amazon Connect API。

在使用 Amazon Connect 流 API 时，您可以通过调用 contact.getAttributes() 访问用户定义的属性。您可以通过 contact.getConnections() 访问端点，其中的连接具有 getEndpoint() 调用。

要直接从 Lambda 函数访问该属性，请使用 \$1.External。 AttributeName。如果该属性存储到[设置联系属性](set-contact-attributes.md)块中用户定义的属性中，请使用 \$1.Attributes。 AttributeName。

例如，您的 Amazon Connect 实例中附带了一个名为“Sample note for screenpop”的流。在此流中，[设置联系属性](set-contact-attributes.md)数据块用于根据文本字符串创建属性。可将作为属性的该文本传递给 CCP 以向座席显示备注。

# 在 Amazon Connect 中使用属性，根据队列中联系人的数量进行路由
<a name="attrib-system-metrics"></a>

Amazon Connect 中包含队列属性，可以帮助您在流中根据有关联络中心内队列和座席的实时指标定义路由条件。例如，以下是一些常见的使用场景：
+ 检查队列中联系人或可用座席的数量以及队列中最早的联系人已等候的时间，然后进行相应的路由。
+ 要路由到联系人最少的队列，请执行以下操作：

  1. 获取多个队列的指标。

  1. 使用[设置联系属性](set-contact-attributes.md)数据块存储每个队列的指标属性。

  1. 使用[检查联系属性](check-contact-attributes.md)数据块比较队列指标属性，将联系人路由到包含最少呼叫数的队列，如果所有队列都忙，则路由到回拨。

# 使用“检查联系属性”数据块将联系人路由到队列


1. 在 Amazon Connect 中，选择**路由**、**联系流**。

1. 打开一个现有流，或创建一个新的流。

1. （可选）在**交互**下，为设计器添加一个**播放提示**数据块，以向客户播放问候语。在**入口点**数据块和**播放提示**数据块之间，添加一个连接器。

1. 在**设置**下，将**获取队列指标**数据块拖至设计器上，将**播放提示**数据块的**正常**分支连接到该数据块。

1. 选择**获取队列指标**数据块的标题以打开该数据块的属性。默认情况下，该数据块会检索当前工作队列的指标。要检索不同队列的指标，请选择**设置队列**。

1. 选择**选择队列**，从下拉列表中选择要检索其指标的队列，然后选择**保存**。

   也可以使用联系属性确定要检索其指标的队列。

1. 在**检查**下，将**检查联系属性**数据块拖至设计器上。

1. 选择数据块的标题以显示数据块的设置。然后，在**要检查的属性**下，从**类型**下拉菜单中选择**队列指标**。

1. 在**属性**下，选择**队列中的联系人**。

1. 要使用条件来路由联系人，请选择**添加另一个条件**。

   默认情况下，**检查联系属性**数据块只包含一个条件，即**无匹配项**。当您在数据块中定义的任何条件均无匹配项时，将遵循**无匹配项**分支。

1. 在**要检查的条件**下，从下拉菜单中选择**小于**作为条件的运算符，然后在值字段中输入 5。

1. 选择**添加另一个条件**，从下拉菜单中选择**大于等于**，然后在值字段中输入 5。

1. 选择**保存**。

   现在，可以看到**检查联系属性**数据块中有两个新的输出分支。

现在，可以将额外的数据块添加到流中，以根据需要路由联系人。例如，将 < 5 分支连接到**转接到队列**数据块，以在队列中当前呼叫数小于 5 时将呼叫转接到队列。将 > 5 分支连接到“设置客户回拨号码”数据块，然后使用**转接到队列**数据块，将呼叫转接到回拨队列，这样，客户那边就不必一直处于等候状态了。

## 根据队列指标路由联系人
<a name="route-based-on-queue-metrics"></a>

许多联络中心会根据排队等候的联系人数量路由客户。本主题说明了如何配置与下图类似的流。它显示了由“成功”分支连接的以下三个流数据块：**设置联系属性**、**获取队列指标**和**检查联系属性**。

![\[上面有三个流数据块的流设计器。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/get-metrics-specify-set-contact-attributes.png)


1. 将[设置联系属性](set-contact-attributes.md)数据块添加到流中。

1. 在[设置联系属性](set-contact-attributes.md)中，指定渠道。如果使用文本动态设置渠道，请为属性值输入**语音**或**聊天**，如下图所示。此值不区分大小写。  
![\[“设置联系属性”数据块的属性页面。命名空间设置为“用户定义”，值设置为聊天。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/get-metrics-properties2.png)

1. 将[获取指标](get-queue-metrics.md)数据块添加到流中。

 在“获取队列指标”数据块中，动态属性只能返回一个渠道的指标

## 在“获取队列指标”数据块后添加“检查联系属性”数据块
<a name="get-metrics-tips2"></a>

在**获取队列指标**数据块后，根据返回的指标将[检查联系属性](check-contact-attributes.md)数据块添加到分支。使用以下步骤：

1. 在**获取指标**之后，添加**检查联系属性**数据块。

1. 在**检查联系属性**数据块中，将**要检查的属性**设置为**队列指标**。

1. 在**属性**下拉框中，您将看到由**获取队列指标**数据块返回的以下队列指标。选择要用于路由决策的指标。  
![\[在“检查联系属性”数据块的属性页面，命名空间设置为“队列指标”。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/get-metrics-block-returned-metrics.png)

1. 选择**添加条件**，输入路由决策的比较结果。下图显示了为检查队列中的联系人是否大于 5 而配置的数据块。  
![\[“要检查的属性”部分，“要检查的条件”部分。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/get-metrics-check-attributes-block.png)

# 根据联系人与联络中心的联系方式，对他们的体验进行个性化设置
<a name="use-channel-contact-attribute"></a>

您可以根据客户联系您的渠道，来个性化客户的体验。您需要执行以下操作：

1. 将**检查联系属性**数据块添加到流的开头。

1. 配置该数据块，如下图所示。在**要检查的属性**部分，将**类型**设置为**系统**，将**属性**设置为**渠道**。在**要检查的条件**部分，将其设置为**等于聊天**。  
![\[“要检查的属性”部分设置为“渠道”，“要检查的条件”部分设置为“聊天”。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/channel-attribute.png)

1. 下图是已配置的“检查联系属性”数据块，显示了两个分支：**聊天**和**无匹配项**。如果客户通过聊天联系您，请指定接下来应发生什么。如果客户通过呼叫联系您（无匹配项），请指定流中的下一步操作。  
![\[已配置的“检查联系属性”数据块。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/channel-attribute-flow.png)

# 使用 Amazon Lex 和属性值
<a name="attribs-cust-input-lex-bot"></a>

在**获取客户输入**数据块中引用属性并选择 Amazon Lex 作为收集输入的方法时，将从客户与 Amazon Lex 自动程序交互的输出中检索并存储属性值。可以使用 Amazon Lex 自动程序中所用的每个意图或槽的属性以及与该自动程序关联的会话属性。针对您包括的每个意图，都会在数据块中添加一个输出分支。当客户在与自动程序交互时选择了一个意图，将在流中遵循与该目关联的分支。

有关您可以使用 Amazon Lex 属性以及从 Lex 自动程序中获取的属性列表，请参阅 [Amazon Lex 联系属性](connect-attrib-list.md#attribs-lex-table)。

# 使用 Amazon Lex 自动程序获取客户输入


1. 打开一个现有流，或创建一个新的流。

1. 在**交互**下，将**获取客户输入**数据块拖至设计器。

1. 选择该数据块的标题以显示数据块设置，然后选择**文字转语音（即席）**。

1. 选择**输入文本**，然后在**输入要说的文本**字段中输入文本，作为传递给客户的信息或问候语。例如，在“感谢来电”之后，请求输入信息以满足您在 Amazon Lex 自动程序中定义的意图。

1. 选择 **Amazon Lex** 选项卡，然后从下拉菜单中选择 Amazon Lex 自动程序以用于获取客户输入。

1. 默认情况下，将用 \$1LATEST 来填充**别名**字段。要使用自动程序的不同别名，请输入要使用的别名值。
**重要**  
在生产环境中，请务必使用与 Amazon Lex 不同的别名，**TestBotAlias**对于 Amazon Lex classic，请务必使用**与 \$1** LATEST 不同的别名。 **TestBotAlias**而且 **\$1LATES** T 支持对 Amazon Lex 机器人进行有限数量的并发调用。有关更多信息，请参阅[运行时限额](https://docs.aws.amazon.com/lexv2/latest/dg/quotas.html#quotas-service)或[运行时服务限额 (Amazon Lex Classic)](https://docs.aws.amazon.com/lex/latest/dg/gl-limits.html#gl-limits-runtime)。

1. （可选）要传递一个属性到 Amazon Lex 以用作会话属性，请选择**添加属性**。指定要使用文本还是属性传递值。

1. 要基于客户意图从数据块创建一个分支，请选择**添加意图**，然后输入和您的自动程序中完全一样的意图名称。

1. 选择**保存**。

# 在 Amazon Lex 中使用备用意图属性
<a name="alternate-intent-attributes"></a>

通常情况下，您可以将流配置为根据匹配的 Lex 意图进行分支。但在某些情况下，您可能希望在备用意图上进行分支。也就是说，客户可能的意图。

下图显示了**检查联系属性**数据块的**属性**页面。它被配置为检查 Lex 属性。

![\[“检查联系属性”数据块的属性页面。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/check-contact-attributes-alternate-intents.png)


1. **意图名称**是 Lex 中备用意图的名称。它区分大小写，必须与 Lex 中的内容完全匹配。

1. **意图属性**是 Amazon Connect 要检查的内容。在此示例中，它将检查**意图置信度分数**。

1. **要检查的条件**：如果 Lex 有 70% 的把握认为客户指的是备用意图而不是匹配意图，那就分支。

# 流数据块如何使用 Amazon Lex 会话属性
<a name="how-to-use-session-attributes"></a>

当用户启动与自动程序的对话时，Amazon Lex 将创建一个*会话*。利用*会话属性*（也称为 *Lex 属性*），您可以在会话期间，在自动程序与 Amazon Connect 之间传递信息。有关您可以使用的 Amazon Lex 属性的列表，请参阅 [Amazon Lex 联系属性](connect-attrib-list.md#attribs-lex-table)。

## 会话属性的生命周期
<a name="session-attribute-lifecycle"></a>

每个对话都包含一组会话属性。在调用 AWS Lambda 函数进行某些处理时，Amazon Lex 会按以下顺序运行属性：
+ 服务默认值：仅在未定义任何属性时才使用这些属性。
+ Amazon Connect 提供的会话属性：这些属性是在 [获取客户输入](get-customer-input.md) 数据块中定义的。
+ Lambda 提供的会话属性会覆盖之前的所有内容：当 AWS Lambda 函数被调用并进行一些处理时，它会覆盖 [获取客户输入](get-customer-input.md) 数据块中设置的任何会话属性。

假设一位客户说他们想要**一辆车**。这是第一个要经过处理的会话属性。当被问及是哪种汽车时，他们说的是**豪华车**。第二句话会覆盖对第一句话进行的任何 Lambda 处理。

有关如何创建处理会话属性的 Lambda 函数的示例，请参阅《Amazon Lex 开发人员指南》**中的[第 1 步：创建 Lambda 函数](https://docs.aws.amazon.com/lex/latest/dg/gs2-prepare.html)。有关 Amazon Lex V2 的信息，请参阅[设置会话属性](https://docs.aws.amazon.com/lexv2/latest/dg/context-mgmt-session-attribs.html)。

有关 Amazon Lex 提供给 Lambda 函数的事件数据结构，请参阅《Amazon Lex 开发人员指南》**中的 [Lambda 函数输入事件和响应格式](https://docs.aws.amazon.com/lex/latest/dg/lambda-input-response-format.html)。有关 Amazon Lex V2 的信息，请参阅[解释输入事件格式](https://docs.aws.amazon.com/lexv2/latest/dg/lambda-input-format.html)。

## 支持 Lex 会话属性的流数据块
<a name="blocks-support-lex-session-attributes"></a>

在调用 Lex 自动程序时，您可以在以下流数据块中使用 Lex 会话属性：
+  [更改路由优先级/龄期](change-routing-priority.md) 
+  [检查联系属性](check-contact-attributes.md) 
+  [获取客户输入](get-customer-input.md) 
+  [AWS Lambda 函数](invoke-lambda-function-block.md) 
+  [循环](loop.md) 
+  [设置回拨号码](set-callback-number.md) 
+  [设置联系属性](set-contact-attributes.md) 
+  [设置客户队列流](set-customer-queue-flow.md) 
+  [设置断开连接流](set-disconnect-flow.md) 
+  [设置保持流](set-hold-flow.md) 
+  [设置日志记录行为](set-logging-behavior.md) 
+  [设置私密消息流](set-whisper-flow.md) 
+  [设置工作队列](set-working-queue.md) 
+  [转接流](transfer-to-flow.md) 
+  [转接到电话号码](transfer-to-phone-number.md) 
+  [Wait](wait.md) 

### 更多信息
<a name="more-info-attributes"></a>

有关使用 Amazon Lex 会话属性的更多信息，请参阅《Amazon Amazon Lex V1 开发人员指南》**中的[管理对话上下文](https://docs.aws.amazon.com/lex/latest/dg/context-mgmt.html)。

# 如何对语音和聊天使用同一 Amazon Lex 自动程序
<a name="one-bot-voice-chat"></a>

您可以对语音和聊天使用同一自动程序。但是，您可能希望自动程序根据渠道做出不同的响应。例如，您希望为语音返回 SSML，以便将数字作为电话号码读取，但您希望向聊天返回正常文本。您可以通过传递**渠道**属性来实现此目的。

1. 在**获取客户输入**数据块中，选择 **Amazon Lex** 选项卡。

1. 在**会话属性**下，选择**添加一个属性**。在**目标密钥**框中，输入**电话号码**。选择**动态设置**。在**命名空间**框中，选择**系统**，然后在**值**框中选择**客户号码**，如下图所示。  
![\[“获取客户输入”数据块的属性页面，“会话属性”部分。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/session_attributes_customer_number.png)

1. 再次选择**添加一个属性**。

1. 选择**动态设置**。在**目标密钥**框中，输入**呼叫类型**。在**命名空间**框中，选择**系统**，然后在**值**框中选择**渠道**，如下图所示。  
![\[“动态设置”部分。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/session_attributes_call_type_channel.png)

1. 选择**保存**。

1. 在 Lambda 函数中，您可以在传入事件的 `SessionAttributes` 字段中访问此值。

# 将来自 Lambda 函数的值作为联系属性存储在 Amazon Connect 中
<a name="attribs-with-lambda"></a>

通过 Lambda 函数检索您组织内部使用的系统 （如订单系统或其他数据库）的数据，将相关值存储为稍后可在流中引用的属性。

Lambda 函数以键值对数据的形式从内部系统返回响应。您可以在外部命名空间中引用返回的值。例如 `$.External.attributeName`。要稍后在流中使用属性，您可以使用**设置联系属性**数据块，将键值对复制到用户定义的属性。然后，您可以使用**检查联系属性**数据块定义逻辑，基于属性值对联系人进行分支。调用任何其他 Lambda 函数时，从 Lambda 函数获取的任何联系属性都会被覆盖。如果您想稍后在流中引用外部属性，您必须存储它们。

**提示**  
有关从流程调用 Lambda 函数的信息，请参阅[授予 Amazon Connect 访问您的 AWS Lambda 功能的权限](connect-lambda-functions.md)。该主题还展示了如何使用 Lambda 函数响应。

**将来自 Lambda 函数的外部值存储为联系属性**

1. 在 Amazon Connect 中，选择**路由**、**联系流**。

1. 选择一个现有流，或创建一个新的流。

1. 添加[AWS Lambda 函数](invoke-lambda-function-block.md)数据块，然后选择数据块的标题以打开数据块的设置。

1. 将**函数 ARN** 添加到从内部系统检索客户数据的 AWS Lambda 函数中。

1. 在[AWS Lambda 函数](invoke-lambda-function-block.md)数据块之后，添加一个**设置联系属性**数据块，然后将[AWS Lambda 函数](invoke-lambda-function-block.md)数据块的**成功**分支连接到该数据块。

1. 编辑**设置联系属性**数据块，并选择**使用属性**。

1. 对于**目标键**，键入一个名称作为对属性的引用，例如 customerName。这是您在其他数据块的**属性**字段中用来引用该属性的值。

1. 对于**类型**，选择**外部**。

1. 对于**属性**，键入从 Lambda 函数返回的属性名称。根据您的内部系统和所使用的函数，从该函数返回的属性名称会有所不同。

在流期间执行此数据块后，该值会作为用户定义的属性并以**目标键**指定的名称（这里为 *customerName*）保存。可以在任何使用动态属性的数据块中访问它。

要基于外部属性的值（如账号）分开您的流，请使用**检查联系属性**数据块，然后添加一个条件并将其与属性值进行比较。接下来，基于该条件对流进行分支。

****

1. 在**检查联系属性**数据块中，针对**要检查的属性**，执行以下操作之一：
   + 选择**外部**作为**类型**，然后在**属性**字段中输入从 Lambda 函数返回的密钥名称。
**重要**  
当您调用任何其他 Lambda AWS Lambda 函数时，从函数返回的任何属性都会被覆盖。若要日后在流中引用属性，可将其存储为用户定义的属性。
   + 对于**类型**，选择**用户定义**，然后在**属性**字段中，键入您在**设置联系属性**数据块中指定为**目标键**的名称。

1. 选择**添加另一个条件**。

1. 在**要检查的条件**下，选择条件运算符，然后输入一个要与属性值进行比较的值。此数据块会为您输入的每个比较创建一个分支，让您根据指定的条件对联系人进行路由。如果没有条件匹配，则联系人采用数据块的**无匹配项**分支。