Policy Service API を使用してデータ使用ポリシーを適用する
データのデータ使用ラベルを作成し、これらのラベルに対するマーケティングアクションの使用ポリシーを作成したら、Policy Service API を使用して、データセットまたはラベルの任意のグループに対して実行されたマーケティングアクションがポリシー違反となるかどうかを評価します。その後、API 応答に基づいてポリシー違反を処理する独自の内部プロトコルを設定できます。
ENABLED
に設定されたポリシーのみが評価に参加できます。DRAFT
ポリシーの評価への参加を許可するには、リクエストパスに includeDraft=true
クエリパラメーターを含める必要があります。このドキュメントでは、Policy Service API を使用して、異なるシナリオでのポリシー違反を確認する手順を説明します。
はじめに
このチュートリアルでは、データ使用ポリシーの適用に関わる次の主な概念に関する十分な知識が必要です。
このチュートリアルを開始する前に、開発者ガイドを参照して、必要なヘッダーやサンプル API 呼び出しを含む、Policy Service API の呼び出しを正しく実行するため、必要な重要な情報を確認してください。
データラベルとマーケティングアクションを使用した評価
データセット内に存在すると仮定したデータ使用ラベルのセットに対してマーケティングアクションをテストすることで、ポリシーを評価できます。これは、次の例に示すように、duleLabels
クエリパラメータを使用して行います。ラベルは、値のコンマ区切りリストとして提供されます。
API 形式
GET /marketingActions/core/{MARKETING_ACTION_NAME}/constraints?duleLabels={LABEL_1},{LABEL_2}
GET /marketingActions/custom/{MARKETING_ACTION_NAME}/constraints?duleLabels={LABEL_1},{LABEL_2}
{MARKETING_ACTION_NAME}
{LABEL_1}
リクエスト
次のリクエストは、exportToThirdParty
マーケティングアクションを C1
ラベルおよび C3
ラベルに対してテストします。このチュートリアルで先ほど作成したデータ使用ポリシーでは、C1
ラベルが deny
ポリシー式の条件の 1 つとして定義されているので、マーケティングアクションはポリシー違反をトリガーする必要があります。
C1
ラベルは違反をトリガーしますが、c1
ラベルは違反をトリガーしません。curl -X GET \
https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty/constraints?duleLabels=C1,C3 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
応答
応答が成功すると、マーケティングアクションの URL、テスト対象の使用ラベル、およびこれらのラベルに対するアクションのテストの結果として違反したポリシーのリストが返されます。この例では、「サードパーティへのデータ書き出し」ポリシーが violatedPolicies
配列に表示され、マーケティングアクションによって予期されるポリシー違反がトリガーされたことが示されています。
{
"timestamp": 1565727821209,
"clientId": "string",
"userId": "string",
"imsOrg": "{ORG_ID}",
"marketingActionRef": "https://platform-stage.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty",
"duleLabels": [
"C1",
"C3"
],
"violatedPolicies": [
{
"name": "Export Data to Third Party",
"status": "ENABLED",
"marketingActionRefs": [
"https://platform-stage.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
],
"description": "Conditions under which data cannot be exported to a third party",
"deny": {
"operator": "OR",
"operands": [
{
"label": "C1"
},
{
"operator": "AND",
"operands": [
{
"label": "C3"
},
{
"label": "C7"
}
]
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1565651746693,
"createdClient": "{CREATED_CLIENT}",
"createdUser": "{CREATED_USER",
"updated": 1565723012139,
"updatedClient": "{UPDATED_CLIENT}",
"updatedUser": "{UPDATED_USER}",
"_links": {
"self": {
"href": "https://platform-stage.adobe.io/data/foundation/dulepolicy/policies/custom/5d51f322e553c814e67af1a3"
}
},
"id": "5d51f322e553c814e67af1a3"
}
]
}
violatedPolicies
duleLabels
に対して(marketingActionRef
で指定された)マーケティングアクションのテストに違反したポリシーをリストする配列です。データセットを使用した評価
データ使用ポリシーを評価するには、ラベルを収集できる 1 つ以上のデータセットに対してマーケティングアクションをテストします。これは、次の例に示すように、リクエスト本文内にデータセット ID を指定して /marketingActions/core/{MARKETING_ACTION_NAME}/constraints
に POST リクエストを実行することでおこなわれます。
API 形式
POST /marketingActions/core/{MARKETING_ACTION_NAME}/constraints
POST /marketingActions/custom/{MARKETING_ACTION_NAME}/constraints
{MARKETING_ACTION_NAME}
リクエスト
次のリクエストは、3 つの異なるデータセットに対する exportToThirdParty
マーケティングアクションをテストします。データセットは、ペイロードで提供される配列のタイプと ID で参照されます。
curl -X POST \
https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty/constraints
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '[
{
"entityType": "dataSet",
"entityId": "5c423dc25f2f2e00005e2319"
},
{
"entityType": "dataSet",
"entityId": "5cc323e15410ef14b749481e"
},
{
"entityType": "dataSet",
"entityId": "5cc1fb685410ef14b748c55f",
"entityMeta": {
"fields": [
"/properties/personalEmail/properties/address",
"/properties/person/properties/name/properties/fullName"
]
}
}
]'
entityType
entityId
entityMeta.fields
このフィールドを含めない場合は、データセットスキーマ内のすべてのフィールドが評価対象に含まれます。
応答
応答が成功すると、マーケティングアクションの URL、提供されたデータセットから収集された使用ラベル、およびこれらのラベルに対するアクションのテストの結果として違反したポリシーのリストが返されます。この例では、「サードパーティへのデータ書き出し」ポリシーが violatedPolicies
配列に表示され、マーケティングアクションによって予期されるポリシー違反がトリガーされたことが示されています。
{
"timestamp": 1556324277895,
"clientId": "{CLIENT_ID}",
"userId": "{USER_ID}",
"imsOrg": "{ORG_ID}",
"marketingActionRef": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty",
"duleLabels": [
"C1",
"C2",
"C4",
"C5",
"C6"
],
"discoveredLabels": [
{
"entityType": "dataSet",
"entityId": "5c423dc25f2f2e00005e2319",
"dataSetLabels": {
"connection": {
"labels": []
},
"dataSet": {
"labels": [
"C6"
]
},
"fields": [
{
"labels": [
"C2",
"C5"
],
"path": "/properties/_customer"
},
{
"labels": [
"C4",
"C5"
],
"path": "/properties/geoUnit"
},
{
"labels": [
"C4"
],
"path": "/properties/identityMap"
},
{
"labels": [
"C4"
],
"path": "/properties/journeyAI"
},
{
"labels": [
"C5"
],
"path": "/properties/createdByBatchID"
},
{
"labels": [
"C5"
],
"path": "/properties/faxPhone"
}
]
}
},
{
"entityType": "dataSet",
"entityId": "5cc323e15410ef14b749481e",
"dataSetLabels": {
"connection": {
"labels": []
},
"dataSet": {
"labels": [
"C5"
]
},
"fields": [
{
"labels": [
"C2",
],
"path": "/properties/_customer"
},
{
"labels": [
"C5"
],
"path": "/properties/geoUnit"
},
{
"labels": [
"C1"
],
"path": "/properties/identityMap"
}
]
}
},
{
"entityType": "dataSet",
"entityId": "5cc1fb685410ef14b748c55f",
"dataSetLabels": {
"connection": {
"labels": []
},
"dataSet": {
"labels": [
"C5"
]
},
"fields": [
{
"labels": [
"C5"
],
"path": "/properties/personalEmail/properties/address",
},
{
"labels": [
"C5"
],
"path": "/properties/person/properties/name/properties/fullName"
}
]
}
}
],
"violatedPolicies": [
{
"name": "Export Data to Third Party",
"status": "ENABLED",
"marketingActionRefs": [
"https://platform-stage.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
],
"description": "Conditions under which data cannot be exported to a third party",
"deny": {
"operator": "OR",
"operands": [
{
"label": "C1"
},
{
"operator": "AND",
"operands": [
{
"label": "C3"
},
{
"label": "C7"
}
]
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1565651746693,
"createdClient": "{CREATED_CLIENT}",
"createdUser": "{CREATED_USER",
"updated": 1565723012139,
"updatedClient": "{UPDATED_CLIENT}",
"updatedUser": "{UPDATED_USER}",
"_links": {
"self": {
"href": "https://platform-stage.adobe.io/data/foundation/dulepolicy/policies/custom/5d51f322e553c814e67af1a3"
}
},
"id": "5d51f322e553c814e67af1a3"
}
]
}
duleLabels
discoveredLabels
violatedPolicies
duleLabels
に対して(marketingActionRef
で指定された)マーケティングアクションのテストに違反したポリシーをリストする配列です。次の手順
このドキュメントでは、データセットまたは一連のデータ使用ラベルに対してマーケティングアクションを実行する際に、ポリシー違反を正しく確認する方法を説明しました。API 応答で返されたデータを使用して、エクスペリエンスアプリケーション内でプロトコルを設定し、ポリシー違反が発生した場合に適切にポリシー違反を実施することができます。
Platform がポリシーをアクティブ化されたセグメントに自動的に適用する方法について詳しくは、自動適用のガイドを参照してください。