Ponto de extremidade de trabalhos de privacidade
Este documento aborda como trabalhar com processos de privacidade usando chamadas de API. Especificamente, ela abrange o uso do ponto de extremidade /job
na API Privacy Service. Antes de ler este manual, 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 exemplo de API.
Listar todos os trabalhos list
Você pode exibir uma lista de todos os trabalhos de privacidade disponíveis em sua organização fazendo uma solicitação GET para o ponto de extremidade /jobs
.
Formato da API
Este formato de solicitação usa um parâmetro de consulta regulation
no ponto de extremidade /jobs
, portanto, começa com um ponto de interrogação (?
), como mostrado abaixo. Ao listar recursos, a API de Privacy Service retorna até 1000 tarefas e pagina a resposta. Use outros parâmetros de consulta (page
, size
e filtros de data) para filtrar a resposta. Você pode separar vários parâmetros usando "E" comercial (&
).
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}
O tipo de regulamento a ser consultado. Os valores aceitos incluem:
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
Consulte a visão geral em regulamentos com suporte para obter mais informações sobre os regulamentos 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 um
fromDate
correspondente), o comportamento padrão retornará trabalhos cujos dados foram retornados nos últimos sete dias. Se você usar toDate
, também deverá usar o parâmetro de consulta fromDate
. 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 um
toDate
correspondente), o comportamento padrão retornará trabalhos cujos dados foram retornados nos últimos sete dias. Se você usar fromDate
, também deverá usar o parâmetro de consulta toDate
. 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 trabalhos, com cada trabalho 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 parâmetro de consulta page
em 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 que você tiver os dados necessários, eles deverão ser fornecidos na carga de uma solicitação POST para o ponto de extremidade /jobs
.
A API Privacy Service oferece suporte a dois tipos de solicitações de trabalho para dados pessoais:
- Acessar e/ou excluir: acessar (ler) ou excluir dados pessoais.
- Recusar venda: marque os dados pessoais como nã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",
"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 que um dos identificadores use imsOrgId
como seu namespace
, com seu value
contendo a ID exclusiva para sua organização.
Os 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 realizar os dados do usuário. Dependendo das ações que você deseja realizar, esta matriz 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 o apêndice para obter mais detalhes sobre essas propriedades necessárias.
Para obter uma explicação mais detalhada de 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 apenas com suporte do Analytics). Se omitido, esse valor assumirá false
como padrão.priority
normal
e low
. Se priority
for omitido, o comportamento padrão será normal
.mergePolicyId
profileService
), você pode fornecer a ID da política de mesclagem específica que 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 com suporte para obter mais informações sobre os regulamentos 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 enviar a solicitação de trabalho com êxito, você pode prosseguir para a próxima etapa de verificação do status do trabalho.
Verificar o status de um trabalho check-status
Você pode recuperar informações sobre um trabalho específico, como seu status de processamento atual, incluindo o jobId
desse trabalho no caminho de uma solicitação GET para o ponto de extremidade /jobs
.
Formato da API
GET /jobs/{JOB_ID}
{JOB_ID}
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 do trabalho 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 do trabalho em relação a um aplicativo Experience Cloud específico.productStatusResponse.status
productStatusResponse.message
productStatusResponse.responseMsgCode
responseMsgDetail
.productStatusResponse.responseMsgDetail
productStatusResponse.results
results
que fornece informações adicionais não cobertas por responseMsgDetail
.downloadURL
complete
, esse atributo fornecerá uma URL para baixar os resultados do trabalho 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 trabalhos de privacidade usando a API Privacy Service. 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 do Privacy Service.