[Version bêta]{class="badge informative"} [Version bêta]{class="badge informative"}
Point d’entrée de l’ordre de travail :headding-anchor:work-order-endpoint
Le point d’entrée /workorder
de l’API Data Hygiene vous permet de gérer par programmation les demandes de suppression d’enregistrements dans Adobe Experience Platform.
Prise en main
Le point d’entrée utilisé dans ce guide fait partie de lʼAPI Data Hygiene. Avant de continuer, consultez la présentation pour obtenir des liens vers la documentation associée, un guide de lecture des exemples d’appels API dans ce document et des informations importantes sur les en-têtes requis pour réussir des appels vers n’importe quelle API d’Experience Platform.
Création d’une requête de suppression d’enregistrement :headding-anchor:create
Vous pouvez supprimer une ou plusieurs identités d’un seul jeu de données ou de tous les jeux de données en envoyant une requête de POST au point de terminaison /workorder
.
Une seule requête de suppression d’enregistrement via l’interface utilisateur vous permet d’envoyer 10 000 identifiants à la fois. La méthode d’API pour supprimer des enregistrements permet l’envoi simultané de 100 000 identifiants.
Il est recommandé d’envoyer autant d’ID par demande que possible, jusqu’à votre limite d’ID. Lorsque vous envisagez de supprimer un volume élevé d’identifiants, il est préférable d’éviter d’envoyer un volume faible ou une seule demande de suppression d’identifiant par enregistrement.
Format d’API
POST /workorder
Requête
Selon la valeur de datasetId
fournie dans le payload de la requête, l’appel API supprime les identités de tous les jeux de données ou d’un seul jeu de données que vous spécifiez. La requête suivante supprime trois identités d’un jeu de données spécifique.
curl -X POST \
https://platform.adobe.io/data/core/hygiene/workorder \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"action": "delete_identity",
"datasetId": "c48b51623ec641a2949d339bad69cb15",
"displayName": "Example Record Delete Request",
"description": "Cleanup identities required by Jira request 12345.",
"identities": [
{
"namespace": {
"code": "email"
},
"id": "poul.anderson@example.com"
},
{
"namespace": {
"code": "email"
},
"id": "cordwainer.smith@gmail.com"
},
{
"namespace": {
"code": "email"
},
"id": "cyril.kornbluth@yahoo.com"
}
]
}'
action
delete_identity
pour les suppressions d’enregistrement.datasetId
ALL
.Si vous spécifiez un seul jeu de données, une identité principale doit être définie pour le schéma de modèle de données d’expérience (XDM) associé au jeu de données. Si le jeu de données ne possède pas d’identité principale, il doit alors disposer d’une carte d’identité pour pouvoir être modifié par une requête Data Lifecycle.
S’il existe une carte d’identité, elle sera présente sous la forme d’un champ de niveau supérieur nommé
identityMap
.Notez qu’une ligne de jeu de données peut avoir de nombreuses identités dans sa carte d’identité, mais qu’une seule peut être marquée comme principale.
"primary": true
doit être inclus pour forcer id
à correspondre à une identité principale.displayName
description
identities
Un tableau contenant les identités d’au moins un utilisateur dont vous souhaitez supprimer les informations. Chaque identité se compose d’un espace de noms d’identité et d’une valeur :
namespace
: contient une seule propriété de chaîne,code
, qui représente l’espace de noms d’identité.id
: la valeur de l’identité.
Si datasetId
spécifie un seul jeu de données, chaque entité sous identities
doit utiliser le même espace de noms d’identité que l’identité principale du schéma.
Si datasetId
est défini sur ALL
, le tableau identities
n’est limité à aucun espace de noms unique, car chaque jeu de données peut être différent. Toutefois, les requêtes sont toujours limitées aux espaces de noms disponibles pour l’organisation, comme indiqué par le service d’identités.
Réponse
Une réponse réussie renvoie les détails de la suppression de l’enregistrement.
{
"workorderId": "a15345b8-a2d6-4d6f-b33c-5b593e86439a",
"orgId": "{ORG_ID}",
"bundleId": "BN-35c1676c-3b4f-4195-8d6c-7cf5aa21efdd",
"action": "identity-delete",
"createdAt": "2022-07-21T18:05:28.316029Z",
"updatedAt": "2022-07-21T17:59:43.217801Z",
"status": "received",
"createdBy": "{USER_ID}",
"datasetId": "c48b51623ec641a2949d339bad69cb15",
"displayName": "Example Record Delete Request",
"description": "Cleanup identities required by Jira request 12345."
}
workorderId
orgId
bundleId
action
identity-delete
.createdAt
updatedAt
status
createdBy
datasetId
ALL
.Récupération de l’état d’une suppression d’enregistrement :headding-anchor:lookup
Après avoir créé une requête de suppression d’enregistrement, vous pouvez vérifier son état à l’aide d’une requête de GET.
Format d’API
GET /workorder/{WORK_ORDER_ID}
{WORK_ORDER_ID}
workorderId
de l’enregistrement supprimé que vous recherchez.Requête
curl -X GET \
https://platform.adobe.io/data/core/hygiene/workorder/BN-35c1676c-3b4f-4195-8d6c-7cf5aa21efdd \
-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}'
Réponse
Une réponse réussie renvoie les détails de l’opération de suppression, y compris son statut actuel.
{
"workorderId": "a15345b8-a2d6-4d6f-b33c-5b593e86439a",
"orgId": "{ORG_ID}",
"bundleId": "BN-35c1676c-3b4f-4195-8d6c-7cf5aa21efdd",
"action": "identity-delete",
"createdAt": "2022-07-21T18:05:28.316029Z",
"updatedAt": "2022-07-21T17:59:43.217801Z",
"status": "received",
"createdBy": "{USER_ID}",
"datasetId": "c48b51623ec641a2949d339bad69cb15",
"displayName": "Example Record Delete Request",
"description": "Cleanup identities required by Jira request 12345.",
"productStatusDetails": [
{
"productName": "Data Management",
"productStatus": "success",
"createdAt": "2022-08-08T16:51:31.535872Z"
},
{
"productName": "Identity Service",
"productStatus": "success",
"createdAt": "2022-08-08T16:43:46.331150Z"
},
{
"productName": "Profile Service",
"productStatus": "waiting",
"createdAt": "2022-08-08T16:37:13.443481Z"
}
]
}
workorderId
orgId
bundleId
action
identity-delete
.createdAt
updatedAt
status
createdBy
datasetId
ALL
.productStatusDetails
Un tableau qui répertorie le statut actuel des processus en aval liés à la requête. Chaque objet Tableau contient les propriétés suivantes :
productName
: le nom du service en aval.productStatus
: le statut actuel du traitement de la requête du service en aval.createdAt
: la date et l’heure auxquelles le statut le plus récent a été publié par le service.
Mise à jour d’une requête de suppression d’enregistrement
Vous pouvez mettre à jour displayName
et description
pour une suppression d’enregistrement en effectuant une requête de PUT.
Format d’API
PUT /workorder{WORK_ORDER_ID}
{WORK_ORDER_ID}
workorderId
de l’enregistrement supprimé que vous recherchez.Requête
curl -X PUT \
https://platform.adobe.io/data/core/hygiene/workorder/BN-35c1676c-3b4f-4195-8d6c-7cf5aa21efdd \
-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}' \
-d '{
"displayName" : "Update - displayName",
"description" : "Update - description"
}'
displayName
description
Réponse
Une réponse réussie renvoie les détails de la suppression de l’enregistrement.
{
"workorderId": "DI-61828416-963a-463f-91c1-dbc4d0ddbd43",
"orgId": "{ORG_ID}",
"bundleId": "BN-aacacc09-d10c-48c5-a64c-2ced96a78fca",
"action": "identity-delete",
"createdAt": "2024-06-12T20:02:49.398448Z",
"updatedAt": "2024-06-13T21:35:01.944749Z",
"operationCount": 1,
"status": "ingested",
"createdBy": "{USER_ID}",
"datasetId": "666950e6b7e2022c9e7d7a33",
"datasetName": "Acme_Dataset_E2E_Identity_Map_Schema_5_1718178022379",
"displayName": "Updated Display Name",
"description": "Updated Description",
"productStatusDetails": [
{
"productName": "Data Management",
"productStatus": "waiting",
"createdAt": "2024-06-12T20:11:18.447747Z"
},
{
"productName": "Identity Service",
"productStatus": "success",
"createdAt": "2024-06-12T20:36:09.020832Z"
},
{
"productName": "Profile Service",
"productStatus": "waiting",
"createdAt": "2024-06-12T20:11:18.447747Z"
},
{
"productName": "Journey Orchestrator",
"productStatus": "success",
"createdAt": "2024-06-12T20:12:19.843199Z"
}
]
}
workorderId
orgId
bundleId
action
identity-delete
.createdAt
updatedAt
status
createdBy
datasetId
ALL
.productStatusDetails
Un tableau qui répertorie le statut actuel des processus en aval liés à la requête. Chaque objet Tableau contient les propriétés suivantes :
productName
: le nom du service en aval.productStatus
: le statut actuel du traitement de la requête du service en aval.createdAt
: la date et l’heure auxquelles le statut le plus récent a été publié par le service.