Ponto de extremidade de trabalhos de privacidade
Este documento aborda como trabalhar com processos de privacidade usando chamadas de API. Mais especificamente, abrange a utilização dos /job
endpoint na variável Privacy Service API. Antes de ler este guia, consulte o guia de introdução para obter informações importantes que você precisa saber para fazer chamadas com êxito para a API, incluindo cabeçalhos necessários e como ler chamadas de API de exemplo.
Listar todos os trabalhos list
Você pode exibir uma lista de todos os processos de privacidade disponíveis em sua organização fazendo uma solicitação de GET para a /jobs
terminal.
Formato da API
Este formato de solicitação usa um regulation
parâmetro de consulta no /jobs
ponto de extremidade, portanto, começa com um ponto de interrogação (?
) conforme mostrado abaixo. Ao listar recursos, a API de Privacy Service retorna até 1000 tarefas e pagina a resposta. Usar outros parâmetros de consulta (page
, size
e filtros de data) para filtrar a resposta. É possível separar vários parâmetros usando "E" comercial (&
).
status
, fromDate
, e toDate
parâmetros de consulta.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}
O tipo de regulamento a ser consultado. Os valores aceitos incluem:
apa_aus
ccpa
cpa
cpra_usa
ctdpa
ctdpa_usa
gdpr
hipaa_usa
lgpd_bra
mhmda
nzpa_nzl
pdpa_tha
ucpa_usa
vcdpa_usa
Consulte a visão geral em regulamentos suportados para obter mais informações sobre as regras de privacidade que os valores acima representam.
{PAGE}
0
.{SIZE}
100
e o máximo é 1000
. Exceder o máximo faz com que a API retorne um erro de código 400.{status}
O comportamento padrão é incluir todos os status. Se você especificar um tipo de status, a solicitação retornará somente os processos de privacidade que correspondam a esse tipo de status. Os valores aceitos incluem:
processing
complete
error
{toDate}
Ele aceita o formato AAAA-MM-DD. A data fornecida é interpretada como a data de encerramento expressa no Horário de Greenwich (GMT).
Se você não fornecer esse parâmetro (e uma variável
fromDate
), o comportamento padrão retorna tarefas cujos dados foram retornados nos últimos sete dias. Se você usar toDate
, você também deve usar o fromDate
parâmetro de consulta. Se você não usar ambos, a chamada retornará um erro 400.{fromDate}
Ele aceita o formato AAAA-MM-DD. A data fornecida é interpretada como a data de origem da solicitação expressa na Hora Média de Greenwich (GMT).
Se você não fornecer esse parâmetro (e uma variável
toDate
), o comportamento padrão retorna tarefas cujos dados foram retornados nos últimos sete dias. Se você usar fromDate
, você também deve usar o toDate
parâmetro de consulta. Se você não usar ambos, a chamada retornará um erro 400.{filterDate}
Solicitação
A solicitação a seguir recupera uma lista paginada de todos os cargos em uma organização, começando pela 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: {ORG_ID}'
Resposta
Uma resposta bem-sucedida retorna uma lista de tarefas, com cada tarefa contendo detalhes como jobId
. Neste exemplo, a resposta conteria uma lista de 50 tarefas, começando na terceira página de resultados.
Acesso às páginas subsequentes
Para buscar o próximo conjunto de resultados em uma resposta paginada, você deve fazer outra chamada de API para o mesmo endpoint enquanto aumenta o page
parâmetro de consulta por 1.
Criar um trabalho de privacidade create-job
Antes de criar uma nova solicitação de emprego, primeiro você deve coletar informações de identificação sobre os titulares de dados cujos dados deseja acessar, excluir ou recusar a venda. Depois de obter os dados necessários, eles devem ser fornecidos na carga de uma solicitação POST para o /jobs
terminal.
A variável Privacy Service A API oferece suporte a dois tipos de solicitações de trabalho para dados pessoais:
- Acessar e/ou excluir: Acesse (leia) ou exclua dados pessoais.
- Recusar venda: marque os dados pessoais como não serão vendidos.
Criar um trabalho de acesso/exclusão access-delete
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 trabalho, 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: {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",
"analyticsDeleteMethod": "anonymize",
"mergePolicyId": 124,
"regulation": "ccpa"
}'
companyContexts
(Obrigatório)Uma matriz que contém informações de autenticação para sua organização. Cada identificador listado inclui os seguintes atributos:
namespace
: O namespace de um identificador.value
: O valor do identificador.
É necessário obrigatório que um dos identificadores usa imsOrgId
como seu namespace
, com as suas value
contendo o identificador exclusivo da organização.
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ê deseja acessar ou excluir. Um máximo de 1000 usuários pode ser fornecido em uma única solicitação. Cada objeto de usuário contém as seguintes informações:
key
: um identificador para um usuário que é usado para qualificar as IDs de trabalho separadas nos dados de resposta. É uma prática recomendada escolher uma string exclusiva e de fácil identificação para esse valor, para que ele possa ser facilmente referenciado ou pesquisado posteriormente.action
: uma matriz que lista as ações desejadas para tomar os dados do usuário. Dependendo das ações que você deseja realizar, esse array deve incluiraccess
,delete
, ou ambos.userIDs
: uma coleção de identidades para o usuário. O número de identidades que um único usuário pode ter é limitado a nove. Cada identidade consiste em umnamespace
, umvalue
, e um qualificador de namespace (type
). Consulte a apêndice para obter mais detalhes sobre essas propriedades obrigatórias.
Para obter uma explicação mais detalhada sobre users
e userIDs
, consulte o guia de solução de problemas.
include
(Obrigatório)expandIDs
true
, representa uma otimização para o processamento de IDs nos aplicativos (atualmente compatível apenas com o Analytics). Se omitido, esse valor assumirá como padrão false
.priority
normal
e low
. Se priority
for omitido, o comportamento padrão será normal
.analyticsDeleteMethod
Uma propriedade opcional que especifica como o Adobe Analytics deve lidar com os dados pessoais. Dois valores possíveis são aceitos para este atributo:
anonymize
: todos os dados referenciados pela coleção de IDs de usuário fornecida se tornam anônimos. SeanalyticsDeleteMethod
for omitido, esse será o comportamento padrão.purge
: Todos os dados são removidos completamente.
mergePolicyId
profileService
), você pode fornecer opcionalmente a ID do política de mesclagem que você deseja usar para a compilação de ID. Ao especificar uma política de mesclagem, as solicitações de privacidade podem incluir informações de público-alvo ao retornar dados sobre um cliente. Somente uma política de mesclagem pode ser especificada por solicitação. Se nenhuma política de mesclagem for fornecida, as informações de segmentação não serão incluídas na resposta.regulation
(Obrigatório)O regulamento para o trabalho de privacidade. Os seguintes valores são aceitos:
apa_aus
ccpa
cpra_usa
gdpr
hipaa_usa
lgpd_bra
nzpa_nzl
pdpa_tha
vcdpa_usa
Consulte a visão geral em regulamentos suportados para obter mais informações sobre as regras de privacidade que os valores acima representam.
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
}
jobId
Depois de submeter a solicitação de job com sucesso, você pode prosseguir para a próxima etapa do verificação do status da tarefa.
Verificar o status de um trabalho check-status
É possível recuperar informações sobre um job específico, como seu status de processamento atual, incluindo o jobId
no caminho de uma solicitação GET para o /jobs
terminal.
Formato da API
GET /jobs/{JOB_ID}
{JOB_ID}
jobId
em respostas bem-sucedidas da API para criação de uma tarefa e listando todos os trabalhos.Solicitação
A solicitação a seguir recupera os detalhes do job cujo jobId
é fornecido 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: {ORG_ID}'
Resposta
Uma resposta bem-sucedida retorna os detalhes do trabalho especificado.
{
"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
contém informações sobre o status atual da tarefa em relação a um Experience Cloud aplicação.productStatusResponse.status
productStatusResponse.message
productStatusResponse.responseMsgCode
responseMsgDetail
.productStatusResponse.responseMsgDetail
productStatusResponse.results
results
objeto que fornece informações adicionais não abrangidas pelo responseMsgDetail
.downloadURL
complete
, este atributo fornece um URL para baixar os resultados do processo como um arquivo ZIP. Esse arquivo está disponível para download por 60 dias após a conclusão do trabalho.Categorias de status de trabalho status-categories
A tabela a seguir lista as diferentes categorias possíveis de status do cargo e o respectivo significado:
complete
processing
submitted
error
processing
se tiver um trabalho filho dependente que ainda esteja em processamento.Próximas etapas
Agora você sabe como criar e monitorar processos de privacidade usando o Privacy Service API. Para obter informações sobre como executar as mesmas tarefas usando a interface, consulte Visão geral da interface do Privacy Service.