Extremo de directivas

Las políticas de uso de datos son reglas que describen los tipos de acciones de marketing que se le permite o se le restringe, realizar en datos dentro de Experience Platform. El /policies punto final en Policy Service API le permite administrar mediante programación las políticas de uso de datos para su organización.

Primeros pasos

El extremo de API utilizado en esta guía forma parte de la Policy Service API. Antes de continuar, consulte la guía de introducción para ver los vínculos a documentación relacionada, una guía para leer las llamadas de API de ejemplo en este documento e información importante sobre los encabezados necesarios que son necesarios para realizar llamadas correctamente a cualquier API Experience Platform.

Recuperar una lista de directivas

Puede enumerar todas las directivas core o custom haciendo una solicitud de GET a /policies/core o /policies/custom, respectivamente.

Formato de API

GET /policies/core
GET /policies/custom

Solicitud

La siguiente solicitud recupera una lista de directivas personalizadas definidas por su organización.

curl -X GET \
  https://platform.adobe.io/data/foundation/dulepolicy/policies/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}'

Respuesta

Una respuesta correcta incluye una matriz children que enumera los detalles de cada directiva recuperada, incluidos sus valores id. Puede utilizar el campo id de una política en particular para realizar solicitudes lookup, update y delete para esa política.

{
    "_page": {
        "start": "5c6dacdf685a4913dc48937c",
        "count": 2
    },
    "_links": {
        "page": {
            "href": "https://platform.adobe.io/policies/custom?{?limit,start,property}",
            "templated": true
        }
    },
    "children": [
        {
            "name": "Export Data to Third Party",
            "status": "DRAFT",
            "marketingActionRefs": [
                "https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
            ],
            "description": "Conditions under which data cannot be exported to a third party",
            "deny": {
                "operator": "AND",
                "operands": [
                    {
                        "label": "C1"
                    },
                    {
                        "operator": "OR",
                        "operands": [
                            {
                                "label": "C3"
                            },
                            {
                                "label": "C7"
                            }
                        ]
                    }
                ]
            },
            "imsOrg": "{IMS_ORG}",
            "created": 1550691551888,
            "createdClient": "{CLIENT_ID}",
            "createdUser": "{USER_ID}",
            "updated": 1550701472910,
            "updatedClient": "{CLIENT_ID}",
            "updatedUser": "{USER_ID}",
            "_links": {
                "self": {
                    "href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
                }
            },
            "id": "5c6dacdf685a4913dc48937c"
        },
        {
            "name": "Combine Data",
            "status": "ENABLED",
            "marketingActionRefs": [
                "https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/combineData"
            ],
            "description": "Data that meets these conditions cannot be combined.",
            "deny": {
                "operator": "AND",
                "operands": [
                    {
                        "label": "C3"
                    },
                    {
                        "label": "I1"
                    }
                ]
            },
            "imsOrg": "{IMS_ORG}",
            "created": 1550703519823,
            "createdClient": "{CLIENT_ID}",
            "createdUser": "{USER_ID}",
            "updated": 1550714340335,
            "updatedClient": "{CLIENT_ID}",
            "updatedUser": "{USER_ID}",
            "_links": {
                "self": {
                    "href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6ddb9f5c404513dc2dc454"
                }
            },
            "id": "5c6ddb9f5c404513dc2dc454"
        }
    ]
}
Propiedad Descripción
_page.count Número total de directivas recuperadas.
name Nombre para mostrar de una directiva.
status Estado actual de una directiva. Hay tres estados posibles: DRAFT, ENABLED o DISABLED. De forma predeterminada, solo participan en la evaluación las directivas ENABLED . Consulte la descripción general de evaluación de directivas para obtener más información.
marketingActionRefs Matriz que enumera los URI de todas las acciones de marketing aplicables a una directiva.
description Una descripción opcional que proporciona un contexto adicional al caso de uso de la directiva.
deny Un objeto que describe las etiquetas de uso de datos específicas en las que la acción de marketing asociada a una directiva está restringida de realizarse. Consulte la sección sobre creación de una directiva para obtener más información sobre esta propiedad.

