在API中创建数据治理策略
策略服务API允许您创建和管理数据治理策略,以确定可以对包含特定数据使用标签的数据执行哪些营销操作。
此文档提供了使用Policy Service API创建治理策略的分步教程。
快速入门
本教程需要对创建和评估策略所涉及的以下关键概念有一定的了解:
- Adobe Experience Platform数据管理: Platform强制数据使用合规性的框架。
- 数据使用标签:数据使用标签应用于XDM数据字段,指定访问数据的方式限制。
- Experience Data Model (XDM): Platform用于组织客户体验数据的标准化框架。
- 沙盒: Experience Platform提供将单个Platform实例划分为单独虚拟环境的虚拟沙盒,以帮助开发和改进数字体验应用程序。
在开始本教程之前,请查看开发人员指南以了解成功调用Policy Service API所需了解的重要信息,包括所需的标头以及如何读取示例API调用。
定义营销活动 define-action
在数据管理框架中,营销操作是Experience Platform数据使用者采取的操作,需要检查是否存在违反数据使用策略的操作。
创建数据使用策略的第一步是确定策略将评估什么营销操作。 可以使用以下选项之一完成此操作:
查找现有营销操作 look-up
通过向/marketingActions
个端点之一发出GET请求,您可以查找要由策略评估的现有营销操作。
API格式
根据您要查找由Experience Platform提供的营销操作还是由您的组织创建的自定义营销操作,分别使用marketingActions/core
或marketingActions/custom
端点。
GET /marketingActions/core
GET /marketingActions/custom
请求
以下请求使用marketingActions/custom
端点,该端点获取由您的组织定义的所有营销操作的列表。
curl -X GET \
https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom \
-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}'
响应
成功的响应返回找到的营销操作总数(count
),并列出children
数组中营销操作本身的详细信息。
{
"_page": {
"start": "sampleMarketingAction",
"count": 2
},
"_links": {
"page": {
"href": "https://platform.adobe.io/marketingActions/custom?{?limit,start,property}",
"templated": true
}
},
"children": [
{
"name": "sampleMarketingAction",
"description": "Marketing Action description.",
"imsOrg": "{ORG_ID}",
"created": 1550714012088,
"createdClient": "{CREATED_CLIENT}",
"createdUser": "{CREATED_USER}",
"updated": 1550714012088,
"updatedClient": "{UPDATED_CLIENT}",
"updatedUser": "{UPDATED_USER}",
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/sampleMarketingAction"
}
}
},
{
"name": "newMarketingAction",
"description": "Another marketing action.",
"imsOrg": "{ORG_ID}",
"created": 1550793833224,
"createdClient": "{CREATED_CLIENT}",
"createdUser": "{CREATED_USER}",
"updated": 1550793833224,
"updatedClient": "{UPDATED_CLIENT}",
"updatedUser": "{UPDATED_USER}",
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/newMarketingAction"
}
}
}
]
}
_links.self.href
children
数组中的每一项都包含所列出营销操作的URI ID。找到要使用的营销操作后,记录其href
属性的值。 此值在创建策略的下一个步骤中使用。
创建新的营销操作 create-new
您可以通过向/marketingActions/custom/
端点发出PUT请求并在请求路径末尾提供营销操作的名称来创建新的营销操作。
API格式
PUT /marketingActions/custom/{MARKETING_ACTION_NAME}
{MARKETING_ACTION_NAME}
请求
以下请求创建新的自定义营销操作,称为“exportToThirdParty”。 请注意,请求有效负载中的name
与请求路径中提供的名称相同。
curl -X PUT \
https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty \
-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 '{
"name": "exportToThirdParty",
"description": "Export data to a third party"
}'
name
description
响应
成功的响应会返回HTTP状态201(已创建)以及新创建的营销操作的详细信息。
{
"name": "exportToThirdParty",
"description": "Export data to a third party",
"imsOrg": "{ORG_ID}",
"created": 1550713341915,
"createdClient": "{CREATED_CLIENT}",
"createdUser": "{CREATED_USER",
"updated": 1550713856390,
"updatedClient": "{UPDATED_CLIENT}",
"updatedUser": "{UPDATED_USER}",
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
}
}
}
_links.self.href
记录新创建的营销操作的URI ID,因为它将在创建策略的下一个步骤中使用。
创建策略 create-policy
创建新策略需要您提供营销活动的URI ID,以及禁止该营销活动的使用标签的表达式。
此表达式称为策略表达式,它是包含(A)标签或(B)运算符和操作数的对象,但不能同时包含两者。 反过来,每个操作数也是策略表达式对象。 例如,如果存在C1 OR (C3 AND C7)
标签,则可能禁止将数据导出到第三方的策略。 此表达式将指定为:
"deny": {
"operator": "OR",
"operands": [
{
"label": "C1"
},
{
"operator": "AND",
"operands": [
{
"label": "C3"
},
{
"label": "C7"
}
]
}
]
}
配置策略表达式后,可以通过向/policies/custom
端点发出POST请求来创建新策略。
API格式
POST /policies/custom
请求
以下请求通过在请求有效负荷中提供营销操作和策略表达式,创建名为“将数据导出到第三方”的策略。
curl -X POST \
https://platform.adobe.io/data/foundation/dulepolicy/policies/custom \
-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": "Export Data to Third Party",
"status": "DRAFT",
"marketingActionRefs": [
"../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"}
]
}
]
}
}'
marketingActionRefs
href
值。 虽然上述示例仅列出一个营销操作,但也可以提供多个操作。deny
marketingActionRefs
中引用的营销操作的使用标签和条件。响应
成功的响应返回HTTP状态201(已创建)和新创建策略的详细信息。
{
"name": "Export Data to Third Party",
"status": "DRAFT",
"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": 1565651746693,
"updatedClient": "{UPDATED_CLIENT}",
"updatedUser": "{UPDATED_USER}",
"_links": {
"self": {
"href": "https://platform-stage.adobe.io/data/foundation/dulepolicy/policies/custom/5d51f322e553c814e67af1a3"
}
},
"id": "5d51f322e553c814e67af1a3"
}
id
记录新创建策略的URI ID,以便在下一个步骤中启用该策略。
启用策略
DRAFT
状态,则此步骤是可选的,但请注意,默认情况下,策略必须将其状态设置为ENABLED
才能参与评估。 有关如何为处于DRAFT
状态的策略创建异常的信息,请参阅策略实施指南。默认情况下,status
属性设置为DRAFT
的策略不参与评估。 您可以通过向/policies/custom/
端点发出PATCH请求并在请求路径末尾提供策略的唯一标识符来启用策略以供评估。
API格式
PATCH /policies/custom/{POLICY_ID}
{POLICY_ID}
id
值。请求
以下请求对策略的status
属性执行PATCH操作,将其值从DRAFT
更改为ENABLED
。
curl -X PATCH \
https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5d51f322e553c814e67af1a3
-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 '[
{
"op": "replace",
"path": "/status",
"value": "ENABLED"
}
]'
op
path
value
path
中指定的属性的新值。 此请求将策略的status
属性设置为“ENABLED”。响应
成功的响应返回HTTP状态200 (正常)以及已更新策略的详细信息,其status
现在设置为ENABLED
。
{
"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"
}
后续步骤
通过学习本教程,您已成功为营销操作创建了数据使用策略。 您现在可以继续学习有关实施数据使用策略的教程,以了解如何检查策略违规并在体验应用程序中处理这些违规。
有关Policy Service API中不同可用操作的详细信息,请参阅策略服务开发人员指南。 有关如何实施Real-Time Customer Profile数据策略的信息,请参阅有关实施受众区段的数据使用合规性的教程。
要了解如何在Experience Platform用户界面中管理使用策略,请参阅策略用户指南。