Endpoint de trabalhos do sistema de perfil (solicitações de exclusão)
O Adobe Experience Platform permite assimilar dados de várias fontes e criar perfis robustos para clientes individuais. Os dados assimilados em Platform são armazenados em Data Lake e, se os conjuntos de dados tiverem sido habilitados para Perfil, esses dados também serão armazenados no armazenamento de dados Real-Time Customer Profile. Ocasionalmente, pode ser necessário excluir dados de perfil associados a um conjunto de dados do armazenamento de Perfil para remover dados que não são mais necessários ou foram adicionados por engano. Isso requer o uso da API Real-Time Customer Profile para criar um trabalho do sistema Profile, ou delete request
, que também pode ser modificado, monitorado ou removido, se necessário.
Introdução
O ponto de extremidade de API usado neste guia faz parte de Real-Time Customer Profile API. Antes de continuar, consulte o guia de introdução para obter links para a documentação relacionada, um guia para ler as chamadas de API de exemplo neste documento e informações importantes sobre os cabeçalhos necessários para fazer chamadas para qualquer API Experience Platform com êxito.
Exibir solicitações de exclusão
Uma solicitação de exclusão é um processo assíncrono de longa duração, o que significa que sua organização pode estar executando várias solicitações de exclusão de uma só vez. Para exibir todas as solicitações de exclusão executadas atualmente pela sua organização, é possível executar uma solicitação GET para o ponto de extremidade /system/jobs
.
Você também pode usar parâmetros de consulta opcionais para filtrar a lista de solicitações de exclusão retornadas na resposta. Para usar vários parâmetros, separe cada parâmetro usando um E comercial (&
).
Formato da API
GET /system/jobs
GET /system/jobs?{QUERY_PARAMETERS}
start
start=4
limit
limit=10
page
page=2
sort
asc
) ou decrescente (desc
). O parâmetro de classificação não funciona ao retornar várias páginas de resultados. Exemplo: sort=batchId:asc
Solicitação
curl -X GET \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Resposta
A resposta inclui uma matriz "filho" com um objeto para cada solicitação de exclusão contendo os detalhes dessa solicitação.
{
"_page": {
"count": 100,
"next": "K1JJRDpFaWc5QUwyZFgtMEpBQUFBQUFBQUFBPT0jUlQ6MSNUUkM6MiNGUEM6QWdFQUFBQVFBQWZBQUg0Ly9yL25PcmpmZndEZUR3QT0="
},
"children": [
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{ORG_ID}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "COMPLETED",
"metrics": "{\"recordsProcessed\":5,\"timeTakenInSec\":1}",
"createEpoch": 1559026134,
"updateEpoch": 1559026137
},
{
"id": "3f225e7e-ac8c-4904-b1d5-0ce79e03c2ec",
"imsOrgId": "{ORG_ID}",
"dataSetId": "5c802d3cd83fc114b741c4b5",
"jobType": "DELETE",
"status": "PROCESSING",
"metrics": "{\"recordsProcessed\":0,\"timeTakenInSec\":15}",
"createEpoch": 1559025404,
"updateEpoch": 1559025406
}
]
}
_page.count
_page.next
"next"
fornecido.jobType
"DELETE"
.status
"NEW"
, "PROCESSING"
, "COMPLETED"
, "ERROR"
.metrics
"recordsProcessed"
) e o tempo em segundos que a solicitação foi processada ou quanto tempo a solicitação levou para ser concluída ("timeTakenInSec"
).Criar uma solicitação de exclusão create-a-delete-request
A inicialização de uma nova solicitação de exclusão é feita por meio de uma solicitação POST para o ponto de extremidade /systems/jobs
, em que a ID do conjunto de dados ou lote a ser excluído é fornecida no corpo da solicitação.
Excluir um conjunto de dados e dados de perfil associados
Para excluir um conjunto de dados e todos os dados de perfil associados ao conjunto de dados do armazenamento de Perfil, a ID do conjunto de dados deve ser incluída no corpo da solicitação POST. Esta ação excluirá TODOS os dados de um determinado conjunto de dados. Experience Platform permite excluir conjuntos de dados com base em esquemas de série de tempo e registro.
Formato da API
POST /system/jobs
Solicitação
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"dataSetId": "5c802d3cd83fc114b741c4b5"
}'
dataSetId
Resposta
Uma resposta bem-sucedida retorna os detalhes da solicitação de exclusão recém-criada, incluindo uma ID exclusiva gerada pelo sistema e somente leitura para a solicitação. Isso pode ser usado para pesquisar a solicitação e verificar seu status. O status
para a solicitação no momento da criação é "NEW"
até que comece a ser processado. O dataSetId
na resposta deve corresponder ao dataSetId
enviado na solicitação.
{
"id": "3f225e7e-ac8c-4904-b1d5-0ce79e03c2ec",
"imsOrgId": "{ORG_ID}",
"dataSetId": "5c802d3cd83fc114b741c4b5",
"jobType": "DELETE",
"status": "NEW",
"createEpoch": 1559025404,
"updateEpoch": 1559025406
}
id
dataSetId
Excluir um lote
Para excluir um lote, a ID do lote deve ser incluída no corpo da solicitação POST. Observe que não é possível excluir lotes para conjuntos de dados com base em esquemas de registro. Somente lotes para conjuntos de dados com base em esquemas de série temporal podem ser excluídos.
Para obter mais informações sobre comportamento de registro e série temporal, consulte a seção sobre comportamentos de dados XDM na visão geral de XDM System.
Formato da API
POST /system/jobs
Solicitação
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"batchId": "8d075b5a178e48389126b9289dcfd0ac"
}'
batchId
Resposta
Uma resposta bem-sucedida retorna os detalhes da solicitação de exclusão recém-criada, incluindo uma ID exclusiva gerada pelo sistema e somente leitura para a solicitação. Isso pode ser usado para pesquisar a solicitação e verificar seu status. O "status"
para a solicitação no momento da criação é "NEW"
até que comece a ser processado. O valor "batchId"
na resposta deve corresponder ao valor "batchId"
enviado na solicitação.
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{ORG_ID}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "NEW",
"createEpoch": 1559026131,
"updateEpoch": 1559026132
}
id
batchId
Se você tentar iniciar uma solicitação de exclusão para um lote de conjunto de dados de Registro, encontrará um erro de nível 400, semelhante ao seguinte:
{
"requestId": "bc4eb29f-63a8-4653-9133-71238884bb81",
"errors": {
"400": [
{
"code": "500",
"message": "Batch can only be specified for EE type 'a294e36d382649dab2cc6ad64a41b674'"
}
]
}
}
Exibir uma solicitação de exclusão específica view-a-specific-delete-request
Para exibir uma solicitação de exclusão específica, incluindo detalhes como seu status, você pode executar uma solicitação de pesquisa (GET) para o ponto de extremidade /system/jobs
e incluir a ID da solicitação de exclusão no caminho.
Formato da API
GET /system/jobs/{DELETE_REQUEST_ID}
{DELETE_REQUEST_ID}
Solicitação
curl -X GET \
https://platform.adobe.io/data/core/ups/system/jobs/9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Resposta
A resposta fornece os detalhes da solicitação de exclusão, incluindo o status atualizado. A ID da solicitação de exclusão na resposta (o valor "id"
) deve corresponder à ID enviada no caminho da solicitação.
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{ORG_ID}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "COMPLETED",
"metrics": "{\"recordsProcessed\":5,\"timeTakenInSec\":1}",
"createEpoch": 1559026134,
"updateEpoch": 1559026137
}
jobType
"DELETE"
.status
"NEW"
, "PROCESSING"
, "COMPLETED"
, "ERROR"
.metrics
"recordsProcessed"
) e o tempo em segundos que a solicitação foi processada ou quanto tempo a solicitação levou para ser concluída ("timeTakenInSec"
).Quando o status da solicitação de exclusão for "COMPLETED"
, você poderá confirmar que os dados foram excluídos tentando acessá-los usando a API de acesso a dados. Para obter instruções sobre como usar a API de acesso a dados para acessar conjuntos de dados e lotes, consulte a documentação sobre acesso a dados.
Remover uma solicitação de exclusão
Experience Platform permite que você exclua uma solicitação anterior, o que pode ser útil por vários motivos, incluindo se o trabalho de exclusão não foi concluído ou ficou preso no estágio de processamento. Para remover uma solicitação de exclusão, você pode executar uma solicitação DELETE para o ponto de extremidade /system/jobs
e incluir a ID da solicitação de exclusão que você deseja remover no caminho da solicitação.
Formato da API
DELETE /system/jobs/{DELETE_REQUEST_ID}
Solicitação
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs/9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Resposta
Uma solicitação de exclusão bem-sucedida retorna o Status HTTP 200 (OK) e um corpo de resposta vazio. É possível confirmar se a solicitação foi excluída executando uma solicitação do GET para visualizar a solicitação de exclusão por sua ID. Isso deve retornar um Status HTTP 404 (Não encontrado), indicando que a solicitação de exclusão foi removida.
Próximas etapas
Agora que você sabe as etapas envolvidas na exclusão de conjuntos de dados e lotes do Profile store no Experience Platform, é possível excluir com segurança dados que foram adicionados incorretamente ou que sua organização não precisa mais. Lembre-se de que uma solicitação de exclusão não pode ser desfeita, portanto, você só deve excluir dados de que está confiante de que não são necessários agora e não serão necessários no futuro.