(Alpha) Point de terminaison API des attributs calculés

IMPORTANT

La fonctionnalité d’attribut calculé décrite dans ce document est actuellement en version alpha et n’est pas disponible pour tous les utilisateurs. La documentation et les fonctionnalités peuvent changer.

Les attributs calculés sont des fonctions utilisées pour agrégat des données au niveau du événement en attributs au niveau du profil. Ces fonctions sont automatiquement calculées afin de pouvoir être utilisées pour la segmentation, l’activation et la personnalisation. Ce guide comprend des exemples d’appels d’API pour effectuer des opérations CRUD de base à l’aide du point de terminaison /computedAttributes.

Pour en savoir plus sur les attributs calculés, lisez tout d'abord l'aperçu des attributs calculés.

Prise en main

Le point de terminaison API utilisé dans ce guide fait partie de l'API de Profil client en temps réel.

Avant de continuer, consultez le guide de prise en main de l'API de Profil pour connaître les liens vers la documentation recommandée, un guide de lecture des exemples d'appels d'API qui apparaissent dans ce document et des informations importantes concernant les en-têtes requis nécessaires pour passer des appels à toute API d'Experience Platform.

Configuration d’un champ d’attribut calculé

Pour créer un attribut calculé, vous devez d’abord identifier le champ dans un schéma qui contiendra la valeur de l’attribut calculé.

Consultez la documentation sur la configuration d'un attribut calculé pour obtenir un guide complet de bout en bout sur la création d'un champ d'attribut calculé dans un schéma.

AVERTISSEMENT

Pour pouvoir utiliser le guide d'API, vous devez configurer un champ d'attribut calculé.

Création d’un attribut calculé

Avec votre champ d'attribut calculé défini dans votre schéma activé par Profil, vous pouvez maintenant configurer un attribut calculé. Si vous ne l'avez pas déjà fait, suivez le processus décrit dans la documentation configurant un attribut calculé.

Pour créer un attribut calculé, commencez par envoyer une requête de POST au point de terminaison /config/computedAttributes avec un corps de requête contenant les détails de l'attribut calculé que vous souhaitez créer.

Format d’API

POST /config/computedAttributes

Requête

curl -X POST \
  https://platform.adobe.io/data/core/ups/config/computedAttributes \
  -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" : "birthdayCurrentMonth",
        "path" : "_{TENANT_ID}",
        "description" : "Computed attribute to capture if the customer birthday is in the current month.",
        "expression" : {
            "type" : "PQL", 
            "format" : "pql/text", 
            "value":  "person.birthDate.getMonth() = currentMonth()"
        },
        "schema": 
          {
            "name":"_xdm.context.profile"
          }
          
      }'
Propriété Description
name Le nom du champ attribut calculé, sous forme de chaîne.
path Le chemin d’accès au champ contenant l’attribut calculé. Ce chemin d’accès se trouve dans l’attribut properties du schéma et ne doit PAS inclure le nom du champ. Lors de l’écriture du chemin d’accès, omettez les multiples niveaux des attributs properties.
{TENANT_ID} Si vous ne connaissez pas votre identifiant de client, veuillez vous reporter à la procédure de recherche de votre identifiant de client dans le guide de développement du registre des schémas.
description Une description de l’attribut calculé. Celle-ci s’avère particulièrement utile si vous avez défini plusieurs attributs calculés, car elle aidera les autres membres de votre organisation IMS à déterminer l’attribut calculé correct à utiliser.
expression.value Expression Profile Query Language (PQL) valide. Les attributs calculés prennent actuellement en charge les fonctions suivantes : sum, count, min, max et booléen. Pour obtenir une liste d’exemples d’expressions, consultez la documentation exemple d’expressions PQL.
schema.name La classe sur laquelle le schéma contenant le champ attribut calculé est basé. Par exemple : _xdm.context.experienceevent pour un schéma basé sur la classe XDM ExperienceEvent.

Réponse

Un attribut calculé créé avec succès renvoie un état HTTP 200 (OK) et un corps de réponse contenant les détails de l’attribut calculé que vous venez de créer. Ces détails incluent un id unique, en lecture seule, généré par le système que vous pouvez utiliser pour faire référence à l’attribut calculé pendant les autres opérations API.

