Este documento aborda como trabalhar com trabalhos de privacidade usando chamadas de API. Especificamente, ela abrange o uso do /job
endpoint na Privacy Service API. Antes de ler este guia, consulte a seção Introdução para obter informações importantes que você precisa saber para fazer chamadas à API com êxito, incluindo cabeçalhos necessários e como ler chamadas de exemplo de API.
Se você estiver tentando gerenciar solicitações de consentimento ou recusa de clientes, consulte o guia de ponto de extremidade deconsentimento.
Você pode visualização uma lista de todos os trabalhos de privacidade disponíveis na sua organização, fazendo uma solicitação de GET para o /jobs
terminal.
Formato da API
Esse formato de solicitação usa um parâmetro de regulation
query no /jobs
endpoint, portanto, começa com um ponto de interrogação (?
), conforme mostrado abaixo. A resposta é paginada, permitindo que você use outros parâmetros de query (page
e size
) para filtrar a resposta. É possível separar vários parâmetros usando os E-mails (&
).
GET /jobs?regulation={REGULATION}
GET /jobs?regulation={REGULATION}&page={PAGE}
GET /jobs?regulation={REGULATION}&size={SIZE}
GET /jobs?regulation={REGULATION}&page={PAGE}&size={SIZE}
Parâmetro | Descrição |
---|---|
{REGULATION} |
O tipo de regulamento a ser query. Os valores aceitos são gdpr , ccpa , lgpd_bra e pdpa_tha . |
{PAGE} |
A página de dados a ser exibida, usando a numeração com base em 0. O padrão é 0 . |
{SIZE} |
O número de resultados a serem exibidos em cada página. O padrão é 1 e o máximo é 100 . Exceder o máximo faz com que a API retorne um erro de código 400. |
Solicitação
A solicitação a seguir recupera uma lista paginada de todos os trabalhos em uma Organização IMS, começando na terceira página com um tamanho de página 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: {IMS_ORG}'
Resposta
Uma resposta bem-sucedida retorna uma lista de jobs, com cada job contendo detalhes como seus jobId
. Neste exemplo, a resposta conteria uma lista de 50 trabalhos, começando na terceira página de resultados.
Para obter o próximo conjunto de resultados em uma resposta paginada, você deve fazer outra chamada de API para o mesmo terminal enquanto aumenta o parâmetro do page
query em 1.
Antes de criar uma nova solicitação de cargo, é necessário coletar primeiro informações de identificação sobre as pessoas cujos dados você deseja acessar, excluir ou opt out de venda. Depois que você tiver os dados necessários, eles deverão ser fornecidos na carga de uma solicitação de POST para o /jobs
endpoint.
Aplicativos Adobe Experience Cloud compatíveis usam valores diferentes para identificar pessoas de dados. Consulte o guia nos aplicativos de Privacy Service e Experience Cloud para obter mais informações sobre os identificadores necessários para seus aplicativos. Para obter orientações mais gerais sobre como determinar para quais IDs enviar, consulte o documento sobre dados de Privacy Serviceidentidade em solicitações de privacidade.
A Privacy Service API suporta dois tipos de solicitações de trabalho para dados pessoais:
Embora as solicitações de acesso e exclusão possam ser combinadas como uma única chamada de API, as solicitações de cancelamento devem ser feitas separadamente.
Esta seção demonstra como fazer uma solicitação de trabalho de acesso/exclusão usando a API.
Formato da API
POST /jobs
Solicitação
A solicitação a seguir cria uma nova solicitação de cargo, configurada pelos atributos fornecidos na carga, conforme descrito abaixo.
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"
}'
Propriedade | Descrição |
---|---|
companyContexts (Obrigatório) |
Uma matriz que contém informações de autenticação para sua organização. Cada identificador listado inclui os seguintes atributos:
imsOrgId como seu namespace , com value a ID exclusiva para sua Organização IMS. Identificadores adicionais podem ser qualificadores de empresa específicos do produto (por exemplo, Campaign ), que identificam uma integração com um aplicativo Adobe pertencente à sua organização. Os valores potenciais incluem nomes de conta, códigos de cliente, IDs de locatário ou outros identificadores de aplicativo. |
users (Obrigatório) |
Uma matriz que contém uma coleção de pelo menos um usuário cujas informações você gostaria de acessar ou excluir. É possível fornecer no máximo 1000 IDs de usuário em uma única solicitação. Cada objeto de usuário contém as seguintes informações:
users e userIDs , consulte o guia desolução de problemas. |
include (Obrigatório) |
Uma matriz de produtos de Adobe para incluir no seu processamento. Se esse valor estiver ausente ou vazio, a solicitação será rejeitada. Inclua somente os produtos com os quais sua organização tem uma integração. Para mais informações, consulte a seção sobre valores de produtos aceites no apêndice. |
expandIDs |
Uma propriedade opcional que, quando definida como true , representa uma otimização para o processamento das IDs nos aplicativos (atualmente apenas compatível com Analytics). If omitted, this value defaults to false . |
priority |
Uma propriedade opcional usada pela Adobe Analytics que define a prioridade para o processamento de solicitações. Os valores aceitos são normal e low . Se priority for omitido, o comportamento padrão será normal . |
analyticsDeleteMethod |
Uma propriedade opcional que especifica como a Adobe Analytics deve lidar com os dados pessoais. Dois valores possíveis são aceitos para este atributo:
|
regulation (Obrigatório) |
O regulamento do pedido. Deve ser um dos quatro valores a seguir:
|
Resposta
Uma resposta bem-sucedida retorna os detalhes dos trabalhos recém-criados.
{
"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
}
Propriedade | Descrição |
---|---|
jobId |
Uma ID gerada pelo sistema exclusiva e somente leitura para um trabalho. Esse valor é usado na próxima etapa da pesquisa de um trabalho específico. |
Depois de submeter a solicitação de emprego com êxito, você pode prosseguir para a próxima etapa de verificação do statusda tarefa.
Você pode recuperar informações sobre um trabalho específico, como seu status de processamento atual, incluindo esse trabalho jobId
no caminho de uma solicitação de GET para o /jobs
terminal.
Os dados para trabalhos criados anteriormente só estão disponíveis para recuperação dentro de 30 dias da data de conclusão do trabalho.
Formato da API
GET /jobs/{JOB_ID}
Parâmetro | Descrição |
---|---|
{JOB_ID} |
A ID do trabalho que você deseja pesquisar. Essa ID é retornada jobId em respostas de API bem-sucedidas para criar um trabalho e listar todos os trabalhos. |
Solicitação
A solicitação a seguir recupera os detalhes da tarefa jobId
fornecida no caminho da solicitação.
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}'
Resposta
Uma resposta bem-sucedida retorna os detalhes da tarefa especificada.
{
"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"
}
Propriedade | Descrição |
---|---|
productStatusResponse |
Cada objeto dentro da productResponses matriz contém informações sobre o status atual da tarefa em relação a um Experience Cloud aplicativo específico. |
productStatusResponse.status |
A categoria de status atual do trabalho. Consulte a tabela abaixo para obter uma lista de categorias de status disponíveis e seus significados correspondentes. |
productStatusResponse.message |
O status específico da tarefa, correspondente à categoria de status. |
productStatusResponse.responseMsgCode |
Um código padrão para mensagens de resposta do produto recebidas por Privacy Service. Os detalhes da mensagem são fornecidos em responseMsgDetail . |
productStatusResponse.responseMsgDetail |
Uma explicação mais detalhada do status do trabalho. As mensagens para status semelhantes podem variar entre os produtos. |
productStatusResponse.results |
Para determinados status, alguns produtos podem retornar um results objeto que fornece informações adicionais não cobertas por responseMsgDetail . |
downloadURL |
Se o status do trabalho for complete , este atributo fornecerá um URL para baixar os resultados do trabalho como um arquivo ZIP. Este arquivo está disponível para download por 60 dias após a conclusão do trabalho. |
A tabela a seguir lista as diferentes categorias de status possíveis da tarefa e seu significado correspondente:
Categoria de status | Significado |
---|---|
complete |
O trabalho está concluído e (se necessário) os arquivos são carregados de cada aplicativo. |
processing |
Os aplicativos reconheceram o trabalho e estão sendo processados no momento. |
submitted |
O trabalho é submetido a cada solicitação aplicável. |
error |
Ocorreu uma falha no processamento da tarefa - informações mais específicas podem ser obtidas através da recuperação de detalhes da tarefa individual. |
Um trabalho enviado pode permanecer em um processing
estado se ele tiver um trabalho filho dependente que ainda esteja em processamento.
Agora você sabe como criar e monitorar trabalhos de privacidade usando a Privacy Service API. Para obter informações sobre como executar as mesmas tarefas usando a interface do usuário, consulte a visão geral da interface do usuário doPrivacy Service.