Fundamentos de API de Experience Platform

Las API de Adobe Experience Platform emplean varias tecnologías y sintaxis subyacentes que son importantes de comprender para administrar de forma eficaz los recursos de Platform basados en JSON. Este documento proporciona una breve descripción general de estas tecnologías, así como vínculos a documentación externa para obtener más información.

Puntero JSON json-pointer

El puntero JSON es una sintaxis de cadena estandarizada (RFC 6901) para identificar valores específicos dentro de documentos JSON. Un puntero JSON es una cadena de tokens separados por / caracteres, que especifican claves de objeto o índices de matriz, y los tokens pueden ser una cadena o un número. Las cadenas de puntero JSON se utilizan en muchas operaciones de PATCH para las API Platform, tal como se describe más adelante en este documento. Para obtener más información sobre el puntero JSON, consulte la documentación de información general sobre el puntero JSON.

Ejemplo de objeto de esquema JSON

El siguiente JSON representa un esquema XDM simplificado cuyos campos pueden referenciarse mediante cadenas de puntero JSON. Tenga en cuenta que todos los campos que se han agregado mediante grupos de campos de esquema personalizados (como loyaltyLevel) tienen un espacio de nombres en un objeto _{TENANT_ID}, mientras que los campos que se han agregado mediante grupos de campos principales (como fullName) no lo tienen.

{
  "$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"
        }
      }
    }
  }
}

Ejemplo de punteros JSON basados en el objeto de esquema

Puntero JSON
Se resuelve en
"/title"
"Example schema"
"/properties/person/properties/name/properties/fullName"
(Devuelve una referencia al campo fullName proporcionada por un grupo de campos principales).
"/properties/_{TENANT_ID}/properties/loyaltyLevel"
(Devuelve una referencia al campo loyaltyLevel proporcionada por un grupo de campos personalizados).
"/properties/_{TENANT_ID}/properties/loyaltyLevel/enum"
["platinum", "gold", "silver", "bronze"]
"/properties/_{TENANT_ID}/properties/loyaltyLevel/enum/0"
"platinum"
NOTE
Al tratar con los atributos xdm:sourceProperty y xdm:destinationProperty de los descriptores Experience Data Model (XDM), cualquier clave properties debe ser excluida de la cadena de puntero JSON. Consulte la subguía Schema Registry API developer guide (Guía para desarrolladores de API) sobre descriptores para obtener más información.

Parche de JSON json-patch

Hay muchas operaciones de PATCH para las API de Platform que aceptan objetos de parche JSON para sus cargas útiles de solicitud. El parche JSON es un formato estandarizado (RFC 6902) para describir cambios en un documento JSON. Permite definir actualizaciones parciales de JSON sin necesidad de enviar todo el documento en un cuerpo de solicitud.

Ejemplo de objeto de parche de JSON

{
  "op": "remove",
  "path": "/foo"
}
  • op: tipo de operación de revisión. Aunque el parche JSON admite varios tipos de operaciones diferentes, no todas las operaciones del PATCH en las API Platform son compatibles con todos los tipos de operaciones. Los tipos de operación disponibles son:

    • add
    • remove
    • replace
    • copy
    • move
    • test
  • path: la parte de la estructura JSON que se va a actualizar, identificada con la notación Puntero JSON.

Según el tipo de operación indicado en op, el objeto de parche de JSON puede requerir propiedades adicionales. Para obtener más información sobre las distintas operaciones de parches de JSON y su sintaxis necesaria, consulte la documentación de parches de JSON.

Esquema JSON json-schema

El esquema JSON es un formato que se utiliza para describir y validar la estructura de los datos JSON. Experience Data Model (XDM) aprovecha las capacidades del esquema JSON para aplicar restricciones en la estructura y el formato de los datos de experiencia del cliente ingeridos. Para obtener más información sobre el esquema JSON, consulte la documentación oficial.

Pasos siguientes

Este documento introdujo algunas de las tecnologías y sintaxis involucradas en la administración de recursos basados en JSON para Experience Platform. Consulte la guía de introducción para obtener más información sobre cómo trabajar con las API de Platform, incluidas las prácticas recomendadas. Para obtener respuestas a las preguntas más frecuentes, consulte la Guía de solución de problemas de la plataforma.

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