{
    "id": "2afcf410-450e-4a39-984d-2de99ab58877",
    "imsOrgId": "{IMS_ORG}",
    "sandbox": {
        "sandboxId": "{SANDBOX_ID}",
        "sandboxName": "prod",
        "type": "production",
        "default": true
    },
    "name": "birthdayCurrentMonth",
    "path": "_{TENANT_ID}",
    "positionPath": [
        "_{TENANT_ID}"
    ],
    "description": "Computed attribute to capture if the customer birthday is in the current month.",
    "expression": {
        "type": "PQL",
        "format": "pql/text",
        "value": "person.birthDate.getMonth() = currentMonth()"
    },
    "schema": {
        "name": "_xdm.context.profile"
    },
    "returnSchema": {
        "meta:xdmType": "string"
    },
    "definedOn": [
        {
            "meta:resourceType": "unions",
            "meta:containerId": "tenant",
            "$ref": "https://ns.adobe.com/xdm/context/profile__union"
        }
    ],
    "encodedDefinedOn":"?\b?VR)JMS?R?())(????+?KL?OJ?K???H??O??+I?(?/(?O??I??/????S?8{?E:",
    "dependencies": [],
    "dependents": [],
    "active": true,
    "type": "ComputedAttribute",
    "createEpoch": 1572555223,
    "updateEpoch": 1572555225
}
Propriété Description
id Un identifiant unique, en lecture seule, généré par le système que vous pouvez utiliser pour faire référence à l’attribut calculé pendant les autres opérations API.
imsOrgId L’organisation IMS associée à l’attribut calculé doit correspondre à la valeur envoyée dans la requête.
sandbox L’objet Environnement de test contient des détails sur l’environnement de test sur lequel l’attribut calculé a été configuré. Ces informations sont tirées de l’en-tête de l’environnement de test envoyé dans la requête. Pour plus d’informations, consultez la présentation des environnements de test.
positionPath Un tableau contenant le path déconstruit vers le champ envoyé dans la requête.
returnSchema.meta:xdmType Le type du champ dans lequel l’attribut calculé sera stocké.
definedOn Un tableau affichant les schémas d’union sur lesquels l’attribut calculé a été défini. Contient un objet par schéma d’union, ce qui signifie qu’il peut y avoir plusieurs objets dans le tableau si l’attribut calculé a été ajouté à plusieurs schémas selon différentes classes.
active Une valeur booléenne affichant si l’attribut calculé est actuellement actif ou non. Par défaut, la valeur est true.
type Le type de ressource créé, dans la case « ComputedAttribute » est la valeur par défaut.
createEpoch et updateEpoch L’heure à laquelle l’attribut calculé a été respectivement créé et mis à jour pour la dernière fois.

Créer un attribut calculé qui référence des attributs calculés existants

Il est également possible de créer un attribut calculé qui référence des attributs calculés existants. Pour ce faire, commencez par envoyer une requête de POST au point de terminaison /config/computedAttributes. Le corps de la requête contient des références aux attributs calculés dans le champ expression.value, comme indiqué dans l'exemple ci-dessous.

Format d’API

POST /config/computedAttributes

Requête

Dans cet exemple, deux attributs calculés ont déjà été créés et seront utilisés pour en définir un troisième. Les attributs calculés existants sont les suivants :

  • totalSpend: Capture le montant total dépensé par un client.
  • countPurchases: compte le nombre d’achats effectués par un client.

La requête ci-dessous fait référence aux deux attributs calculés existants, en utilisant PQL valide pour diviser afin de calculer le nouvel attribut calculé averageSpend.

curl -X POST \
  https://platform.adobe.io/data/core/ups/config/computedAttributes \
  -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" : "averageSpend",
        "path" : "_{TENANT_ID}.purchaseSummary",
        "description" : "Computed attribute to capture the average dollar amount that a customer spends on each purchase.",
        "expression" : {
            "type" : "PQL", 
            "format" : "pql/text", 
            "value":  "_{TENANT_ID}.purchaseSummary.totalSpend/_{TENANT_ID}.purchaseSummary.countPurchases"
        },
        "schema": 
          {
            "name":"_xdm.context.profile"
          }
          
      }'
