Point de terminaison des tâches de confidentialité
Ce document explique comment utiliser les tâches de confidentialité à l’aide d’appels API. Plus précisément, il couvre l’utilisation du point d’entrée /job
dans l’API Privacy Service. Avant de lire ce guide, reportez-vous au guide de prise en main pour obtenir des informations importantes à connaître afin d’effectuer avec succès des appels vers l’API, y compris les en-têtes requis et comment lire des exemples d’appels API.
Liste de toutes les tâches list
Vous pouvez afficher une liste de toutes les tâches de confidentialité disponibles au sein de votre organisation en envoyant une requête de GET au point de terminaison /jobs
.
Format d’API
Ce format de requête utilise un paramètre de requête regulation
sur le point de terminaison /jobs
. Par conséquent, il commence par un point d’interrogation (?
) comme illustré ci-dessous. Lors de la mise en liste des ressources, l’API du Privacy Service renvoie jusqu’à 1 000 tâches et pagine la réponse. Utilisez d’autres paramètres de requête (page
, size
et filtres de date) pour filtrer la réponse. Vous pouvez séparer plusieurs paramètres à l’aide d’esperluettes (&
).
status
, fromDate
et toDate
.GET /jobs?regulation={REGULATION}
GET /jobs?regulation={REGULATION}&page={PAGE}
GET /jobs?regulation={REGULATION}&size={SIZE}
GET /jobs?regulation={REGULATION}&page={PAGE}&size={SIZE}
GET /jobs?regulation={REGULATION}&fromDate={FROMDATE}&toDate={TODATE}&status={STATUS}
{REGULATION}
Le type de réglementation pour lequel vous souhaitez effectuer une requête. Les valeurs acceptées sont les suivantes :
apa_aus
ccpa
cpa_usa
cpra_usa
ctdpa_usa
dpdpa
fdbr_usa
gdpr
hipaa_usa
icdpa_usa
lgpd_bra
mcdpa_usa
mhmda_usa
ndpa_usa
nhpa_usa
njdpa_usa
nzpa_nzl
ocpa_usa
pdpa_tha
ql25
tdpsa_usa
ucpa_usa
vcdpa_usa
Pour plus d’informations sur les réglementations de confidentialité représentées par les valeurs ci-dessus, consultez la présentation des réglementations prises en charge.
{PAGE}
0
.{SIZE}
100
est la valeur par défaut et 1000
est le maximum. Dépasser le maximum entraîne le code d’erreur 400 dans l’API.{status}
Le comportement par défaut consiste à inclure tous les états. Si vous spécifiez un type d’état, la requête renvoie uniquement les tâches de confidentialité correspondant à ce type d’état. Les valeurs acceptées sont les suivantes :
processing
complete
error
{toDate}
Il accepte le format AAAA-MM-JJ. La date que vous fournissez est interprétée comme la date de fin exprimée en heure moyenne de Greenwich (GMT).
Si vous ne fournissez pas ce paramètre (et un
fromDate
correspondant), le comportement par défaut renvoie les tâches qui remontent aux sept derniers jours. Si vous utilisez toDate
, vous devez également utiliser le paramètre de requête fromDate
. Si vous n’utilisez pas les deux, l’appel renvoie une erreur 400.{fromDate}
Il accepte le format AAAA-MM-JJ. La date que vous fournissez est interprétée comme la date d’origine de la demande exprimée en heure moyenne de Greenwich (GMT).
Si vous ne fournissez pas ce paramètre (et un
toDate
correspondant), le comportement par défaut renvoie les tâches qui remontent aux sept derniers jours. Si vous utilisez fromDate
, vous devez également utiliser le paramètre de requête toDate
. Si vous n’utilisez pas les deux, l’appel renvoie une erreur 400.{filterDate}
Requête
La requête suivante récupère une liste paginée de toutes les tâches au sein d’une organisation, à partir de la troisième page avec un format de page de 50.
curl -X GET \
https://platform.adobe.io/data/core/privacy/jobs?regulation=gdpr&page=2&size=50 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}'
Réponse
Une réponse réussie renvoie une liste des tâches dont chaque tâche contient des détails comme son jobId
. Dans cet exemple, la réponse contiendrait une liste de 50 tâches commençant sur la troisième page des résultats.
Accès aux pages suivantes
Pour récupérer le jeu suivant de résultats dans une réponse paginée, vous devez effectuer un autre appel API vers le même point d’entrée tout en augmentant le paramètre de requête page
de 1.
Création d’une tâche de confidentialité create-job
Avant de créer une nouvelle demande de tâche, vous devez collecter des informations d’identification concernant les titulaires des données auxquelles vous souhaitez accéder, que vous voulez supprimer ou dont vous souhaitez refuser la vente. Une fois que vous disposez des données requises, elles doivent être fournies dans le payload d’une requête de POST au point de terminaison /jobs
.
L’API Privacy Service prend en charge deux types de requêtes de tâche pour les données personnelles :
- Accès et/ou suppression : accédez (lisez) ou supprimez les données personnelles.
- Opt-out de la vente : marquez les données personnelles comme ne pouvant pas être vendues.
Créer une tâche d’accès/de suppression access-delete
Cette section explique comment effectuer une requête de tâche d’accès ou de suppression à l’aide de l’API.
Format d’API
POST /jobs
Requête
La requête suivante crée une nouvelle requête de tâche configurée par les attributs fournis dans le payload comme décrit ci-dessous.
curl -X POST \
https://platform.adobe.io/data/core/privacy/jobs \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-d '{
"companyContexts": [
{
"namespace": "imsOrgID",
"value": "{ORG_ID}"
}
],
"users": [
{
"key": "DavidSmith",
"action": ["access"],
"userIDs": [
{
"namespace": "email",
"value": "dsmith@acme.com",
"type": "standard"
},
{
"namespace": "ECID",
"type": "standard",
"value": "443636576799758681021090721276",
"isDeletedClientSide": false
}
]
},
{
"key": "user12345",
"action": ["access","delete"],
"userIDs": [
{
"namespace": "email",
"value": "ajones@acme.com",
"type": "standard"
},
{
"namespace": "loyaltyAccount",
"value": "12AD45FE30R29",
"type": "integrationCode"
}
]
}
],
"include": ["Analytics", "AudienceManager","profileService"],
"expandIds": false,
"priority": "normal",
"mergePolicyId": 124,
"regulation": "ccpa"
}'
companyContexts
(Obligatoire)Un tableau contenant des informations d’authentification pour votre organisation. Chaque identifiant répertorié inclut les attributs suivants :
namespace
: l’espace de noms d’un identifiant.value
: la valeur de l’identifiant.
L'un des identifiants utilise required comme imsOrgId
namespace
, avec son value
contenant l'identifiant unique de votre organisation.
Les identifiants supplémentaires peuvent être des qualificateurs d’entreprise spécifiques aux produits (par exemple, Campaign
) qui identifient une intégration avec une application Adobe appartenant à votre organisation. Les valeurs potentielles incluent des noms de compte, des codes client, des identifiants du client ou d’autres identifiants d’application.
users
(Obligatoire)Un tableau contenant une collection d’au moins un utilisateur pour lequel vous souhaitez accéder aux informations ou les supprimer. Un maximum de 1 000 utilisateurs peuvent être fournis dans une seule requête. Chaque objet d’utilisateur contient les informations suivantes :
key
: un identifiant pour un utilisateur utilisé pour exécuter les identifiants de tâches distincts dans les données de réponse. Nous vous recommandons de choisir une chaîne unique et facilement identifiable pour cette valeur afin de pouvoir facilement la référencer ou la rechercher ultérieurement.action
: un tableau répertoriant les actions souhaitées pouvant être effectuées sur les données de l’utilisateur. En fonction des actions que vous souhaitez entreprendre, ce tableau peut inclureaccess
,delete
ou les deux.userIDs
: une collection d’identités pour cet utilisateur. Le nombre d’identités qu’un utilisateur unique peut posséder est limité à neuf. Chaque identité se compose d’unnamespace
, d’unvalue
et d’un qualificateur d’espace de noms (type
). Consultez l’annexe pour en savoir plus sur les propriétés requises.
Consultez le guide de dépannage pour une explication plus détaillée de users
et de userIDs
.
include
(Obligatoire)expandIDs
true
, représente une optimisation du traitement des identifiants dans les applications (actuellement pris en charge uniquement par Analytics). Cette valeur est définie par défaut sur false
si vous l’ignorez.priority
normal
et low
. Si la valeur priority
est omise, le comportement par défaut est normal
.mergePolicyId
profileService
), vous pouvez éventuellement fournir l’identifiant de la stratégie de fusion spécifique que vous souhaitez utiliser pour le regroupement d’identifiants. En spécifiant une stratégie de fusion, les demandes d’accès à des informations personnelles peuvent inclure des informations d’audience lors du renvoi de données sur un client. Une seule stratégie de fusion peut être spécifiée par requête. Si aucune stratégie de fusion n’est fournie, les informations de segmentation ne sont pas incluses dans la réponse.regulation
(Obligatoire)La réglementation de la tâche de confidentialité. Les valeurs suivantes sont acceptées :
apa_aus
ccpa
cpra_usa
gdpr
hipaa_usa
lgpd_bra
nzpa_nzl
pdpa_tha
vcdpa_usa
Pour plus d’informations sur les réglementations de confidentialité représentées par les valeurs ci-dessus, consultez la présentation des réglementations prises en charge.
Réponse
Une réponse réussie renvoie les détails des tâches créées.
{
"jobs": [
{
"jobId": "6fc09b53-c24f-4a6c-9ca2-c6076b0842b6",
"customer": {
"user": {
"key": "DavidSmith",
"action": [
"access"
]
}
}
},
{
"jobId": "6fc09b53-c24f-4a6c-9ca2-c6076be029f3",
"customer": {
"user": {
"key": "user12345",
"action": [
"access"
]
}
}
},
{
"jobId": "6fc09b53-c24f-4a6c-9ca2-c6076bd023j1",
"customer": {
"user": {
"key": "user12345",
"action": [
"delete"
]
}
}
}
],
"requestStatus": 1,
"totalRecords": 3
}
jobId
Lorsque vous avez réussi à soumettre la requête de tâche, vous pouvez passer à l’étape suivante de vérification de l’état de la tâche.
Vérification de l’état d’une tâche check-status
Vous pouvez récupérer des informations sur une tâche spécifique, comme son état de traitement actuel, en incluant jobId
dans le chemin d’accès d’une requête de GET au point de terminaison /jobs
.
Format d’API
GET /jobs/{JOB_ID}
{JOB_ID}
jobId
dans les réponses API réussies pour créer une tâche et répertorier toutes les tâches.Requête
La requête suivante récupère les détails de la tâche dont jobId
est fourni dans le chemin d’accès de requête.
curl -X GET \
https://platform.adobe.io/data/core/privacy/jobs/6fc09b53-c24f-4a6c-9ca2-c6076b0842b6 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}'
Réponse
Une réponse réussie renvoie les détails de la tâche spécifiée.
{
"jobId": "6fc09b53-c24f-4a6c-9ca2-c6076b0842b6",
"requestId": "15700479082313109RX-899",
"userKey": "David Smith",
"action": "access",
"status": "complete",
"submittedBy": "{ACCOUNT_ID}",
"createdDate": "10/02/2019 08:25 PM GMT",
"lastModifiedDate": "10/02/2019 08:25 PM GMT",
"userIds": [
{
"namespace": "email",
"value": "dsmith@acme.com",
"type": "standard",
"namespaceId": 6,
"isDeletedClientSide": false
},
{
"namespace": "ECID",
"value": "1123A4D5690B32A",
"type": "standard",
"namespaceId": 4,
"isDeletedClientSide": false
}
],
"productResponses": [
{
"product": "Analytics",
"retryCount": 0,
"processedDate": "10/02/2019 08:25 PM GMT",
"productStatusResponse": {
"status": "complete",
"message": "Success",
"responseMsgCode": "PRVCY-6000-200",
"responseMsgDetail": "Finished successfully."
}
},
{
"product": "Profile",
"retryCount": 0,
"processedDate": "10/02/2019 08:25 PM GMT",
"productStatusResponse": {
"status": "complete",
"message": "Success",
"responseMsgCode": "PRVCY-6000-200",
"responseMsgDetail": "Success dataSetIds = [5dbb87aad37beb18a96feb61], Failed dataSetIds = []"
}
},
{
"product": "AudienceManager",
"retryCount": 0,
"processedDate": "10/02/2019 08:25 PM GMT",
"productStatusResponse": {
"status": "complete",
"message": "Success",
"responseMsgCode": "PRVCY-6054-200",
"responseMsgDetail": "PARTIALLY COMPLETED- Data not found for some requests, check results for more info.",
"results": {
"processed": ["1123A4D5690B32A"],
"ignored": ["dsmith@acme.com"]
}
}
}
],
"downloadURL": "http://...",
"regulation": "ccpa"
}
productStatusResponse
productResponses
contient des informations sur l’état actuel de la tâche par rapport à une application Experience Cloud spécifique.productStatusResponse.status
productStatusResponse.message
productStatusResponse.responseMsgCode
responseMsgDetail
.productStatusResponse.responseMsgDetail
productStatusResponse.results
results
qui fournit des informations supplémentaires non couvertes par responseMsgDetail
.downloadURL
complete
, cet attribut fournit une URL pour télécharger les résultats de la tâche sous la forme d’un fichier ZIP. Vous pouvez télécharger ce fichier pendant 60 jours à compter de l’achèvement de la tâche.Catégories d’état des tâches status-categories
Le tableau suivant répertorie les différentes catégories d’état des tâches possibles et leur signification correspondante :
complete
processing
submitted
error
processing
si une tâche enfant dépendante est toujours en cours de traitement.Étapes suivantes
Vous savez maintenant comment créer et surveiller des tâches de confidentialité à l’aide de l’API Privacy Service. Pour plus d’informations sur la manière de réaliser les mêmes tâches à l’aide de l’interface utilisateur, consultez la présentation de l’interface utilisateur Privacy Service.