Experience PlatformAPI基础知识

Adobe Experience Platform API使用多种底层技术和语法,这些技术和语法对于有效管理基于JSON的文档非常重要 Platform 资源。 本文档简要概述这些技术,并提供指向外部文档的链接以了解更多信息。

JSON指针 json-pointer

JSON指针是一个标准化的字符串语法(RFC 6901)来标识JSON文档中的特定值。 JSON指针是由以下符号分隔的令牌字符串 / 字符,用于指定对象键或数组索引,并且令牌可以是字符串或数字。 JSON指针字符串用在许多PATCH操作中, Platform API,如本文档稍后所述。 有关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指针示例

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"
NOTE
在处理 xdm:sourcePropertyxdm:destinationProperty 属性 Experience Data Model (XDM)描述符,任何 properties 键必须是 已排除 从JSON指针字符串中。 请参阅 Schema Registry 上的API开发人员指南子指南 描述符 了解更多信息。

JSON修补程序 json-patch

有许多针对的PATCH操作 Platform 接受JSON修补程序对象进行请求负载的API。 JSON Patch是一种标准化格式(RFC 6902)以描述对JSON文档的更改。 它允许您定义对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-schema

JSON模式是用于描述和验证JSON数据结构的格式。 体验数据模型(XDM) 利用JSON模式功能对摄取的客户体验数据的结构和格式实施限制。 有关JSON架构的更多信息,请参阅 官方文档.

后续步骤

本文档介绍了用于管理基于JSON的资源的一些技术和语法。 Experience Platform. 请参阅 快速入门指南 有关使用Platform API的更多信息,包括最佳实践。 有关常见问题的解答,请参阅 平台疑难解答指南.

recommendation-more-help
5741548a-2e07-44b3-9157-9c181502d0c5