Endpoint "privacy jobs"
Questo documento illustra come lavorare con i processi relativi alla privacy utilizzando le chiamate API. In particolare, riguarda l'utilizzo dell'endpoint /job
nell'API Privacy Service. Prima di leggere questa guida, consulta la guida introduttiva per informazioni importanti che devi conoscere per effettuare correttamente chiamate all'API, incluse le intestazioni richieste e la lettura delle chiamate API di esempio.
Elenca tutti i processi list
È possibile visualizzare un elenco di tutti i processi di privacy disponibili all'interno dell'organizzazione effettuando una richiesta GET all'endpoint /jobs
.
Formato API
Questo formato di richiesta utilizza un parametro di query regulation
sull'endpoint /jobs
, quindi inizia con un punto interrogativo (?
) come mostrato di seguito. Quando vengono elencate le risorse, l’API Privacy Service restituisce fino a 1000 processi e impagina la risposta. Utilizzare altri parametri di query (page
, size
e filtri di data) per filtrare la risposta. È possibile separare più parametri utilizzando il simbolo commerciale (&
).
status
, fromDate
e 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}
Tipo di regolamento per cui eseguire la query. I valori accettati includono:
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
Per ulteriori informazioni sulle normative sulla privacy rappresentate dai valori sopra riportati, consulta la panoramica sulle normative supportate.
{PAGE}
0
.{SIZE}
100
e il massimo è 1000
. Se si supera il valore massimo, l’API restituisce un errore 400 codici.{status}
Il comportamento predefinito consiste nell’includere tutti gli stati. Se si specifica un tipo di stato, la richiesta restituisce solo i processi di privacy che corrispondono a tale tipo di stato. I valori accettati includono:
processing
complete
error
{toDate}
Accetta il formato AAAA-MM-GG. La data fornita viene interpretata come data di cessazione espressa in ora di Greenwich (GMT).
Se non fornisci questo parametro (e un
fromDate
corrispondente), il comportamento predefinito restituisce i processi che hanno restituito i dati negli ultimi sette giorni. Se si utilizza toDate
, è necessario utilizzare anche il parametro di query fromDate
. Se non utilizzi entrambi, la chiamata restituisce un errore 400.{fromDate}
Accetta il formato AAAA-MM-GG. La data fornita viene interpretata come la data di origine della richiesta espressa in ora di Greenwich (GMT).
Se non fornisci questo parametro (e un
toDate
corrispondente), il comportamento predefinito restituisce i processi che hanno restituito i dati negli ultimi sette giorni. Se si utilizza fromDate
, è necessario utilizzare anche il parametro di query toDate
. Se non utilizzi entrambi, la chiamata restituisce un errore 400.{filterDate}
Richiesta
La richiesta seguente recupera un elenco impaginato di tutti i processi all’interno di un’organizzazione, a partire dalla terza pagina con dimensioni 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
In caso di esito positivo, la risposta restituisce un elenco di processi, ognuno dei quali contiene dettagli quali jobId
. In questo esempio, la risposta conterrà un elenco di 50 processi, a partire dalla terza pagina dei risultati.
Accesso alle pagine successive
Per recuperare il successivo set di risultati in una risposta impaginata, è necessario effettuare un'altra chiamata API allo stesso endpoint aumentando di 1 il parametro di query page
.
Creare un processo di privacy create-job
Prima di creare una nuova richiesta di lavoro, devi raccogliere informazioni di identificazione sulle persone interessate a cui desideri accedere, eliminare o rinunciare alla vendita dei dati. Una volta ottenuti i dati richiesti, questi devono essere forniti nel payload di una richiesta POST all'endpoint /jobs
.
L'API Privacy Service supporta due tipi di richieste di processi per dati personali:
- Accesso e/o eliminazione: accesso (lettura) o eliminazione di dati personali.
- Rinuncia: contrassegna i dati personali come non venduti.
Creare un processo di accesso/eliminazione access-delete
In questa sezione viene illustrato come effettuare una richiesta di processo di accesso/eliminazione utilizzando l’API.
Formato API
POST /jobs
Richiesta
La richiesta seguente crea una nuova richiesta di processo, 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","profileService"],
"expandIds": false,
"priority": "normal",
"mergePolicyId": 124,
"regulation": "ccpa"
}'
companyContexts
(Obbligatorio)Array contenente le informazioni di autenticazione per l’organizzazione. Ogni identificatore elencato include i seguenti attributi:
namespace
: spazio dei nomi di un identificatore.value
: valore dell'identificatore.
È obbligatorio che uno degli identificatori utilizzi imsOrgId
come namespace
, con il relativo value
contenente l'ID univoco per la tua organizzazione.
Ulteriori identificatori possono essere qualificatori aziendali specifici per prodotto (ad esempio, Campaign
), che identificano un'integrazione con un'applicazione Adobe appartenente alla tua organizzazione. I valori potenziali includono nomi di account, codici client, ID tenant o altri identificatori dell’applicazione.
users
(Obbligatorio)Matrice contenente una raccolta di almeno un utente di cui si desidera accedere o eliminare le informazioni. Un massimo di 1000 utenti può essere fornito in una singola richiesta. Ogni oggetto utente contiene le seguenti informazioni:
key
: identificatore di un utente utilizzato per qualificare gli ID di processo separati nei dati di risposta. È consigliabile scegliere una stringa univoca e facilmente identificabile per questo valore in modo che possa essere facilmente referenziato o cercato in un secondo momento.action
: array che elenca le azioni desiderate da eseguire sui dati dell'utente. A seconda delle azioni che si desidera eseguire, l'array deve includereaccess
,delete
o entrambi.userIDs
: raccolta di identità per l'utente. Il numero di identità che un singolo utente può avere è limitato a nove. Ogni identità è costituita da unnamespace
, unvalue
e un qualificatore dello spazio dei nomi (type
). Per ulteriori dettagli su queste proprietà obbligatorie, vedere l'appendice.
Per una spiegazione più dettagliata di users
e userIDs
, vedere la guida alla risoluzione dei problemi.
include
(Obbligatorio)expandIDs
true
, rappresenta un'ottimizzazione per l'elaborazione degli ID nelle applicazioni (attualmente supportata solo da Analytics). Se omesso, il valore predefinito sarà false
.priority
normal
e low
. Se priority
viene omesso, il comportamento predefinito è normal
.mergePolicyId
profileService
), è possibile fornire facoltativamente l'ID del criterio di unione specifico che si desidera utilizzare per l'unione degli ID. Specificando un criterio di unione, le richieste di privacy possono includere informazioni sul pubblico quando si restituiscono dati su un cliente. È possibile specificare un solo criterio di unione per richiesta. Se non viene fornito alcun criterio di unione, le informazioni di segmentazione non vengono incluse nella risposta.regulation
(Obbligatorio)Il regolamento per il lavoro sulla privacy. Sono accettati i seguenti valori:
apa_aus
ccpa
cpra_usa
gdpr
hipaa_usa
lgpd_bra
nzpa_nzl
pdpa_tha
vcdpa_usa
Per ulteriori informazioni sulle normative sulla privacy rappresentate dai valori sopra riportati, consulta la panoramica sulle normative supportate.
Risposta
In caso di esito positivo, la risposta 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
}
jobId
Dopo aver inviato correttamente la richiesta del processo, puoi procedere al passaggio successivo di verifica dello stato del processo.
Controllare lo stato di un processo check-status
È possibile recuperare informazioni su un processo specifico, ad esempio il relativo stato di elaborazione corrente, includendo il processo jobId
nel percorso di una richiesta GET all'endpoint /jobs
.
Formato API
GET /jobs/{JOB_ID}
{JOB_ID}
jobId
nelle risposte API riuscite per la creazione di un processo e l'elenco di tutti i processi.Richiesta
La richiesta seguente recupera i dettagli del processo di cui viene fornito jobId
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
In caso di esito positivo, la risposta 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"
}
productStatusResponse
productResponses
contiene informazioni sullo stato corrente del processo rispetto a una specifica applicazione Experience Cloud.productStatusResponse.status
productStatusResponse.message
productStatusResponse.responseMsgCode
responseMsgDetail
.productStatusResponse.responseMsgDetail
productStatusResponse.results
results
che fornisce informazioni aggiuntive non coperte da responseMsgDetail
.downloadURL
complete
, questo attributo fornisce un URL per scaricare i risultati del processo come file ZIP. Questo file è disponibile per il download per 60 giorni dopo il completamento del processo.Categorie stato processo status-categories
Nella tabella seguente sono elencate le diverse categorie possibili di stato dei job e il relativo significato:
complete
processing
submitted
error
processing
se ha un processo figlio dipendente in fase di elaborazione.Passaggi successivi
È ora possibile creare e monitorare i processi relativi alla privacy utilizzando l'API Privacy Service. Per informazioni su come eseguire le stesse attività utilizzando l'interfaccia utente, vedere la panoramica dell'interfaccia utente Privacy Service.