Lavori di privacy

Questo documento descrive come lavorare con i processi di privacy utilizzando le chiamate API. Nello specifico, copre l'utilizzo dell' /job endpoint nell' Privacy Service API. Prima di leggere questa guida, fate riferimento alla sezione introduttiva per informazioni importanti che è necessario conoscere per eseguire correttamente le chiamate all'API, comprese le intestazioni richieste e come leggere le chiamate API di esempio.

NOTE

Se state tentando di gestire richieste di consenso o di rifiuto da parte dei clienti, fate riferimento alla guida all'endpoint delconsenso.

Elenca tutti i processi

Potete visualizzare un elenco di tutti i processi di privacy disponibili all’interno dell’organizzazione effettuando una richiesta di GET all’ /jobs endpoint.

Formato API

Questo formato di richiesta utilizza un parametro di regulation query sull’ /jobs endpoint, pertanto inizia con un punto interrogativo (?) come mostrato di seguito. La risposta è impaginata e consente di utilizzare altri parametri di query (page e size) per filtrare la risposta. Potete separare più parametri utilizzando le e 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 sono gdpr, ccpa, lgpd_brae pdpa_tha.
{PAGE} Pagina di dati da visualizzare, con numerazione basata su 0. Il valore predefinito è 0.
{SIZE} Il numero di risultati da visualizzare su ogni pagina. Il valore predefinito è 1 e il valore massimo è 100. Se si supera il limite massimo, l'API restituisce un errore di 400 codice.

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: {IMS_ORG}'

Risposta

Una risposta corretta restituisce un elenco di processi, con ogni processo contenente dettagli come il relativo jobId. In questo esempio, la risposta conterrebbe un elenco di 50 processi, a partire dalla terza pagina dei risultati.

Accesso alle pagine successive

Per recuperare il set di risultati successivo in una risposta impaginata, dovete effettuare un'altra chiamata API allo stesso endpoint aumentando il parametro della page query di 1.

Creazione di un processo di privacy

Prima di creare una nuova richiesta di processo, è necessario innanzitutto raccogliere informazioni identificative sugli interessati di cui si desidera accedere, eliminare o rifiutare la vendita. Una volta ricevuti i dati richiesti, questi devono essere forniti nel payload di una richiesta POST all' /jobs endpoint.

NOTE

Le applicazioni Adobe Experience Cloud compatibili utilizzano valori diversi per identificare gli oggetti dei dati. Per ulteriori informazioni sugli identificatori richiesti per le applicazioni, consultate la guida sulle applicazioni Privacy Service e Experience Cloud. Per indicazioni più generali su come determinare a quali ID inviare Privacy Service, consulta il documento sui dati di identità nelle richiestedi privacy.

L' Privacy Service API supporta due tipi di richieste di lavoro per i dati personali:

IMPORTANT

Mentre le richieste di accesso ed eliminazione possono essere combinate come una singola chiamata API, le richieste di rifiuto devono essere effettuate separatamente.

Creazione di un processo di accesso/eliminazione

