Experience Platform API 기본 사항

Adobe Experience Platform API는 JSON 기반 Platform 리소스를 효과적으로 관리하기 위해 이해해야 하는 몇 가지 기본 기술 및 구문을 사용합니다. 이 문서에서는 이러한 기술에 대한 간단한 개요와 자세한 내용을 살펴보려면 외부 문서에 대한 링크를 제공합니다.

JSON 포인터

JSON 포인터는 JSON 문서 내의 특정 값을 식별하기 위한 표준 문자열 구문(RFC 6901)입니다. JSON 포인터는 개체 키 또는 배열 인덱스를 지정하는 / 문자로 구분된 토큰의 문자열이며, 토큰은 문자열 또는 숫자일 수 있습니다. JSON 포인터 문자열은 이 문서의 후반부에 있는 설명에 따라 Platform API에 대한 많은 PATCH 작업에 사용됩니다. JSON 포인터에 대한 자세한 내용은 JSON 포인터 개요 설명서를 참조하십시오.

JSON 스키마 개체 예

다음 JSON은 JSON 포인터 문자열을 사용하여 필드를 참조할 수 있는 간소화된 XDM 스키마를 나타냅니다. 사용자 정의 스키마 필드 그룹(예: 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"
노트

xdm:sourceProperty 및 Experience Data Model (XDM) 설명자의 xdm:destinationProperty 특성을 처리할 때 properties 키는 JSON 포인터 문자열에서 excluded​이어야 합니다. 자세한 내용은 설명자의 Schema Registry API 개발자 안내서 하위 안내서를 참조하십시오.

JSON 패치

요청 페이로드를 위해 JSON 패치 개체를 허용하는 Platform API에 대해 많은 PATCH 작업이 있습니다. 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 스키마는 JSON 데이터의 구조를 설명하고 확인하는 데 사용되는 형식입니다. XDM(Experience Data Model)은 JSON 스키마 기능을 활용하여 인제스트된 고객 경험 데이터의 구조와 형식에 대한 제약 사항을 적용합니다. JSON 스키마에 대한 자세한 내용은 공식 설명서를 참조하십시오.

다음 단계

이 문서에서는 Experience Platform에 대한 JSON 기반 리소스 관리와 관련된 기술 및 구문을 소개합니다. 최상의 작업 방법을 포함하여 플랫폼 API 작업에 대한 자세한 내용은 시작 안내서를 참조하십시오. FAQ에 대한 답변은 플랫폼 문제 해결 안내서를 참조하십시오.

이 페이지에서는