計算属性の作成
計算属性を作成するには、まず、作成する計算属性の詳細を含むリクエスト本文を使用して、/attributes
エンドポイントに対してPOSTリクエストを行います。
API 形式
POST /attributes
リクエスト
新しい計算属性を作成するリクエストのサンプル
curl -X POST https://platform.adobe.io/data/core/ca/attributes \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}'\
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"name": "testing",
"displayName": "Sample Display Name",
"description": "Sample Description",
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "xEvent[(commerce.checkouts.value > 0.0 or commerce.purchases.value > 1.0 or commerce.order.priceTotal >= 10.0)].sum(commerce.order.priceTotal)"
},
"keepCurrent": false,
"duration": {
"count": 4,
"unit": "DAYS"
},
"status": "DRAFT"
}'
プロパティ | 説明 |
---|---|
name | 文字列としての計算属性フィールドの名前。 計算属性の名前は、英数字(スペースやアンダースコアを含まない)のみで構成できます。 この値は 必ず すべての計算済み属性の中で一意です。 ベストプラクティスとして、この名前は displayName の camelCase バージョンにしてください。 |
description | 計算済み属性の説明。これは、組織内の他のユーザーが使用する正しい計算属性を決定するのに役立つので、複数の計算属性が定義された後で特に便利です。 |
displayName | 計算属性の表示名。 これは、Adobe Experience Platform UI 内で計算済み属性をリストする際に表示される名前です。 |
expression | 作成しようとしている計算属性のクエリ式を表すオブジェクト。 |
expression.type | 式のタイプ。 現在は、PQLのみがサポートされています。 |
expression.format | 式の形式。 現在は、pql/text のみがサポートされています。 |
expression.value | 式の値。 |
keepCurrent | 高速更新を使用して計算属性の値を最新の状態に保つかどうかを決定するブール値。 現在、この値は false に設定する必要があります。 |
duration | 計算属性のルックバック期間を表すオブジェクト。 ルックバック期間は、計算属性を計算するために遡ることができる期間を表します。 |
duration.count |
ルックバック期間の期間を表す数値。 使用可能な値は、
|
duration.unit | ルックバック期間に使用される時間単位を表す文字列。 使用可能な値:HOURS 、DAYS 、WEEKS 、MONTHS |
status | 計算属性のステータス。 使用可能な値は DRAFT および NEW です。 |
応答
応答に成功すると、HTTP ステータス 200 と、新しく作成された計算属性に関する情報が返されます。
新しい計算属性を作成する際のサンプル応答。
{
"id": "1e8d0d77-b2bb-4b17-bbe6-2dbc08c1a631",
"type": "ComputedAttribute",
"name": "testing",
"displayName": "Sample Display Name",
"description": "Sample Description",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "02dd69f0-da73-11e9-9ea1-af59ce7c24e8",
"sandboxName": "prod",
"type": "production",
"isDefault": true
},
"path": "{TENANT_ID}/ComputedAttributes",
"keepCurrent": false,
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "xEvent[(commerce.checkouts.value > 0.0 or commerce.purchases.value > 1.0 or commerce.order.priceTotal >= 10.0)].sum(commerce.order.priceTotal)"
},
"mergeFunction": {
"value": "SUM"
},
"status": "DRAFT",
"schema": {
"name": "_xdm.context.profile"
},
"lastEvaluationTs": "",
"createEpoch": 1680070188696,
"updateEpoch": 1680070188696,
"createdBy": "{USER_ID}"
}
プロパティ | 説明 |
---|---|
id | 新しく作成した計算属性のシステム生成 ID。 |
status | 計算属性のステータス。 DRAFT または NEW のいずれかを指定できます。 |
createEpoch | 計算属性が作成された時間(秒)。 |
updateEpoch | 計算属性が最後に更新された時間(秒)。 |
createdBy | 計算属性を作成したユーザーの ID。 |
特定の計算属性の取得
特定の計算属性に関する詳細な情報を取得するには、/attributes
エンドポイントにGETリクエストを実行し、取得する計算属性の ID をリクエストパスで指定します。
API 形式
GET /attributes/{ATTRIBUTE_ID}
リクエスト
特定の計算属性を取得するリクエストの例です。
curl -X GET 'https://platform.adobe.io/data/core/ca/attributes/1e8d0d77-b2bb-4b17-bbe6-2dbc08c1a631' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
応答
応答が成功すると、指定された計算属性の詳細情報とともに HTTP ステータス 200 が返されます。
特定の計算属性を取得する際のサンプル応答。
{
"id": "1e8d0d77-b2bb-4b17-bbe6-2dbc08c1a631",
"type": "ComputedAttribute",
"name": "testing",
"displayName": "Sample Display Name",
"description": "Sample Description",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "02dd69f0-da73-11e9-9ea1-af59ce7c24e8",
"sandboxName": "prod",
"type": "production",
"isDefault": true
},
"path": "{TENANT_ID}/ComputedAttributes",
"keepCurrent": false,
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "xEvent[(commerce.checkouts.value > 0.0 or commerce.purchases.value > 1.0 or commerce.order.priceTotal >= 10.0) and (timestamp occurs <= 7 days before now)].sum(commerce.order.priceTotal)"
},
"mergeFunction": {
"value": "SUM"
},
"status": "DRAFT",
"schema": {
"name": "_xdm.context.profile"
},
"lastEvaluationTs": "",
"createEpoch": 1680070188696,
"updateEpoch": 1680070188696,
"createdBy": "{USER_ID}"
}
プロパティ | 説明 |
---|---|
id | 他の API 操作中に計算済み属性を参照するために使用できる、システムで生成された一意の読み取り専用 ID が含まれます。 |
type | 返されたオブジェクトが計算属性であることを示す文字列。 |
name | 計算属性の名前。 |
displayName | 計算属性の表示名。 これは、Adobe Experience Platform UI 内で計算済み属性をリストする際に表示される名前です。 |
description | 計算済み属性の説明。これは、組織内の他のユーザーが使用する正しい計算属性を決定するのに役立つので、複数の計算属性が定義された後で特に便利です。 |
imsOrgId | 計算属性が属する組織の ID。 |
sandbox | サンドボックスオブジェクトには、計算済み属性が設定されたサンドボックスの詳細が含まれます。この情報は、リクエストで送信されるサンドボックスヘッダーから取得されます。詳しくは、サンドボックスの概要を参照してください。 |
path | 計算属性の path 。 |
keepCurrent | 高速更新を使用して計算属性の値を最新の状態に保つかどうかを決定するブール値。 |
expression | 計算属性の式を含むオブジェクト。 |
mergeFunction | 計算属性の結合関数を含むオブジェクト。 この値は、計算属性の式内の対応する集計パラメーターに基づいています。 使用可能な値は、SUM 、MIN 、MAX 、MOST_RECENT などです。 |
status | 計算属性のステータス。 DRAFT 、NEW 、INITIALIZING 、PROCESSING 、PROCESSED 、FAILED 、DISABLED のいずれかの値を指定できます。 |
schema | 式が評価されるスキーマに関する情報を含むオブジェクト。 現在は、_xdm.context.profile のみがサポートされています。 |
lastEvaluationTs | 計算属性が最後に評価された日時を表すタイムスタンプ。 |
createEpoch | 計算属性が作成された時間(秒)。 |
updateEpoch | 計算属性が最後に更新された時間(秒)。 |
createdBy | 計算属性を作成したユーザーの ID。 |
特定の計算属性の削除
DELETE /attributes
エンドポイントに対して削除リクエストを実行し、リクエストパスで削除する計算属性の ID を指定することで、特定の計算属性を削除できます。
削除リクエストは、ステータスが ドラフト (
DRAFT
)の計算済み属性の削除にのみ使用できます。 このエンドポイントは 使用できません 他の状態の計算属性を削除するために使用します。API 形式
DELETE /attributes/{ATTRIBUTE_ID}
パラメーター | 説明 |
---|---|
{ATTRIBUTE_ID} | 削除する計算属性の id 値。 |
リクエスト
計算属性を削除するリクエストのサンプル。
curl -X DELETE https://platform.adobe.io/data/core/ca/attributes/1e8d0d77-b2bb-4b17-bbe6-2dbc08c1a631 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
応答
応答が成功すると、HTTP ステータス 202 が、削除された計算属性の詳細と共に返されます。
計算属性を削除する際のサンプル応答。
{
"id": "03ae581b-5f7b-48da-a9eb-4ef0daf4bc3c",
"type": "ComputedAttribute",
"name": "testdemopd2",
"displayName": "testdemopd2",
"description": "testdemopd2",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "02dd69f0-da73-11e9-9ea1-af59ce7c24e8",
"sandboxName": "prod",
"type": "production",
"isDefault": true
},
"path": "{TENANT_ID}/ComputedAttributes",
"keepCurrent": false,
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "xEvent[(commerce.shipping.shipDate occurs <= 1 days before now) and (timestamp occurs <= 1 days before now)].min(commerce.shipping.shipDate)"
},
"mergeFunction": {
"value": "MIN"
},
"status": "DRAFT",
"schema": {
"name": "_xdm.context.profile"
},
"lastEvaluationTs": "",
"createEpoch": 1681365690928,
"updateEpoch": 1681365690928,
"createdBy": "{USER_ID}"
}
特定の計算属性の更新
/attributes
エンドポイントに計算リクエストを実行し、リクエストパスで更新するPATCH属性の ID を指定することで、特定の計算属性を更新できます。
計算属性を更新する場合、次のフィールドのみを更新できます。
- 現在のステータスが
NEW
の場合、ステータスはDISABLED
にのみ変更できます。 - 現在のステータスが
DRAFT
の場合、フィールドname
、description
、keepCurrent
、expression
、duration
の値を変更できます。 また、ステータスをDRAFT
からNEW
に変更することもできます。mergeFunction
やpath
など、システム生成フィールドに変更を加えるとエラーが返されます。 - 現在のステータスが
PROCESSING
またはPROCESSED
の場合、ステータスはDISABLED
にのみ変更できます。
API 形式
PATCH /attributes/{ATTRIBUTE_ID}
パラメーター | 説明 |
---|---|
{ATTRIBUTE_ID} | 更新する計算属性の id 値。 |
リクエスト
次のリクエストは、計算属性のステータスを DRAFT
から NEW
に更新します。
計算属性を更新するリクエストのサンプル。
curl -X PATCH https://platform.adobe.io/data/core/ca/attributes/1e8d0d77-b2bb-4b17-bbe6-2dbc08c1a631 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"description": "Sample Description",
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "xEvent[(commerce.checkouts.value > 0.0 or commerce.purchases.value > 1.0 or commerce.order.priceTotal >= 10.0) and (timestamp occurs <= 7 days before now)].sum(commerce.order.priceTotal)"
},
"status": "NEW"
}'
応答
応答に成功すると、HTTP ステータス 200 と、新しく更新された計算属性に関する情報が返されます。
計算属性を更新する際のサンプル応答。
{
"id": "1e8d0d77-b2bb-4b17-bbe6-2dbc08c1a631",
"type": "ComputedAttribute",
"name": "testing123",
"displayName": "Sample Display Name",
"description": "Sample Description",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "02dd69f0-da73-11e9-9ea1-af59ce7c24e8",
"sandboxName": "prod",
"type": "production",
"isDefault": true
},
"path": "{TENANT_ID}/ComputedAttributes",
"keepCurrent": false,
"expression": {
"type": "PQL",
"format": "pql/text",
"value": "xEvent[(commerce.checkouts.value > 0.0 or commerce.purchases.value > 1.0 or commerce.order.priceTotal >= 10.0) and (timestamp occurs <= 7 days before now)].sum(commerce.order.priceTotal)"
},
"mergeFunction": {
"value": "SUM"
},
"status": "NEW",
"schema": {
"name": "_xdm.context.profile"
},
"lastEvaluationTs": "",
"createEpoch": 1680071726825,
"updateEpoch": 1680074429192,
"createdBy": "{USER_ID}"
}