Experience PlatformAPI基础知识
Adobe Experience Platform API使用多种基础技术和语法,这些技术和语法对于有效管理基于JSON的Platform资源非常重要。 本文档提供了这些技术的简要概述,以及指向外部文档的链接以了解更多信息。
JSON指针 json-pointer
JSON指针是一个标准化的字符串语法(RFC 6901),用于标识JSON文档中的特定值。 JSON指针是以/
字符分隔的令牌字符串,用于指定对象键或数组索引,并且令牌可以是字符串或数字。 Platform API的许多PATCH操作中都使用了JSON指针字符串,如本文档后面所述。 有关JSON指针的更多信息,请参阅JSON指针概述文档。
示例JSON模式对象
以下JSON表示简化的XDM架构,其字段可以使用JSON指针字符串引用。 请注意,使用自定义架构字段组(如loyaltyLevel
)添加的所有字段都在_{TENANT_ID}
对象下命名空间,而使用核心字段组(如fullName
)添加的字段则不是。
{
"$id": "https://ns.adobe.com/{TENANT_ID}/schemas/85a4bdaa168b01bf44384e049fbd3d2e9b2ffaca440d35b9",
"meta:altId": "_{TENANT_ID}.schemas.85a4bdaa168b01bf44384e049fbd3d2e9b2ffaca440d35b9",
"meta:resourceType": "schemas",
"version": "1.0",
"title": "Example schema",
"type": "object",
"description": "This is an example schema.",
"properties": {
"_{TENANT_ID}": {
"type": "object",
"properties": {
"loyaltyLevel": {
"title": "Loyalty Level",
"description": "",
"type": "string",
"isRequired": false,
"enum": [
"platinum",
"gold",
"silver",
"bronze"
]
}
}
},
"person": {
"title": "Person",
"description": "An individual actor, contact, or owner.",
"type": "object",
"properties": {
"name": {
"title": "Full name",
"description": "The person's full name.",
"type": "object",
"properties": {
"fullName": {
"title": "Full name",
"type": "string",
"description": "The full name of the person, in writing order most commonly accepted in the language of the name.",
},
"suffix": {
"title": "Suffix",
"type": "string",
"description": "A group of letters provided after a person's name to provide additional information. The `suffix` is used at the end of someones name. For example Jr., Sr., M.D., PhD, I, II, III, etc.",
}
},
"meta:referencedFrom": "https://ns.adobe.com/xdm/context/person-name",
"meta:xdmField": "xdm:name"
}
}
}
}
}
基于模式对象的JSON指针示例
"/title"
"Example schema"
"/properties/person/properties/name/properties/fullName"
fullName
字段的引用。)"/properties/_{TENANT_ID}/properties/loyaltyLevel"
loyaltyLevel
字段的引用。)"/properties/_{TENANT_ID}/properties/loyaltyLevel/enum"
["platinum", "gold", "silver", "bronze"]
"/properties/_{TENANT_ID}/properties/loyaltyLevel/enum/0"
"platinum"
xdm:sourceProperty
和xdm:destinationProperty
属性时,任何properties
键都必须从JSON指针字符串中 排除。 有关详细信息,请参阅描述符上的Schema Registry API开发人员指南子指南。JSON修补程序 json-patch
Platform API许多PATCH操作都接受JSON修补程序对象作为其请求负载。 JSON修补程序是一种用于描述JSON文档更改的标准化格式(RFC 6902)。 它允许您定义对JSON的部分更新,而无需在请求正文中发送整个文档。
示例JSON修补程序对象
{
"op": "remove",
"path": "/foo"
}
-
op
:修补操作的类型。 虽然JSON修补程序支持多种不同的操作类型,但并非所有Platform API中的PATCH操作都与每种操作类型兼容。 可用的操作类型包括:add
remove
replace
copy
move
test
-
path
:要更新的JSON结构部分,使用JSON指针表示法标识。
根据op
中指示的操作类型,JSON修补程序对象可能需要其他属性。 有关不同的JSON修补程序操作及其所需语法的更多信息,请参阅JSON修补程序文档。
JSON架构 json-schema
JSON模式是一种用于描述和验证JSON数据结构的格式。 体验数据模型(XDM)利用JSON架构功能对摄取的客户体验数据的结构和格式实施约束。 有关JSON架构的更多信息,请参阅官方文档。
后续步骤
本文档介绍了与管理Experience Platform的基于JSON的资源相关的一些技术和语法。 有关使用平台API(包括最佳实践)的更多信息,请参阅快速入门指南。 有关常见问题的解答,请参阅平台疑难解答指南。