Questo documento illustra come lavorare con i processi relativi alla privacy utilizzando le chiamate API. In particolare, riguarda l'uso /job
punto finale Privacy Service API. Prima di leggere questa guida, fai riferimento alla sezione guida introduttiva per informazioni importanti che devi conoscere per effettuare correttamente le chiamate all’API, comprese le intestazioni richieste e come leggere le chiamate API di esempio.
Se stai cercando di gestire le richieste di consenso o rinuncia dei clienti, consulta la guida all’endpoint del consenso.
Puoi visualizzare un elenco di tutti i processi disponibili per la privacy all’interno dell’organizzazione effettuando una richiesta di GET al /jobs
punto finale.
Formato API
Questo formato di richiesta utilizza un regulation
parametro di query sul /jobs
punto finale, quindi inizia con un punto interrogativo (?
) come illustrato di seguito. La risposta viene impaginata, consentendoti di utilizzare altri parametri di query (page
e size
) per filtrare la risposta. Puoi separare più parametri utilizzando il simbolo commerciale (&
).
GET /jobs?regulation={REGULATION}
GET /jobs?regulation={REGULATION}&page={PAGE}
GET /jobs?regulation={REGULATION}&size={SIZE}
GET /jobs?regulation={REGULATION}&page={PAGE}&size={SIZE}
Parametro | Descrizione |
---|---|
{REGULATION} |
Il tipo di regolamento per cui eseguire la query. I valori accettati includono:
|
{PAGE} |
Pagina di dati da visualizzare, utilizzando la numerazione basata su 0. Il valore predefinito è 0 . |
{SIZE} |
Il numero di risultati da visualizzare su ogni pagina. Il valore predefinito è 1 e il massimo è 100 . Se si supera il valore massimo, l'API restituisce un errore di codice 400. |
Richiesta
La richiesta seguente recupera un elenco impaginato di tutti i processi all’interno di un’organizzazione IMS, a partire dalla terza pagina con una dimensione di pagina pari a 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}'
Risposta
Una risposta corretta restituisce un elenco di processi, con ogni processo contenente dettagli come jobId
. In questo esempio, la risposta conterrebbe un elenco di 50 lavori, a partire dalla terza pagina dei risultati.
Per recuperare il successivo set di risultati in una risposta impaginata, devi effettuare un’altra chiamata API allo stesso endpoint aumentando la page
parametro query per 1.
Prima di creare una nuova richiesta di lavoro, è necessario innanzitutto raccogliere informazioni identificative sulle persone interessate i cui dati si desidera accedere, eliminare o rinunciare alla vendita. Una volta che si dispone dei dati richiesti, questi devono essere forniti nel payload di una richiesta POST al /jobs
punto finale.
Le applicazioni Adobe Experience Cloud compatibili utilizzano valori diversi per identificare le persone interessate. Consulta la guida su Applicazioni Privacy Service e Experience Cloud per ulteriori informazioni sugli identificatori richiesti per le applicazioni. Per indicazioni più generali sulla determinazione degli ID da inviare a Privacy Service, consulta il documento in dati di identità nelle richieste di privacy.
La Privacy Service L’API supporta due tipi di richieste di lavoro per i dati personali:
Mentre le richieste di accesso e cancellazione possono essere combinate come una singola chiamata API, le richieste di rinuncia devono essere effettuate separatamente.
Questa sezione illustra come effettuare una richiesta di processo di accesso/eliminazione utilizzando l’API.
Formato API
POST /jobs
Richiesta
La seguente richiesta crea una nuova richiesta di lavoro, configurata dagli attributi forniti nel payload come descritto di seguito.
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"],
"expandIds": false,
"priority": "normal",
"analyticsDeleteMethod": "anonymize",
"regulation": "ccpa"
}'
Proprietà | Descrizione |
---|---|
companyContexts (Obbligatorio) |
Matrice contenente informazioni di autenticazione per la tua organizzazione. Ogni identificatore elencato include i seguenti attributi:
imsOrgId come namespace con value contenente l’ID univoco per l’organizzazione IMS. Gli identificatori aggiuntivi possono essere qualificatori aziendali specifici per prodotto (ad esempio, Campaign ), che identifica un’integrazione con un’applicazione Adobe appartenente alla tua organizzazione. I valori potenziali includono nomi account, codici client, ID tenant o altri identificatori di applicazione. |
users (Obbligatorio) |
Matrice contenente una raccolta di almeno un utente le cui informazioni si desidera accedere o eliminare. È possibile fornire un massimo di 1000 ID utente in un’unica richiesta. Ogni oggetto utente contiene le informazioni seguenti:
users e userIDs , vedi guida alla risoluzione dei problemi. |
include (Obbligatorio) |
Matrice di prodotti Adobe da includere nell’elaborazione. Se questo valore è mancante o altrimenti vuoto, la richiesta verrà rifiutata. Includere solo i prodotti con cui l’organizzazione dispone di un’integrazione. Vedi la sezione su valori di prodotto accettati nell'appendice per ulteriori informazioni. |
expandIDs |
Una proprietà facoltativa che, se impostata su true , rappresenta un'ottimizzazione per l'elaborazione degli ID nelle applicazioni (attualmente supportata solo da Analytics). Se omesso, il valore predefinito sarà false . |
priority |
Proprietà facoltativa utilizzata da Adobe Analytics che imposta la priorità per l’elaborazione delle richieste. I valori accettati sono normal e low . Se priority viene omesso, il comportamento predefinito è normal . |
analyticsDeleteMethod |
Proprietà facoltativa che specifica come Adobe Analytics deve gestire i dati personali. Per questo attributo sono accettati due possibili valori:
|
regulation (Obbligatorio) |
Il regolamento per il lavoro sulla privacy. Sono accettati i seguenti valori:
|
Risposta
Una risposta corretta restituisce i dettagli dei nuovi processi creati.
{
"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
}
Proprietà | Descrizione |
---|---|
jobId |
ID univoco e di sola lettura generato dal sistema per un processo. Questo valore viene utilizzato nel passaggio successivo per cercare un lavoro specifico. |
Dopo aver inviato correttamente la richiesta di lavoro, puoi procedere al passaggio successivo di verifica dello stato del processo.
È possibile recuperare informazioni su un processo specifico, ad esempio lo stato di elaborazione corrente, includendo quello di jobId
nel percorso di una richiesta di GET al /jobs
punto finale.
I dati per i processi creati in precedenza sono disponibili per il recupero solo entro 30 giorni dalla data di completamento del processo.
Formato API
GET /jobs/{JOB_ID}
Parametro | Descrizione |
---|---|
{JOB_ID} |
ID del processo da cercare. Questo ID viene restituito in jobId nelle risposte API corrette per creazione di un processo e elenco di tutti i processi. |
Richiesta
La richiesta seguente recupera i dettagli del processo di cui jobId
viene fornito nel percorso della richiesta.
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}'
Risposta
Una risposta corretta restituisce i dettagli del processo specificato.
{
"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"
}
Proprietà | Descrizione |
---|---|
productStatusResponse |
Ogni oggetto all'interno del productResponses contiene informazioni sullo stato corrente del processo rispetto a uno specifico Experience Cloud applicazione. |
productStatusResponse.status |
La categoria di stato corrente del processo. Vedi la tabella seguente per un elenco di categorie di stato disponibili e i loro significati corrispondenti. |
productStatusResponse.message |
Lo stato specifico del processo, corrispondente alla categoria di stato. |
productStatusResponse.responseMsgCode |
Un codice standard per i messaggi di risposta del prodotto ricevuti da Privacy Service. I dettagli del messaggio sono forniti in responseMsgDetail . |
productStatusResponse.responseMsgDetail |
Una spiegazione più dettagliata dello stato del processo. I messaggi per stati simili possono variare tra i prodotti. |
productStatusResponse.results |
Per alcuni stati, alcuni prodotti possono restituire un results oggetto che fornisce informazioni aggiuntive non coperte da responseMsgDetail . |
downloadURL |
Se lo stato del processo è complete , questo attributo fornisce un URL per scaricare i risultati del processo come file ZIP. Questo file è disponibile per il download per 60 giorni al termine del processo. |
Nella tabella seguente sono elencate le diverse possibili categorie di stato del processo e il relativo significato:
Categoria di stato | Significato |
---|---|
complete |
Il processo è completo e (se necessario) i file vengono caricati da ogni applicazione. |
processing |
Le applicazioni hanno riconosciuto il processo e sono in fase di elaborazione. |
submitted |
Il processo viene inviato a ogni applicazione applicabile. |
error |
Errore durante l'elaborazione del processo. È possibile ottenere informazioni più specifiche recuperando i dettagli dei singoli processi. |
Un processo inviato potrebbe rimanere in un processing
se il processo figlio dipendente è ancora in fase di elaborazione.
Ora sai come creare e monitorare i processi relativi alla privacy utilizzando il Privacy Service API. Per informazioni su come eseguire le stesse attività utilizzando l’interfaccia utente, consulta Panoramica dell’interfaccia utente di Privacy Service.