Adobe Experience Platform API使用多种底层技术和语法,这些技术和语法对于有效管理基于JSON的文档非常重要 Platform 资源。 本文档简要概述这些技术,并提供指向外部文档的链接以了解更多信息。
JSON指针是一个标准化的字符串语法(RFC 6901)来标识JSON文档中的特定值。 JSON指针是由以下符号分隔的令牌字符串 /
字符,用于指定对象键或数组索引,并且令牌可以是字符串或数字。 JSON指针字符串用在许多PATCH操作中, Platform API,如本文档稍后所述。 有关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
属性 Experience Data Model (XDM)描述符,任何 properties
键必须是 已排除 从JSON指针字符串中。 请参阅 Schema Registry 上的API开发人员指南子指南 描述符 了解更多信息。
有许多针对的PATCH操作 Platform 接受JSON修补程序对象进行请求负载的API。 JSON Patch是一种标准化格式(RFC 6902)以描述对JSON文档的更改。 它允许您定义对JSON的部分更新,而无需在请求正文中发送整个文档。
{
"op": "remove",
"path": "/foo"
}
op
:修补程序操作的类型。 虽然JSON修补程序支持多种不同的操作类型,但并非所有PATCH操作都在 Platform API与每种操作类型都兼容。 可用的操作类型包括:
add
remove
replace
copy
move
test
path
:要更新的JSON结构部分,使用进行标识 JSON指针 表示法。根据中指示的操作类型 op
,则JSON修补程序对象可能需要其他属性。 有关不同的JSON修补程序操作及其所需语法的更多信息,请参阅 JSON修补程序文档.
JSON模式是用于描述和验证JSON数据结构的格式。 体验数据模型(XDM) 利用JSON模式功能对摄取的客户体验数据的结构和格式实施限制。 有关JSON架构的更多信息,请参阅 官方文档.
本文档介绍了用于管理基于JSON的资源的一些技术和语法。 Experience Platform. 请参阅 快速入门指南 有关使用Platform API的更多信息,包括最佳实践。 有关常见问题的解答,请参阅 平台疑难解答指南.