Show Menu
主题×

在API中创建数据使用策略

Adobe Experience Platform使用标签和执行(DULE)是数据管理的核心机制。 DULE 策略服务API 允许您创建和管理DULE策略,以确定可以对包含某些DULE标签的数据执行哪些营销操作。
此文档提供了使用策略服务API创建DULE策略的分步教程。 有关API中提供的不同操作的更全面的指南,请参 阅策略服务开发人员指南

入门指南

本教程需要对创建和评估DULE策略时涉及的下列主要概念有一个有效的了解:
  • 数据治理 : Platform强制执行数据使用合规性的框架。
  • 数据使用标签 : 数据使用标签应用于XDM数据字段,指定如何访问该数据的限制。
  • 体验数据模型(XDM) : Platform组织客户体验数据的标准化框架。
  • 沙箱 : Experience Platform提供虚拟沙箱,将单个Platform实例分为单独的虚拟环境,以帮助开发和发展数字体验应用程序。
在开始本教程之前,请查阅开发 人员指南 ,了解成功调用DULE Policy Service API需要了解的重要信息,包括必需的头以及如何读取示例API调用。

定义营销活动

在Experience Platform治理框架中,营销操作是数据使用者采取的操作,需要检查是否存在违反数据使用策略的情况。
创建DULE策略的第一步是确定策略将评估的营销操作。 可以使用以下选项之一执行此操作:

查找现有营销活动

您可以通过向其中一个端点发出GET请求来查找要由DULE策略评估的现有营销 /marketingActions 操作。
API格式
根据您查找的是由Experience Platform提供的营销活动还是由您的组织创建的自定义营销活动,请分别 marketingActions/core 使用 marketingActions/custom 这些或端点。
GET /marketingActions/core
GET /marketingActions/custom

请求
以下请求使用终 marketingActions/custom 结点,它获取由IMS组织定义的所有营销操作的列表。
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: {IMS_ORG}' \
  -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": "{IMS_ORG}",
            "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": "{IMS_ORG}",
            "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 值。 此值将在创建DULE策略的下 一步中使用

创建新的营销操作

您可以通过向端点发出PUT请求并在请求路径 /marketingActions/custom/ 的末尾提供营销操作的名称来创建新的营销操作。
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: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "exportToThirdParty",
      "description": "Export data to a third party"
    }'

属性
描述
name
要创建的营销操作的名称。 此名称必须与请求路径中提供的名称匹配,否则将出现400(错误请求)错误。
description
营销操作的可读描述。
响应
成功的响应会返回HTTP状态201(已创建)和新创建的营销操作的详细信息。
{
    "name": "exportToThirdParty",
    "description": "Export data to a third party",
    "imsOrg": "{IMS_ORG}",
    "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。
记录新创建的营销操作的URI ID,就像在创建DULE策略的下一步中一样。

创建DULE策略

创建新策略需要您提供营销操作的URI ID,其表达式包含禁止该营销操作的DULE标签。
此表达式称为策 略表达式 ,是包含(A)DULE标签或(B)操作符和操作数(但不同时包含两者)的对象。 反过来,每个操作数也是策略表达式对象。 例如,如果存在标签,则可能禁止向第三方导出数 C1 OR (C3 AND C7) 据的策略。 此表达式将指定为:
"deny": {
  "operator": "OR",
  "operands": [
    {
      "label": "C1"
    },
    {
      "operator": "AND",
      "operands": [
        {
          "label": "C3"
        },
        {
          "label": "C7"
        }
      ]
    }
  ]
}

仅支持OR和AND运算符。
配置策略表达式后,可以通过向端点发出POST请求来创建新的DULE策 /policies/custom 略。
API格式
POST /policies/custom

请求
以下请求通过在请求有效负荷中提供营销操作和策略表达式来创建名为“将数据导出到第三方”的DULE策略。
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: {IMS_ORG}' \
  -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
策略表达式对象。 定义DULE标签和条件,它们会导致策略拒绝中引用的营销操作 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": "{IMS_ORG}",
    "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
唯一标识DULE策略的只读、系统生成的值。
记录新创建的DULE策略的URI ID,就像在下一步中使用它启用策略一样。

启用DULE策略

如果您希望使DULE策略处于状态,则此步骤是可选 DRAFT 的,请注意,默认情况下,策略必须将其状态设置为 ENABLED ,才能参与评估。 有关如何为处于状 态的策略设 置例外的信息,请参阅有关强制实施DULE策略的 DRAFT 教程。
默认情况下,其属性设置 status 为不参 DRAFT 与评估的DULE策略。 您可以通过向端点发出PATCH请求并在请求路径 /policies/custom/ 末尾提供策略的唯一标识符,来启用策略进行评估。
API格式
PATCH /policies/custom/{POLICY_ID}

参数
描述
{POLICY_ID}
id 启用的策略的值。
请求
以下请求对DULE策略的属性执 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: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '[
    {
      "op": "replace",
      "path": "/status",
      "value": "ENABLED"
    }
  ]'

属性
描述
op
要执行的PATCH操作的类型。 此请求执行“替换”操作。
path
要更新的字段的路径。 启用策略时,必须将值设置为“/status”。
value
要分配给中指定的属性的新值 path 。 此请求将策略的属 status 性设置为“ENABLED”。
响应
成功的响应返回HTTP状态200(OK)和更新策略的详细信息,其现 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": "{IMS_ORG}",
    "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中不同可用操作的详细信息,请参阅Policy Service Developer Guide 。 有关如何为实时用户档案数据实施策略的信息,请参阅关于为受众区段强制实 施数据使用合规性的教程
要了解如何在Experience Platform用户界面中管理使用策略,请参阅策 略用户指南