计算属性API端点
计算属性是用于将事件级数据聚合到配置文件级属性的函数。 这些函数是自动计算的,以便在分段、激活和个性化中使用它们。 本指南包含使用/attributes
端点执行基本CRUD操作的示例API调用。
若要了解有关计算属性的更多信息,请先阅读计算属性概述。
快速入门
本指南中使用的API端点是实时客户个人资料API的一部分。
在继续之前,请查看配置文件API快速入门指南,以获取推荐文档的链接、阅读此文档中显示的示例API调用的指南,以及有关成功调用任何Experience PlatformAPI所需的所需标头的重要信息。
此外,请查看以下服务的文档:
- Experience Data Model (XDM) System: Experience Platform用于组织客户体验数据的标准化框架。
- 架构注册表快速入门指南:提供了有关本指南的响应中显示的
{TENANT_ID}
的信息。
- 架构注册表快速入门指南:提供了有关本指南的响应中显示的
检索计算属性列表 list
您可以通过向/attributes
端点发出GET请求来检索组织的所有计算属性的列表。
API格式
/attributes
端点支持多个查询参数以帮助筛选结果。 虽然这些参数是可选的,但强烈建议使用这些参数,以帮助在列出资源时减少昂贵的开销。 如果您在不使用参数的情况下调用此端点,则将检索对您的组织可用的所有计算属性。 可以包含多个参数,以&符号(&
)分隔。
GET /attributes
GET /attributes?{QUERY_PARAMETERS}
在检索计算属性列表时,可以使用以下查询参数:
limit
limit=20
offset
offset=5
sortBy
name
、status
、updateEpoch
和createEpoch
。 您还可以通过在排序选项前面不包含或包含-
来选择是按升序排序还是按降序排序。 默认情况下,这些项将按updateEpoch
降序排序。sortBy=name
property
一个参数,可让您筛选各种计算属性字段。 支持的属性包括name
、createEpoch
、mergeFunction.value
、updateEpoch
和status
。 支持的操作取决于列出的属性。
name
:EQUAL
(=),NOT_EQUAL
(!=),CONTAINS
(=contains()),NOT_CONTAINS
(=!contains())createEpoch
:GREATER_THAN_OR_EQUALS
(<=),LESS_THAN_OR_EQUALS
(>=)mergeFunction.value
:EQUAL
(=),NOT_EQUAL
(!=),CONTAINS
(=contains()),NOT_CONTAINS
(=!contains())updateEpoch
:GREATER_THAN_OR_EQUALS
(<=),LESS_THAN_OR_EQUALS
(>=)status
:EQUAL
(=),NOT_EQUAL
(!=),CONTAINS
(=contains()),NOT_CONTAINS
(=!contains())
property=updateEpoch>=1683669114845
property=name!=testingrelease
property=status=contains(new,processing,disabled)
请求
以下请求检索组织中更新的最后三个计算属性。
code language-shell |
---|
|
响应
成功的响应返回HTTP状态200,其中包含属于您的组织和沙盒的最后3个已更新计算属性的列表。
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
属性 | 描述 |
_links |
一个对象,其中包含访问最后一页结果、下一页结果、上一页结果或当前页结果所需的分页信息。 |
computedAttributes |
一个数组,其中包含基于查询参数的计算属性。 有关计算属性数组的详细信息,请参阅检索特定的计算属性节。 |
_page |
包含有关返回结果的元数据的对象。 其中包括有关当前偏移、返回的计算属性的计数、计算属性的总计数以及返回的计算属性的限制的信息。 |
创建计算属性 create
要创建计算属性,首先向/attributes
端点发出POST请求,请求正文包含要创建的计算属性的详细信息。
API格式
POST /attributes
请求
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 | |
---|---|
属性 | 描述 |
name |
计算属性字段的名称(以字符串形式)。 计算属性的名称只能由字母数字字符组成,不能有任何空格或下划线。 此值 在所有计算属性中必须 是唯一的。 作为最佳实践,此名称应该是displayName 的camelCase版本。 |
description |
计算属性的描述。 定义多个计算属性后,此功能会特别有用,因为它有助于组织内的其他人确定要使用的正确计算属性。 |
displayName |
计算属性的显示名称。 这是在Adobe Experience Platform UI中列出计算属性时将显示的名称。 |
expression |
一个对象,表示您尝试创建的计算属性的查询表达式。 |
expression.type |
表达式的类型。 目前,仅支持PQL。 |
expression.format |
表达式的格式。 当前仅支持pql/text 。 |
expression.value |
表达式的值。 |
keepCurrent |
一个布尔值,用于确定使用快速刷新使计算属性的值保持最新。 目前,此值应设置为false 。 |
duration |
表示计算属性的回顾期间的对象。 回顾时间范围表示计算计算属性时回顾的时间范围。 |
duration.count |
表示回顾期间的持续时间的数字。 可能的值取决于
|
duration.unit |
一个字符串,表示将用于回顾期间的时间单位。 可能的值包括: HOURS 、DAYS 、WEEKS 和MONTHS 。 |
status |
计算属性的状态。 可能的值包括DRAFT 和NEW 。 |
响应
成功的响应返回HTTP状态200,其中包含有关新创建的计算属性的信息。
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 | |
---|---|
属性 | 描述 |
id |
新创建的计算属性的系统生成的ID。 |
status |
计算属性的状态。 这可以是DRAFT 或NEW 。 |
createEpoch |
计算属性的创建时间(以秒为单位)。 |
updateEpoch |
上次更新计算属性的时间(以秒为单位)。 |
createdBy |
创建计算属性的用户的ID。 |
检索特定的计算属性 get
通过向/attributes
端点发出GET请求并提供要在请求路径中检索的计算属性的ID,可以检索有关特定计算属性的详细信息。
API格式
GET /attributes/{ATTRIBUTE_ID}
请求
code language-shell |
---|
|
响应
成功的响应返回HTTP状态200,其中包含有关指定计算属性的详细信息。
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 16-row-2 17-row-2 | |
---|---|
属性 | 描述 |
id |
系统生成的唯一只读ID,可用于在其他API操作期间引用计算属性。 |
type |
一个字符串,它表明返回的对象是计算属性。 |
name |
计算属性的名称。 |
displayName |
计算属性的显示名称。 这是在Adobe Experience Platform UI中列出计算属性时将显示的名称。 |
description |
计算属性的描述。 定义多个计算属性后,此功能会特别有用,因为它有助于组织内的其他人确定要使用的正确计算属性。 |
imsOrgId |
计算属性所属的组织的ID。 |
sandbox |
沙盒对象包含在其中配置计算属性的沙盒的详细信息。 此信息摘自在请求中发送的沙盒标头。 有关详细信息,请参阅沙盒概述。 |
path |
计算属性的path 。 |
keepCurrent |
一个布尔值,用于确定使用快速刷新使计算属性的值保持最新。 |
expression |
包含计算属性的表达式的对象。 |
mergeFunction |
包含计算属性的合并函数的对象。 此值基于计算属性的表达式中对应的聚合参数。 可能的值包括SUM 、MIN 、MAX 和MOST_RECENT 。 |
status |
计算属性的状态。 此值可以是以下值之一:DRAFT 、NEW 、INITIALIZING 、PROCESSING 、PROCESSED 、FAILED 或DISABLED 。 |
schema |
一个对象,其中包含有关在其中计算表达式的方案的信息。 当前仅支持_xdm.context.profile 。 |
lastEvaluationTs |
表示计算属性的上次评估时间的时间戳。 |
createEpoch |
计算属性的创建时间(以秒为单位)。 |
updateEpoch |
上次更新计算属性的时间(以秒为单位)。 |
createdBy |
创建计算属性的用户的ID。 |
删除特定的计算属性 delete
通过向/attributes
端点发出DELETE请求并在请求路径中提供要删除的计算属性的ID,可以删除特定的计算属性。
DRAFT
)的计算属性。 此终结点 不能 用于删除处于任何其他状态的计算属性。API格式
DELETE /attributes/{ATTRIBUTE_ID}
{ATTRIBUTE_ID}
id
值。请求
code language-shell |
---|
|
响应
成功的响应返回HTTP状态202,其中包含已删除计算属性的详细信息。
code language-json |
---|
|
更新特定的计算属性
您可以通过向/attributes
端点发出PATCH请求并在请求路径中提供要更新的计算属性的ID来更新特定的计算属性。
- 如果当前状态为
NEW
,则状态只能更改为DISABLED
。 - 如果当前状态为
DRAFT
,则可以更改以下字段的值:name
、description
、keepCurrent
、expression
和duration
。 您还可以将状态从DRAFT
更改为NEW
。 对系统生成的字段(如mergeFunction
或path
)所做的任何更改都将返回错误。 - 如果当前状态为
PROCESSING
或PROCESSED
,则状态只能更改为DISABLED
。
API格式
PATCH /attributes/{ATTRIBUTE_ID}
{ATTRIBUTE_ID}
id
值。请求
以下请求会将计算属性的状态从DRAFT
更新为NEW
。
code language-shell |
---|
|
响应
成功的响应返回HTTP状态200,其中包含有关新更新的计算属性的信息。
code language-json |
---|
|
后续步骤
现在,您已了解计算属性的基础知识,可以开始为组织定义这些属性了。 要了解如何在Experience PlatformUI中使用计算属性,请阅读计算属性UI指南。