使用資料集評估原則違規
您可以根據一組可以從中收集資料使用標籤的一個或多個資料集來評估原則違規。 若要這麼做,請針對特定行銷動作對/constraints
端點執行POST要求,並在要求內文中提供資料集ID清單。
API格式
POST /marketingActions/core/{MARKETING_ACTION_NAME}/constraints
POST /marketingActions/custom/{MARKETING_ACTION_NAME}/constraints
參數 | 說明 |
---|---|
{MARKETING_ACTION_NAME} | 針對一或多個資料集進行測試的行銷動作名稱。 您可以向行銷動作端點🔗發出GET要求,以擷取可用的行銷動作清單。 |
要求
下列要求會針對一組三個資料集執行crossSiteTargeting
行銷動作,以評估任何原則違規。
curl -X POST \
https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/crossSiteTargeting/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"
}
]'
屬性 | 說明 |
---|---|
entityType | 其識別碼在同層級entityId 屬性中指示的實體型別。 目前唯一接受的值為dataSet 。 |
entityId | 用來測試行銷動作的資料集ID。 藉由向Catalog Service API中的/dataSets 端點發出GET要求,即可取得資料集清單及其對應的ID。 如需詳細資訊,請參閱清單 Catalog 物件的指南。 |
回應
成功的回應包括violatedPolicies
陣列,其中包含對提供的資料集執行行銷動作所違反原則的詳細資料。 如果未違反任何原則,violatedPolicies
陣列將是空的。
{
"timestamp": 1556324277895,
"clientId": "{CLIENT_ID}",
"userId": "{USER_ID}",
"imsOrg": "{ORG_ID}",
"marketingActionRef": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/crossSiteTargeting",
"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/createdByBatchID"
},
{
"labels": [
"C5"
],
"path": "/properties/faxPhone"
}
]
}
}
],
"violatedPolicies": [
{
"name": "Targeting Ads or Content",
"status": "ENABLED",
"marketingActionRefs": [
"https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/crossSiteTargeting"
],
"description": "Data cannot be used for targeting any ads or content, either on-site or cross-site.",
"deny": {
"operator": "AND",
"operands": [
{
"label": "C4"
},
{
"label": "C6"
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1551141210463,
"createdClient": "{CREATED_CLIENT}",
"createdUser": "{CREATED_USER}",
"updated": 1551146178603,
"updatedClient": "{UPDATED_CLIENT}",
"updatedUser": "{UPDATED_USER}",
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/dulepolicy/policies/custom/5c74895a74744d13dc2d87cc"
}
},
"id": "5c74895a74744d13dc2d87cc"
}
]
}
屬性 | 說明 |
---|---|
duleLabels | 回應物件包含duleLabels 陣列,其中包含指定資料集中找到的所有標籤的整合清單。 此清單包含資料集內所有欄位上的資料集和欄位層級標籤。 |
discoveredLabels | 回應也包含包含每個資料集物件的discoveredLabels 陣列,其中顯示datasetLabels 已細分為資料集和欄位層級標籤。 每個欄位層級標籤會顯示具有該標籤之特定欄位的路徑。 |
使用特定資料集欄位評估原則違規
您可以根據一或多個資料集中的欄位子集來評估原則違規,以便只評估套用這些欄位的資料使用標籤。
使用資料集欄位評估原則時,請記住下列事項:
- 欄位名稱區分大小寫:提供欄位時,必須依照資料集中顯示的樣式來撰寫(例如,
firstName
與firstname
)。 - 資料集標籤繼承:資料集中的個別欄位會繼承已在資料集層級套用的任何標籤。 如果原則評估未如預期傳回,除了在欄位層級套用的標籤之外,請務必檢查是否從資料集層級向下繼承到欄位的任何標籤。
API格式
POST /marketingActions/core/{MARKETING_ACTION_NAME}/constraints
POST /marketingActions/custom/{MARKETING_ACTION_NAME}/constraints
參數 | 說明 |
---|---|
{MARKETING_ACTION_NAME} | 針對資料集欄位子集進行測試的行銷動作名稱。 您可以向行銷動作端點🔗發出GET要求,以擷取可用的行銷動作清單。 |
要求
下列要求會對屬於三個資料集的特定欄位集測試行銷動作crossSiteTargeting
。 承載類似於僅涉及資料集🔗的評估請求,為要從中收集標籤的每個資料集新增特定欄位。
curl -X POST \
https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/crossSiteTargeting/constraints \
-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 '[
{
"entityType": "dataSet",
"entityId": "5c423dc25f2f2e00005e2319",
"entityMeta": {
"fields": [
"/properties/_customer",
"/properties/faxPhone"
]
}
},
{
"entityType": "dataSet",
"entityId": "5cc323e15410ef14b749481e",
"entityMeta": {
"fields": [
"/properties/_customer",
"/properties/geoUnit"
]
}
},
{
"entityType": "dataSet",
"entityId": "5cc1fb685410ef14b748c55f",
"entityMeta": {
"fields": [
"/properties/faxPhone"
]
}
}
]'
屬性 | 說明 |
---|---|
entityType | 其識別碼在同層級entityId 屬性中指示的實體型別。 目前唯一接受的值為dataSet 。 |
entityId | 資料集的ID,其欄位將根據行銷動作進行評估。 藉由向Catalog Service API中的/dataSets 端點發出GET要求,即可取得資料集清單及其對應的ID。 如需詳細資訊,請參閱清單 Catalog 物件的指南。 |
entityMeta.fields | 資料集結構描述中特定欄位的路徑陣列,以JSON指標字串形式提供。 請參閱API基本指南中JSON指標的相關小節,以取得這些字串所接受語法的詳細資訊。 |
回應
成功的回應包含violatedPolicies
陣列,其中包含對提供的資料集欄位執行行銷動作時所違反原則的詳細資料。 如果未違反任何原則,violatedPolicies
陣列將是空的。
將下列範例回應與僅涉及資料集🔗的回應進行比較,請注意,收集的標籤清單較短。 每個資料集的discoveredLabels
也已減少,因為它們僅包含在要求內文中指定的欄位。 此外,先前違反的原則Targeting Ads or Content
需要同時存在C4 AND C6
個標籤,因此不再違反空的violatedPolicies
陣列所指示的原則。
{
"timestamp": 1556325503038,
"clientId": "{CLIENT_ID}",
"userId": "{USER_ID}",
"imsOrg": "{ORG_ID}",
"marketingActionRef": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/crossSiteTargeting",
"duleLabels": [
"C2",
"C5",
"C6"
],
"discoveredLabels": [
{
"entityType": "dataSet",
"entityId": "5c423dc25f2f2e00005e2319",
"dataSetLabels": {
"connection": {
"labels": []
},
"dataSet": {
"labels": [
"C6"
]
},
"fields": [
{
"labels": [
"C2",
"C5"
],
"path": "/properties/_customer"
},
{
"labels": [
"C5"
],
"path": "/properties/faxPhone"
}
]
}
},
{
"entityType": "dataSet",
"entityId": "5cc323e15410ef14b749481e",
"dataSetLabels": {
"connection": {
"labels": []
},
"dataSet": {
"labels": [
"C5"
]
},
"fields": [
{
"labels": [
"C2",
"C5"
],
"path": "/properties/_customer"
},
{
"labels": [
"C5"
],
"path": "/properties/geoUnit"
}
]
}
},
{
"entityType": "dataSet",
"entityId": "5cc1fb685410ef14b748c55f",
"dataSetLabels": {
"connection": {
"labels": []
},
"dataSet": {
"labels": [
"C5"
]
},
"fields": [
{
"labels": [
"C5"
],
"path": "/properties/faxPhone"
}
]
}
}
],
"violatedPolicies": []
}
大量評估原則
/bulk-eval
端點可讓您在單一API呼叫中執行多個評估工作。
API格式
POST /bulk-eval
要求
大量評估請求的裝載應為物件陣列;每個要執行的評估工作各一個。 對於根據資料集和欄位進行評估的工作,必須提供entityList
陣列。 針對根據資料使用標籤進行評估的工作,必須提供labels
陣列。
entityList
和labels
陣列,將會產生錯誤。 如果您想要根據資料集和標籤評估相同的行銷動作,則必須為該行銷動作包含個別評估工作。curl -X POST \
https://platform.adobe.io/data/foundation/dulepolicy/bulk-eval \
-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 '[
{
"evalRef": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/core/emailTargeting/constraints",
"includeDraft": false,
"labels": [
"C1",
"C2",
"C3"
]
},
{
"evalRef": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/core/emailTargeting/constraints",
"includeDraft": false,
"entityList": [
{
"entityType": "dataSet",
"entityId": "5b67f4dd9f6e710000ea9da4",
"entityMeta": {
"fields": [
"address"
]
}
}
]
}
]'
屬性 | 說明 |
---|---|
evalRef | 用於根據標籤或資料集測試原則違規的行銷動作URI。 |
includeDraft | 依預設,只有啟用的原則會參與評估。 如果includeDraft 設定為true ,則處於DRAFT 狀態的原則也會參與。 |
labels | 用於測試行銷動作的一系列資料使用標籤。 重要:使用此屬性時, entityList 屬性不可包含在相同物件中。 若要使用資料集和/或欄位評估相同的行銷動作,您必須在包含entityList 陣列的請求裝載中包含個別的物件。 |
entityList | 資料集陣列,以及這些資料集內用於測試行銷動作的特定欄位(選擇性)。 重要:使用此屬性時, labels 屬性不可包含在相同物件中。 若要使用特定資料使用標籤來評估相同的行銷動作,您必須在包含labels 陣列的請求裝載中包含個別物件。 |
entityType | 測試行銷動作的實體型別。 目前僅支援dataSet 。 |
entityId | 用來測試行銷動作的資料集ID。 |
entityMeta.fields | (選用)資料集中要用來測試行銷動作的特定欄位清單。 |
回應
成功的回應會傳回評估結果的陣列;請求中傳送的每個原則評估工作各一個。
[
{
"status": 200,
"body": {
"timestamp": 1595866566165,
"clientId": "{CLIENT_ID}",
"userId": "{USER_ID}",
"imsOrg": "{ORG_ID}",
"sandboxName": "prod",
"marketingActionRef": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/core/emailTargeting",
"duleLabels": [
"C1",
"C2",
"C3"
],
"violatedPolicies": []
}
},
{
"status": 200,
"body": {
"timestamp": 1595866566165,
"clientId": "{CLIENT_ID}",
"userId": "{USER_ID}",
"imsOrg": "{ORG_ID}",
"sandboxName": "prod",
"marketingActionRef": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/core/emailTargeting",
"duleLabels": [
"C1",
"C2"
],
"discoveredLabels": [
{
"entityType": "dataset",
"entityId": "5b67f4dd9f6e710000ea9da4",
"dataSetLabels": {
"connection": {
"labels": [
]
},
"dataset": {
"labels": [
"C1",
"C2"
]
},
"fields": []
}
}
],
"violatedPolicies": [
{
"name": "Email Policy",
"status": "DRAFT",
"marketingActionRefs": [
"https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/core/emailTargeting"
],
"description": "Conditions under which we won't send marketing-based email",
"deny": {
"label": "C1",
"operator": "AND",
"operands": [
{
"label": "C1"
},
{
"label": "C3"
}
]
},
"id": "76131228-7654-11e8-adc0-fa7ae01bbebc",
"imsOrg": "{ORG_ID}",
"created": 1529696681413,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1529697651972,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "./76131228-7654-11e8-adc0-fa7ae01bbebc"
}
}
}
]
}
}
]