Buscar una directiva

Puede buscar una directiva específica incluyendo la propiedad id de esa directiva en la ruta de una solicitud de GET.

Formato de API

GET /policies/core/{POLICY_ID}
GET /policies/custom/{POLICY_ID}
Parámetro Descripción
{POLICY_ID} El id de la directiva que desea buscar.

Solicitud

curl -X GET \
  https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c \
  -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}'

Respuesta

Una respuesta correcta devuelve los detalles de la directiva.

{
    "name": "Export Data to Third Party",
    "status": "DRAFT",
    "marketingActionRefs": [
        "https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
    ],
    "description": "Conditions under which data cannot be exported to a third party",
    "deny": {
        "operator": "AND",
        "operands": [
            {
                "label": "C1"
            },
            {
                "operator": "OR",
                "operands": [
                    {
                        "label": "C3"
                    },
                    {
                        "label": "C7"
                    }
                ]
            }
        ]
    },
    "imsOrg": "{IMS_ORG}",
    "created": 1550703519823,
    "createdClient": "{CLIENT_ID}",
    "createdUser": "{USER_ID}",
    "updated": 1550714340335,
    "updatedClient": "{CLIENT_ID}",
    "updatedUser": "{USER_ID}",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
        }
    },
    "id": "5c6dacdf685a4913dc48937c"
}
Propiedad Descripción
name Nombre para mostrar de la directiva.
status Estado actual de la política. Hay tres estados posibles: DRAFT, ENABLED o DISABLED. De forma predeterminada, solo participan en la evaluación las directivas ENABLED . Consulte la descripción general de evaluación de directivas para obtener más información.
marketingActionRefs Matriz que enumera los URI de todas las acciones de marketing aplicables a la directiva.
description Una descripción opcional que proporciona un contexto adicional al caso de uso de la directiva.
deny Un objeto que describe las etiquetas de uso de datos específicas en las que la acción de marketing asociada a la directiva está restringida de realizarse. Consulte la sección sobre creación de una directiva para obtener más información sobre esta propiedad.

Crear una directiva personalizada

En la API Policy Service , una política se define de la siguiente manera:

  • Una referencia a una acción de marketing específica
  • Expresión que describe las etiquetas de uso de datos con las que la acción de marketing está restringida para no realizarse

Para satisfacer este último requisito, las definiciones de políticas deben incluir una expresión booleana con respecto a la presencia de etiquetas de uso de datos. Esta expresión se denomina expresión de política.

Las expresiones de directiva se proporcionan en forma de propiedad deny dentro de cada definición de directiva. Un ejemplo de un objeto deny simple que solo comprueba la presencia de una sola etiqueta tendría el siguiente aspecto:

"deny": {
    "label": "C1"
}

Sin embargo, muchas políticas especifican condiciones más complejas con respecto a la presencia de etiquetas de uso de datos. Para admitir estos casos de uso, también puede incluir operaciones booleanas para describir sus expresiones de directiva. El objeto de expresión de directiva debe contener una etiqueta o un operador y operandos, pero no ambos. A su vez, cada operando también es un objeto de expresión de política.

Por ejemplo, para definir una directiva que prohíba que una acción de marketing se realice en datos en los que haya etiquetas C1 OR (C3 AND C7) presentes, la propiedad deny de la directiva se especificaría como:

"deny": {
  "operator": "OR",
  "operands": [
    {"label": "C1"},
    {
      "operator": "AND",
      "operands": [
        {"label": "C3"},
        {"label": "C7"}
      ]
    }
  ]
}
Propiedad Descripción
operator Indica la relación condicional entre las etiquetas proporcionadas en la matriz operands del mismo nivel. Los valores aceptados son:
  • OR: La expresión se resuelve en true si está presente alguna de las etiquetas de la operands matriz.
  • AND: La expresión solo se resuelve en true si están presentes todas las etiquetas de la operands matriz.
operands Matriz de objetos, con cada objeto que representa una sola etiqueta o un par adicional de propiedades operator y operands. La presencia de las etiquetas y/o operaciones en una matriz operands se resuelve en true o false en función del valor de su propiedad operator del mismo nivel.
label Nombre de una etiqueta de uso de datos única que se aplica a la directiva.