Propriété Description
name Le nom du champ attribut calculé, sous forme de chaîne.
path Le chemin d’accès au champ contenant l’attribut calculé. Ce chemin d’accès se trouve dans l’attribut properties du schéma et ne doit PAS inclure le nom du champ. Lors de l’écriture du chemin d’accès, omettez les multiples niveaux des attributs properties.
{TENANT_ID} Si vous ne connaissez pas votre identifiant de client, veuillez vous reporter à la procédure de recherche de votre identifiant de client dans le guide de développement du registre des schémas.
description Une description de l’attribut calculé. Celle-ci s’avère particulièrement utile si vous avez défini plusieurs attributs calculés, car elle aidera les autres membres de votre organisation IMS à déterminer l’attribut calculé correct à utiliser.
expression.value Expression PQL valide. Les attributs calculés prennent actuellement en charge les fonctions suivantes : sum, count, min, max et booléen. Pour obtenir une liste d’exemples d’expressions, consultez la documentation exemple d’expressions PQL.

Dans cet exemple, l’expression fait référence à deux attributs calculés existants. Les attributs sont référencés à l'aide des attributs path et name de l'attribut calculé tels qu'ils apparaissent dans le schéma dans lequel les attributs calculés ont été définis. Par exemple, path du premier attribut calculé référencé est _{TENANT_ID}.purchaseSummary et name est totalSpend.
schema.name La classe sur laquelle le schéma contenant le champ attribut calculé est basé. Par exemple : _xdm.context.experienceevent pour un schéma basé sur la classe XDM ExperienceEvent.

Réponse

Un attribut calculé créé avec succès renvoie un état HTTP 200 (OK) et un corps de réponse contenant les détails de l’attribut calculé que vous venez de créer. Ces détails incluent un id unique, en lecture seule, généré par le système que vous pouvez utiliser pour faire référence à l’attribut calculé pendant les autres opérations API.

{
    "id": "2afcf410-450e-4a39-984d-2de99ab58877",
    "imsOrgId": "{IMS_ORG}",
    "sandbox": {
        "sandboxId": "{SANDBOX_ID}",
        "sandboxName": "{SANDBOX_NAME}",
        "type": "production",
        "default": true
    },
    "name": "averageSpend",
    "path": "_{TENANT_ID}.purchaseSummary",
    "positionPath": [
        "_{TENANT_ID}",
        "purchaseSummary"
    ],
    "description": "Computed attribute to capture the average dollar amount that a customer spends on each purchase.",
    "expression" : {
            "type" : "PQL", 
            "format" : "pql/text", 
            "value":  "_{TENANT_ID}.purchaseSummary.totalSpend/_{TENANT_ID}.purchaseSummary.countPurchases"
    },
    "schema": {
        "name": "_xdm.context.profile"
    },
    "returnSchema": {
        "meta:xdmType": "number"
    },
    "definedOn": [
        {
          "meta:resourceType": "unions",
          "meta:containerId": "tenant",
          "$ref": "https://ns.adobe.com/xdm/context/profile__union"
        }
    ],
    "encodedDefinedOn":"\bVR)JMSR())(+KLOJKկHO+I(/(OI/S8{E:",
    "dependencies": [
        "c08a92f3-2418-4a3d-89d0-96f15fda3e5d",
        "4ed9e3aa-57ae-4705-9e8a-7fba9a6a7010"
    ],
    "dependents": [],
    "active": true,
    "evaluationInfo": {
        "batch": {
          "enabled": false
        },
        "continuous": {
          "enabled": true
        },
        "synchronous": {
          "enabled": false
        }
      },
    "type": "ComputedAttribute",
    "createEpoch": 1613696592,
    "updateEpoch": 1613696593
}
Propriété Description
id Un identifiant unique, en lecture seule, généré par le système que vous pouvez utiliser pour faire référence à l’attribut calculé pendant les autres opérations API.
imsOrgId L’organisation IMS associée à l’attribut calculé doit correspondre à la valeur envoyée dans la requête.
sandbox L’objet Environnement de test contient des détails sur l’environnement de test sur lequel l’attribut calculé a été configuré. Ces informations sont tirées de l’en-tête de l’environnement de test envoyé dans la requête. Pour plus d’informations, consultez la présentation des environnements de test.
positionPath Un tableau contenant le path déconstruit vers le champ envoyé dans la requête.
returnSchema.meta:xdmType Le type du champ dans lequel l’attribut calculé sera stocké.
definedOn Un tableau affichant les schémas d’union sur lesquels l’attribut calculé a été défini. Contient un objet par schéma d’union, ce qui signifie qu’il peut y avoir plusieurs objets dans le tableau si l’attribut calculé a été ajouté à plusieurs schémas selon différentes classes.
active Une valeur booléenne affichant si l’attribut calculé est actuellement actif ou non. Par défaut, la valeur est true.
type Le type de ressource créé, dans la case « ComputedAttribute » est la valeur par défaut.
createEpoch et updateEpoch L’heure à laquelle l’attribut calculé a été respectivement créé et mis à jour pour la dernière fois.