Questa sezione illustra come effettuare una richiesta di accesso/eliminazione tramite 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: {IMS_ORG}' \
  -d '{
    "companyContexts": [
      {
        "namespace": "imsOrgID",
        "value": "{IMS_ORG}"
      }
    ],
    "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) Un array contenente informazioni di autenticazione per l'organizzazione. Ogni identificatore elencato include i seguenti attributi:
  • namespace: Spazio dei nomi di un identificatore.
  • value: Il valore dell’identificatore.
È necessario che uno degli identificatori venga utilizzato imsOrgId come namespace, con value l’ID univoco per l’organizzazione IMS.

Gli identificatori aggiuntivi possono essere qualificatori aziendali specifici per il prodotto (ad esempio, Campaign), che identificano un'integrazione con un'applicazione di Adobe appartenente all'organizzazione. I potenziali valori includono nomi account, codici cliente, ID tenant o altri identificatori dell'applicazione.
users (Obbligatorio) Array contenente una raccolta di almeno un utente le cui informazioni si desidera accedere o eliminare. In un'unica richiesta è possibile fornire un massimo di 1000 ID utente. Ciascun oggetto utente contiene le informazioni seguenti:
  • key: Identificatore per un utente utilizzato per qualificare gli ID processo separati nei dati della risposta. È consigliabile scegliere una stringa univoca e facilmente identificabile per questo valore in modo che possa essere facilmente reperibile o ricercato in un secondo momento.
  • action: Un array che elenca le azioni desiderate da eseguire sui dati dell'utente. A seconda delle azioni che si desidera eseguire, l'array deve includere access, deleteo 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 un namespace, un valuee un qualificatore dello spazio dei nomi (type). Per ulteriori dettagli su queste proprietà richieste, vedere l' appendice .
Per una spiegazione più dettagliata di users e userIDs, consultate la guida alla risoluzione dei problemi.
include (Obbligatorio) Un array di prodotti Adobe da includere nell'elaborazione. Se questo valore risulta mancante o vuoto, la richiesta verrà rifiutata. Includete solo i prodotti con cui l'organizzazione dispone di un'integrazione. Per ulteriori informazioni, consulta la sezione sui valori di prodotto accettati nell’appendice.
expandIDs Una proprietà opzionale 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à opzionale 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:
  • anonymize: Tutti i dati a cui fa riferimento la raccolta di ID utente specificata vengono resi anonimi. Se analyticsDeleteMethod viene omesso, questo è il comportamento predefinito.
  • purge: Tutti i dati vengono rimossi completamente.
regulation (Obbligatorio) Il regolamento per la richiesta. Deve essere uno dei seguenti quattro valori:
  • gdpr
  • ccpa
  • lgpd_bra
  • pdpa_tha

Risposta

Una risposta corretta restituisce i dettagli dei processi appena 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 generato dal sistema di sola lettura per un processo. Questo valore viene utilizzato nel passaggio successivo per cercare un processo specifico.

Dopo aver inviato correttamente la richiesta di processo, potete procedere alla fase successiva del controllo dello statodel processo.

Verificare lo stato di un processo

È possibile recuperare informazioni su un processo specifico, ad esempio lo stato di elaborazione corrente, includendo tale processo nel percorso di una richiesta di GET jobId all' /jobs endpoint.

IMPORTANT

I dati per i processi creati in precedenza sono disponibili solo per il recupero 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 la creazione di un processo e l’ elencazione di tutti i processi.

Richiesta

La richiesta seguente recupera i dettagli del processo jobId 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: {IMS_ORG}'

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 dell' productResponses array contiene informazioni sullo stato corrente del processo rispetto a una specifica Experience Cloud applicazione.
productStatusResponse.status La categoria di stato corrente del processo. Per un elenco delle categorie di stato disponibili e i significati corrispondenti, vedere la tabella seguente.
productStatusResponse.message Stato specifico del processo, corrispondente alla categoria di stato.
productStatusResponse.responseMsgCode Un codice standard per i messaggi di risposta ai prodotti 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 può essere scaricato per 60 giorni al termine del processo.

Categorie stato processo

Nella tabella seguente sono elencate le diverse possibili categorie di stato del processo e il relativo significato:

Categoria stato Significato
complete Il processo è completo e (se necessario) i file vengono caricati da ogni applicazione.
processing Le applicazioni hanno riconosciuto il processo e stanno elaborando il processo.
submitted Il processo viene inviato a tutte le applicazioni applicabili.
error Si è verificato un errore durante l’elaborazione del processo. È possibile ottenere informazioni più specifiche recuperando i dettagli dei singoli processi.
NOTE

Un processo inviato potrebbe rimanere in uno processing stato se presenta un processo figlio dipendente in fase di elaborazione.

Passaggi successivi

Ora sai come creare e monitorare i processi relativi alla privacy utilizzando l' Privacy Service API. Per informazioni su come eseguire le stesse attività mediante l’interfaccia utente, consultate la panoramica dell’interfaccia utentePrivacy Service.

In questa pagina