Puede crear una nueva directiva personalizada realizando una solicitud de POST al extremo /policies/custom .

Formato de API

POST /policies/custom

Solicitud

La siguiente solicitud crea una nueva política que restringe que la acción de marketing exportToThirdParty se realice en los datos que contienen etiquetas C1 OR (C3 AND C7).

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": [
          "https://platform.adobe.io/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"}
              ]
            }
          ]
        }
      }'
Propiedad Descripción
name Nombre para mostrar de la directiva.
status Estado actual de la política. Hay tres estados posibles: DRAFT, ENABLED o DISABLED. De forma predeterminada, solo participan en la evaluación las directivas ENABLED . Consulte la descripción general de evaluación de directivas para obtener más información.
marketingActionRefs Matriz que enumera los URI de todas las acciones de marketing aplicables a la directiva. El URI de una acción de marketing se proporciona en _links.self.href en la respuesta para buscar una acción de marketing.
description Una descripción opcional que proporciona un contexto adicional al caso de uso de la directiva.
deny La expresión de directiva que describe las etiquetas de uso de datos específicas en las que la acción de marketing asociada a la directiva está restringida de realizarse.

Respuesta

Una respuesta correcta devuelve los detalles de la directiva recién creada, incluido su id. Este valor es de solo lectura y se asigna automáticamente cuando se crea la directiva.

{
    "name": "Export Data to Third Party",
    "status": "DRAFT",
    "marketingActionRefs": [
        "https://platform.adobe.io/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": 1550691551888,
    "createdClient": "{CLIENT_ID}",
    "createdUser": "{USER_ID}",
    "updated": 1550691551888,
    "updatedClient": "{CLIENT_ID}",
    "updatedUser": "{USER_ID}",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
        }
    },
    "id": "5c6dacdf685a4913dc48937c"
}

Actualizar una directiva personalizada

IMPORTANTE

Solo puede actualizar las directivas personalizadas. Si desea habilitar o deshabilitar las directivas principales, consulte la sección sobre la actualización de la lista de directivas principales habilitadas.

Puede actualizar una directiva personalizada existente proporcionando su ID en la ruta de una solicitud de PUT con una carga útil que incluya el formulario actualizado de la directiva en su totalidad. En otras palabras, la solicitud del PUT esencialmente reescribe la política.

NOTA

Consulte la sección actualización de una parte de una directiva personalizada si solo desea actualizar uno o más campos para una directiva, en lugar de sobrescribirlo.

Formato de API

PUT /policies/custom/{POLICY_ID}
Parámetro Descripción
{POLICY_ID} El id de la directiva que desea actualizar.

Solicitud

En este ejemplo, las condiciones para exportar datos a un tercero han cambiado y ahora necesita la política que ha creado para denegar esta acción de marketing si hay etiquetas de datos C1 AND C5 presentes.

La siguiente solicitud actualiza la directiva existente para incluir la nueva expresión de directiva. Tenga en cuenta que, como esta solicitud esencialmente reescribe la directiva, todos los campos deben incluirse en la carga útil, incluso aunque algunos de sus valores no se estén actualizando.

curl -X PUT \
  https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c \
  -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": "AND",
          "operands": [
            {"label": "C1"},
            {"label": "C5"}
          ]
        }
      }'
Propiedad Descripción
name Nombre para mostrar de la directiva.
status Estado actual de la política. Hay tres estados posibles: DRAFT, ENABLED o DISABLED. De forma predeterminada, solo participan en la evaluación las directivas ENABLED . Consulte la descripción general de evaluación de directivas para obtener más información.
marketingActionRefs Matriz que enumera los URI de todas las acciones de marketing aplicables a la directiva. El URI de una acción de marketing se proporciona en _links.self.href en la respuesta para buscar una acción de marketing.
description Una descripción opcional que proporciona un contexto adicional al caso de uso de la directiva.
deny La expresión de directiva que describe las etiquetas de uso de datos específicas en las que la acción de marketing asociada a la directiva está restringida de realizarse. Consulte la sección sobre creación de una directiva para obtener más información sobre esta propiedad.