Accès aux attributs calculés

Lorsque vous travaillez avec des attributs calculés en utilisant l’API, vous avez deux options pour accéder aux attributs calculés définis par votre organisation. La première consiste à répertorier tous les attributs calculés, la seconde à afficher un attribut calculé spécifique selon son id unique.

Ce document décrit les étapes des deux modèles d'accès. Sélectionnez l’un des éléments suivants pour commencer :

  • Liste de tous les attributs calculés existants : renvoie une liste de tous les attributs calculés existants créés par votre organisation.
  • Vue d’un attribut calculé spécifique : renvoie les détails d’un attribut calculé unique en spécifiant son identifiant lors de la demande.

Liste de tous les attributs calculés

Votre organisation IMS peut créer plusieurs attributs calculés et réaliser une requête GET sur le point de terminaison /config/computedAttributes vous permet de répertorier tous les attributs calculés existant pour votre organisation.

Format d’API

GET /config/computedAttributes

Requête

curl -X GET \
  https://platform.adobe.io/data/core/ups/config/computedAttributes/ \
  -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}' \

Réponse

Une réponse réussie inclut un attribut _page qui fournit le nombre total d’attributs calculés (totalCount) et le nombre d’attributs calculés sur la page (pageSize).

La réponse inclut également un tableau children composé d’un ou de plusieurs objets qui contiennent chacun les détails d’un attribut calculé. Si votre organisation ne dispose d'aucun attribut calculé, totalCount et pageSize seront 0 (zéro) et le tableau children sera vide.

