Experience Platform APIの基本

Adobe Experience Platform APIには、JSON ベースのExperience Platform リソースを効果的に管理するために理解すべき重要な基盤テクノロジーと構文がいくつか用意されています。 このドキュメントでは、これらのテクノロジーの概要のほか、詳細が記載されている外部ドキュメントへのリンクを提供します。

JSON ポインター json-pointer

JSON ポインターは、JSON ドキュメント内の特定の値を識別するための標準化された文字列構文(RFC 6901)です。 JSON ポインターは、/ 文字で区切られたトークンの文字列であり、オブジェクトのキーまたは配列のインデックスを指定します。トークンは文字列または数値です。 JSON ポインター文字列は、このドキュメントで後述するように、Experience 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"
NOTE
Experience Data Model (XDM)記述子のxdm:sourcePropertyおよびxdm:destinationProperty属性を処理する場合、properties個のキーはすべて​ JSON ポインター文字列から除外 ​する必要があります。 詳しくは、記述子に関するSchema Registry API開発者ガイドのサブガイドを参照してください。

JSON パッチ json-patch

リクエストペイロードにJSON Patch オブジェクトを受け入れるExperience Platform APIには、多くのPATCH オペレーションがあります。 JSON パッチは、JSON ドキュメントの変更を記述するための標準形式(RFC 6902)です。 この標準形式では、リクエスト本文でドキュメント全体を送信する必要なく、JSON の部分的なアップデートを定義できます。

JSON パッチオブジェクトの例

{
  "op": "remove",
  "path": "/foo"
}
  • op:パッチ操作のタイプ。 JSON Patchは複数の異なる操作タイプをサポートしていますが、Experience 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 ベースのリソースの管理に関する技術と構文について説明しました。 Experience Platform APIの操作について詳しくは、入門ガイド ​を参照してください(ベストプラクティスを含む)。 よくある質問に対する回答については、Experience Platformのトラブルシューティングガイド ​を参照してください。

recommendation-more-help
experience-platform-help-landing