Respuesta

Una respuesta correcta devuelve los detalles de la directiva actualizada.

{
    "name": "Export Data to Third Party",
    "status": "DRAFT",
    "marketingActionRefs": [
        "https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/core/exportToThirdParty"
    ],
    "description": "Conditions under which data cannot be exported to a third party",
    "deny": {
        "operator": "AND",
        "operands": [
            {
                "label": "C1"
            },
            {
                "label": "C5"
            }
        ]
    },
    "imsOrg": "{IMS_ORG}",
    "created": 1550691551888,
    "createdClient": "{CLIENT_ID}",
    "createdUser": "{USER_ID}",
    "updated": 1550701472910,
    "updatedClient": "{CLIENT_ID}",
    "updatedUser": "{USER_ID}",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
        }
    },
    "id": "5c6dacdf685a4913dc48937c"
}

Actualizar una parte de una directiva personalizada

IMPORTANTE

Solo puede actualizar las directivas personalizadas. Si desea habilitar o deshabilitar las directivas principales, consulte la sección sobre la actualización de la lista de directivas principales habilitadas.

Se puede actualizar una parte específica de una directiva mediante una solicitud del PATCH. A diferencia de las solicitudes del PUT que reescriben la directiva, el PATCH solicita actualizar solo las propiedades especificadas en el cuerpo de la solicitud. Esto resulta especialmente útil cuando desea habilitar o deshabilitar una directiva, ya que solo necesita proporcionar la ruta a la propiedad apropiada (/status) y su valor (ENABLED o DISABLED).

NOTA

Las cargas útiles para solicitudes de PATCH siguen el formato JSON Patch . Consulte la guía de fundamentos de API para obtener más información sobre la sintaxis aceptada.

La API Policy Service es compatible con las operaciones del parche JSON add, remove y replace, y le permite combinar varias actualizaciones en una sola llamada, como se muestra en el ejemplo siguiente.

Formato de API

PATCH /policies/custom/{POLICY_ID}
Parámetro Descripción
{POLICY_ID} El id de la directiva cuyas propiedades desea actualizar.

Solicitud

La siguiente solicitud utiliza dos operaciones replace para cambiar el estado de la directiva de DRAFT a ENABLED y actualizar el campo description con una nueva descripción.

IMPORTANTE

Al enviar varias operaciones de PATCH en una sola solicitud, se procesan en el orden en que aparecen en la matriz. Asegúrese de que está enviando las solicitudes en el orden correcto cuando sea necesario.

curl -X PATCH \
  https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c \
  -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": "replace",
            "path": "/description",
            "value": "New policy description."
          }
        ]'

Respuesta

Una respuesta correcta devuelve los detalles de la directiva actualizada.

{
    "name": "Export Data to Third Party",
    "status": "ENABLED",
    "marketingActionRefs": [
        "https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
    ],
    "description": "New policy description.",
    "deny": {
        "operator": "AND",
        "operands": [
            {
                "label": "C1"
            },
            {
                "operator": "OR",
                "operands": [
                    {
                        "label": "C3"
                    },
                    {
                        "label": "C7"
                    }
                ]
            }
        ]
    },
    "imsOrg": "{IMS_ORG}",
    "created": 1550703519823,
    "createdClient": "{CLIENT_ID}",
    "createdUser": "{USER_ID}",
    "updated": 1550712163182,
    "updatedClient": "{CLIENT_ID}",
    "updatedUser": "{USER_ID}",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
        }
    },
    "id": "5c6dacdf685a4913dc48937c"
}

Eliminar una directiva personalizada

Puede eliminar una directiva personalizada incluyendo su id en la ruta de una solicitud del DELETE.

ADVERTENCIA

Una vez eliminadas, las políticas no se pueden recuperar. Se recomienda realizar primero una solicitud de búsqueda (GET) para ver la directiva y confirmar que es la directiva correcta que desea eliminar.

Formato de API