{
    "_page": {
        "totalCount": 2,
        "pageSize": 2
    },
    "children": [
        {
            "id": "2afcf410-450e-4a39-984d-2de99ab58877",
            "imsOrgId": "{IMS_ORG}",
            "sandbox": {
                "sandboxId": "ff0f6870-c46d-11e9-8ca3-036939a64204",
                "sandboxName": "prod",
                "type": "production",
                "default": true
            },
            "name": "birthdayCurrentMonth",
            "path": "person._{TENANT_ID}",
            "positionPath": [
                "person",
                "_{TENANT_ID}"
            ],
            "description": "Computed attribute to capture if the customer birthday is in the current month.",
            "expression": {
                "type": "PQL",
                "format": "pql/text",
                "value": "person.birthDate.getMonth() = currentMonth()"
            },
            "schema": {
                "name": "_xdm.context.profile"
            },
            "returnSchema": {
                "meta:xdmType": "string"
            },
            "definedOn": [
                {
                    "meta:resourceType": "unions",
                    "meta:containerId": "tenant",
                    "$ref": "https://ns.adobe.com/xdm/context/profile__union"
                }
            ],
            "encodedDefinedOn":"?\b?VR)JMS?R?())(????+?KL?OJ?K???H??O??+I?(?/(?O??I??/????S?8{?E:",
            "dependencies": [],
            "dependents": [],
            "active": true,
            "type": "ComputedAttribute",
            "createEpoch": 1572555223,
            "updateEpoch": 1572555225
        },
        {
            "id": "ae0c6552-cf49-4725-8979-116366e8e8d3",
            "imsOrgId": "{IMS_ORG}",
            "sandbox": {
                "sandboxId": "",
                "sandboxName": "",
                "type": "production",
                "default": true
            },
            "name": "productDownloads",
            "path": "_{TENANT_ID}",
            "positionPath": [
                "_{TENANT_ID}"
            ],
            "description": "Calculate total product downloads.",
            "expression": {
                "type" : "PQL", 
                "format" : "pql/text", 
                "value":  "let Y = xEvent[_coresvc.event.subType = \"DOWNLOAD\"].groupBy(_coresvc.attributes[name = \"product\"].value).map({
                  \"downloaded\": this.head()._coresvc.attributes[name = \"product\"].head().value,
                  \"downloadsSum\": this.count(),
                  \"downloadsToday\": this[timestamp occurs today].count(),
                  \"downloadsPast30Days\": this[timestamp occurs < 30 days before now].count(),
                  \"downloadsPast60Days\": this[timestamp occurs < 60 days before now].count(),
                  \"downloadsPast90Days\": this[timestamp occurs < 90 days before now].count() }) in { \"uniqueProductDownloadSum\": Y.count(), \"products\": Y }"
            },
            "returnSchema": {
                "meta:xdmType": "string"
            },
            "definedOn": [
                {
                    "meta:resourceType": "unions",
                    "meta:containerId": "tenant",
                    "$ref": "https://ns.adobe.com/xdm/context/profile__union"
                }
            ],
            "schema": {
                "name": "_xdm.context.profile"
            },
            "encodedDefinedOn": "\u001f?\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000?VR)JMS?R?())(????+?KL?OJ?K???H??O??+I?(?/(?O??I??/????S?\u0005\u00008{?E:\u0000\u0000\u0000",
            "dependencies": [],
            "dependents": [],
            "active": true,
            "type": "ComputedAttribute",
            "createEpoch": 1571945277,
            "updateEpoch": 1571945280
        }
    ],
    "_links": {
        "next": {}
    }
}
Propriété Description
_page.totalCount Le nombre total d’attributs calculés définis par votre organisation IMS.
_page.pageSize Le nombre d’attributs calculés renvoyés sur cette page de résultats. Si pageSize est égal à totalCount, cela signifie qu’il n’y a qu’une seule page de résultats et que tous les attributs calculés ont été renvoyés. Si ces valeurs ne sont pas égales, cela signifie que vous pouvez accéder à des pages de résultats supplémentaires. Consultez _links.next pour plus d’informations.
children Un tableau composé d’un ou plusieurs objets, contenant chacun les détails d’un attribut calculé unique. Si aucun attribut calculé n’a été défini, le tableau children est vide.
id Une valeur unique, en lecture seule, générée par le système attribuée automatiquement à un attribut calculé à sa création. Pour plus d’informations sur les composants d’un objet attribut calculé, veuillez consulter la section Création d’un attribut calculé qui apparaît plus tôt dans ce tutoriel.
_links.next Si une page unique d’attributs calculés est renvoyée, _links.next est un objet vide, comme illustré dans l’exemple de réponse ci-dessus. Si votre organisation dispose de nombreux attributs calculés, ils seront renvoyés sur plusieurs pages auxquelles vous pourrez accéder en effectuant une requête GET sur la valeur _links.next.

Affichage d’un attribut calculé

Vous pouvez vue un attribut calculé spécifique en faisant une demande de GET au point de terminaison /config/computedAttributes et en incluant l'ID d'attribut calculé dans le chemin de requête.

Format d’API

GET /config/computedAttributes/{ATTRIBUTE_ID}
Paramètre Description
{ATTRIBUTE_ID} L’identifiant de l’attribut calculé que vous souhaitez afficher.

Requête

curl -X GET \
  https://platform.adobe.io/data/core/ups/config/computedAttributes/2afcf410-450e-4a39-984d-2de99ab58877 \
  -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}' \

Réponse

{
    "id": "2afcf410-450e-4a39-984d-2de99ab58877",
    "imsOrgId": "{IMS_ORG}",
    "sandbox": {
        "sandboxId": "ff0f6870-c46d-11e9-8ca3-036939a64204",
        "sandboxName": "prod",
        "type": "production",
        "default": true
    },
    "name": "birthdayCurrentMonth",
    "path": "_{TENANT_ID}",
    "positionPath": [
        "_{TENANT_ID}"
    ],
    "description": "Computed attribute to capture if the customer birthday is in the current month.",
    "expression": {
        "type": "PQL",
        "format": "pql/text",
        "value": "person.birthDate.getMonth() = currentMonth()"
    },
    "schema": {
        "name": "_xdm.context.profile"
    },
    "returnSchema": {
        "meta:xdmType": "string"
    },
    "definedOn": [
        {
            "meta:resourceType": "unions",
            "meta:containerId": "tenant",
            "$ref": "https://ns.adobe.com/xdm/context/profile__union"
        }
    ],
    "encodedDefinedOn":"?\b?VR)JMS?R?())(????+?KL?OJ?K???H??O??+I?(?/(?O??I??/????S?8{?E:",
    "dependencies": [],
    "dependents": [],
    "active": true,
    "type": "ComputedAttribute",
    "createEpoch": 1572555223,
    "updateEpoch": 1572555225
}

Mise à jour d’un attribut calculé

Si vous estimez que vous avez besoin de mettre à jour un attribut calculé, vous pouvez effectuer une requête PATCH sur le point de terminaison /config/computedAttributes et inclure l’identifiant de l’attribut calculé que vous souhaitez mettre à jour dans le chemin d’accès de la requête.

Format d’API

PATCH /config/computedAttributes/{ATTRIBUTE_ID}
Paramètre Description
{ATTRIBUTE_ID} L’identifiant de l’attribut calculé que vous souhaitez mettre à jour.

Requête

Cette requête utilise le format du correctif JSON pour mettre à jour la « valeur » du champ « expression ».

curl -X PATCH \
  https://platform.adobe.io/data/core/ups/config/computedAttributes/ae0c6552-cf49-4725-8979-116366e8e8d3 \
  -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": "add",
          "path": "/expression",
          "value": 
          {
            "type" : "PQL", 
            "format" : "pql/text", 
            "value":  "{NEW_EXPRESSION_VALUE}"
          }
        }
      ]'
Propriété Description
{NEW_EXPRESSION_VALUE} Expression Profile Query Language (PQL) valide. Les attributs calculés prennent actuellement en charge les fonctions suivantes : sum, count, min, max et booléen. Pour obtenir une liste d’exemples d’expressions, consultez la documentation exemple d’expressions PQL.

Réponse

Une mise à jour réussie renvoie un état HTTP 204 (No Content) et un corps de réponse vide. Si vous souhaitez confirmer que la mise à jour a réussi, vous pouvez réaliser une requête GET pour afficher l’attribut complété en fonction de son identifiant.

Suppression d’un attribut calculé

Il est également possible de supprimer un attribut calculé à l’aide de l’API. Vous pouvez effectuer ceci à l’aide d’une requête DELETE sur le point de terminaison /config/computedAttributes et inclure l’identifiant de l’attribut calculé que vous souhaitez supprimer dans le chemin d’accès de la requête.

REMARQUE

Soyez prudent lorsque vous supprimez un attribut calculé, car celui-ci peut être utilisé sur plusieurs schémas. Par ailleurs, l’opération DELETE ne peut pas être annulée.

Format d’API

DELETE /config/computedAttributes/{ATTRIBUTE_ID}
Paramètre Description
{ATTRIBUTE_ID} L’identifiant de l’attribut calculé que vous souhaitez supprimer.

Requête

curl -X DELETE \
  https://platform.adobe.io/data/core/ups/config/computedAttributes/ae0c6552-cf49-4725-8979-116366e8e8d3 \
  -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}' \ 

Réponse

Une requête de suppression réussie renvoie un état HTTP 200 (OK) et un corps de réponse vide. Pour confirmer que la suppression a réussi, vous pouvez effectuer une requête GET pour rechercher l’attribut calculé à l’aide de son identifiant. Si l’attribut a été supprimé, vous recevrez un état HTTP 404 (Not Found).

Création d’une définition de segment référençant un attribut calculé