DELETE /policies/custom/{POLICY_ID}
Parámetro Descripción
{POLICY_ID} El ID de la directiva que desea eliminar.

Solicitud

curl -X DELETE \
  https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6ddb56eb60ca13dbf8b9a8 \
  -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}'

Respuesta

Una respuesta correcta devuelve el estado HTTP 200 (OK) con un cuerpo en blanco.

Puede confirmar la eliminación intentando buscar (GET) la directiva de nuevo. Debería recibir un error HTTP 404 (no encontrado) si la directiva se ha eliminado correctamente.

Recuperar una lista de directivas principales habilitadas

De forma predeterminada, solo participan en la evaluación las políticas de uso de datos activadas. Puede recuperar una lista de directivas principales que su organización actualmente habilita realizando una solicitud de GET al extremo /enabledCorePolicies .

Formato de API

GET /enabledCorePolicies

Solicitud

curl -X GET \
  https://platform.adobe.io/data/foundation/dulepolicy/enabledCorePolicies \
  -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}'

Respuesta

Una respuesta correcta devuelve la lista de directivas principales habilitadas en una matriz policyIds.

{
  "policyIds": [
    "corepolicy_0001",
    "corepolicy_0002",
    "corepolicy_0003",
    "corepolicy_0004",
    "corepolicy_0005",
    "corepolicy_0006",
    "corepolicy_0007",
    "corepolicy_0008"
  ],
  "imsOrg": "{IMS_ORG}",
  "created": 1529696681413,
  "createdClient": "{CLIENT_ID}",
  "createdUser": "{USER_ID}",
  "updated": 1529697651972,
  "updatedClient": "{CLIENT_ID}",
  "updatedUser": "{USER_ID}",
  "_links": {
    "self": {
      "href": "https://platform.adobe.io:443/data/foundation/dulepolicy/enabledCorePolicies"
    }
  }
}

Actualizar la lista de directivas principales habilitadas

De forma predeterminada, solo participan en la evaluación las políticas de uso de datos activadas. Al realizar una solicitud de PUT al extremo /enabledCorePolicies , puede actualizar la lista de directivas principales habilitadas para su organización mediante una sola llamada.

NOTA

Este extremo solo puede habilitar o deshabilitar las directivas principales. Para habilitar o deshabilitar directivas personalizadas, consulte la sección sobre actualizar una parte de una directiva.

Formato de API

PUT /enabledCorePolicies

Solicitud

La siguiente solicitud actualiza la lista de directivas principales habilitadas en función de los ID proporcionados en la carga útil.

curl -X GET \
  https://platform.adobe.io/data/foundation/dulepolicy/enabledCorePolicies \
  -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}' \
  -d '{
        "policyIds": [
          "corepolicy_0001",
          "corepolicy_0002",
          "corepolicy_0007",
          "corepolicy_0008"
        ]
      }'
Propiedad Descripción
policyIds Una lista de los ID de directivas principales que se van a habilitar. Las políticas principales que no se incluyan se establecen en estado DISABLED y no participan en la evaluación.

Respuesta

Una respuesta correcta devuelve la lista actualizada de directivas principales habilitadas en una matriz policyIds.

{
  "policyIds": [
    "corepolicy_0001",
    "corepolicy_0002",
    "corepolicy_0007",
    "corepolicy_0008"
  ],
  "imsOrg": "{IMS_ORG}",
  "created": 1529696681413,
  "createdClient": "{CLIENT_ID}",
  "createdUser": "{USER_ID}",
  "updated": 1595876052649,
  "updatedClient": "{CLIENT_ID}",
  "updatedUser": "{USER_ID}",
  "_links": {
    "self": {
      "href": "https://platform.adobe.io:443/data/foundation/dulepolicy/enabledCorePolicies"
    }
  }
}

Pasos siguientes

Una vez que haya definido nuevas políticas o actualizado las existentes, puede utilizar la API Policy Service para probar las acciones de marketing frente a etiquetas o conjuntos de datos específicos y ver si las políticas están generando infracciones como se esperaba. Para obtener más información, consulte la guía de puntos finales de evaluación de directivas .

En esta página