Adobe Experience Platform vous permet de créer des segments définissant un groupe d’attributs ou de comportements spécifiques à partir d’un groupe de profils. Une définition de segment comprend une expression qui encapsule une requête écrite dans PQL. Ces expressions peuvent également référencer des attributs calculés.

L'exemple suivant crée une définition de segment qui référence un attribut calculé existant. Pour en savoir plus sur les définitions de segment et sur la façon de les utiliser dans l’API du service de segmentation, consultez le guide de point de terminaison de l’API des définitions de segment.

Pour commencer, envoyez une requête de POST au point de terminaison /segment/definitions, en fournissant l’attribut calculé dans le corps de la requête.

Format d’API

POST /segment/definitions

Requête

curl -X POST https://platform.adobe.io/data/core/ups/segment/definitions
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {IMS_ORG}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '{
        "name": "downloadedInLast7Days",
        "description": "Has product been downloaded in last 7 days?",
        "schema": {
            "name": "_xdm.context.profile"
        },
        "ttlInDays": 30,
        "expression": {
            "type": "PQL",
            "format": "pql/text",
            "value": "_{TENANT_ID}.downloadsLast7Days > 0",
            "meta": "m"
        },
        "dataGovernancePolicy": {
            "excludeOptOut": true
        }
    }'
Propriété Description
name Nom unique du segment, sous forme de chaîne.
description Description lisible de la définition.
schema.name Le schéma associé aux entités du segment. Se compose d’un champ id ou name.
expression Objet contenant des champs contenant des informations sur la définition de segment.
expression.type Indique le type d’expression. Actuellement, seul « PQL » est pris en charge.
expression.format Indique la structure de l’expression en valeur. Actuellement, seul pql/text est pris en charge.
expression.value Expression PQL valide, dans cet exemple, elle inclut une référence à un attribut calculé existant.

Pour plus d'informations sur les attributs de définition de schéma, reportez-vous aux exemples fournis dans le guide du point de terminaison de l'API de définitions de segment.

Réponse

Une réponse réussie renvoie un état HTTP 200 avec les détails de la définition de segment que vous venez de créer. Pour en savoir plus sur les objets de réponse de définition de segment, consultez le guide du point de terminaison de l'API de définitions de segment.

{
    "id": "add3933f-ac5c-4240-8259-3a4528ee4885",
    "schema": {
        "name": "_xdm.context.profile"
    },
    "ttlInDays": 60,
    "id": "119835c3-5fab-4c18-ae01-4ccab328fc5c",
    "imsOrgId": "{IMS_ORG}",
    "sandbox": {
        "sandboxId": "{SANDBOX_ID}",
        "sandboxName": "{SANDBOX_NAME}",
        "type": "production",
        "default": true
    },
    "name": "segment-downloadedInLast7Days",
    "description": "Has product been downloaded in last 7 days?",
    "expression": {
        "type": "PQL",
        "format": "pql/text",
        "value": "_{TENANT_ID}.downloadsLast7Days > 0",
        "meta": "m"
    },
    "evaluationInfo": {
        "batch": {
            "enabled": false
        },
        "continuous": {
            "enabled": true
        },
        "synchronous": {
            "enabled": false
        }
    },
    "dataGovernancePolicy": {
        "excludeOptOut": true
    },
    "creationTime": 1602016581000,
    "updateEpoch": 1610609459,
    "updateTime": 1610609459000,
    "createEpoch": 1602016554,
    "_etag": "\"8b01611a-0000-0200-0000-5ffff3330000\"",
    "dependents": [
        "023d46c9-a27c-4ea9-a887-2c91ba83f2d1"
    ],
    "definedOn": [
        {
            "meta:resourceType": "unions",
            "meta:containerId": "tenant",
            "$ref": "https://ns.adobe.com/xdm/context/profile__union"
        }
    ],
    "dependencies": [
    "103d46c9-a27c-4ea9-a887-2c91ba83f2d1"
    ],
    "type": "SegmentDefinition"
}

Étapes suivantes

Maintenant que vous avez appris les bases des attributs calculés, vous êtes prêt à commencer à les définir pour votre organisation.

Sur cette page