本文档介绍了如何使用API调用处理隐私作业。 具体来说,它涵盖了 /job
中的端点 Privacy Service API。 在阅读本指南之前,请参阅 快速入门指南 有关成功调用API所需了解的重要信息,包括所需的标头以及如何读取示例API调用。
如果您尝试管理客户的同意或选择退出请求,请参阅 同意端点指南.
您可以通过向以下网站发出GET请求,查看贵组织内所有可用隐私作业的列表: /jobs
端点。
API格式
此请求格式使用 regulation
上的查询参数 /jobs
端点,因此它以问号(?
),如下所示。 响应采用分页方式,允许您使用其他查询参数(page
和 size
)以筛选响应。 可以使用&符号(&
)。
GET /jobs?regulation={REGULATION}
GET /jobs?regulation={REGULATION}&page={PAGE}
GET /jobs?regulation={REGULATION}&size={SIZE}
GET /jobs?regulation={REGULATION}&page={PAGE}&size={SIZE}
参数 | 描述 |
---|---|
{REGULATION} |
要查询的法规类型。 接受的值包括:
请参阅概述,位于 支持的法规 有关上述值代表的隐私法规的更多信息。 |
{PAGE} |
要显示的数据页面,使用基于0的编号。 默认值为 0 。 |
{SIZE} |
每页上显示的结果数。 默认为 1 最大值为 100 . 超过最大值会导致API返回400代码错误。 |
请求
以下请求会从页面大小为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}'
响应
成功的响应将返回作业列表,每个作业都包含详细信息,例如 jobId
. 在此示例中,响应将包含一个50个作业的列表,从结果的第三页开始。
要在分页响应中获取下一组结果,您必须对同一端点进行另一个API调用,同时增加 page
按1查询参数。
Privacy Service仅适用于数据主体和消费者权利请求。 不支持或允许将Privacy Service用于数据清理或维护的任何其他用途。 Adobe有及时履行这些义务的法律义务。 因此,不允许对Privacy Service进行负载测试,因为它是仅用于生产的环境,并会创建有效隐私请求的不必要积压。
现已设定每日硬性上传限制,以帮助防止滥用服务。 发现滥用系统的用户将禁用其对该服务的访问权限。 随后将与他们举行一次会议,讨论他们的行动并讨论可以接受的Privacy Service用途。
在创建新的作业请求之前,必须首先收集有关要访问、删除或选择退出销售其数据的数据主体的标识信息。 获得所需数据后,必须在POST请求的有效负载中将其提供给 /jobs
端点。
兼容的Adobe Experience Cloud应用程序使用不同的值来标识数据主体。 请参阅指南,网址为 Privacy Service和Experience Cloud应用程序 以了解有关应用程序所需的标识符的更多信息。 有关确定要将哪些ID发送到的更一般的指导 Privacy Service,请参阅文档 隐私请求中的身份数据.
此 Privacy Service API支持两种针对个人数据的作业请求:
访问和删除请求可以作为单个API调用组合,而选择退出请求必须单独发出。
此部分演示了如何使用API发出访问/删除作业请求。
API格式
POST /jobs
请求
以下请求创建一个新的作业请求,该请求由有效负载中提供的属性进行配置,如下所述。
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 (必需) |
包含贵组织的身份验证信息的数组。 列出的每个标识符都包含以下属性:
imsOrgId 作为 namespace ,以及其 value 包含贵组织的唯一ID。 其他标识符可以是产品特定的公司限定符(例如, Campaign ),用于标识与属于您组织的Adobe应用程序的集成。 可能的值包括帐户名、客户端代码、租户ID或其他应用程序标识符。 |
users (必需) |
一个数组,其中包含您要访问或删除其信息的至少一个用户的集合。 单个请求中最多可提供1000个用户ID。 每个用户对象包含以下信息:
users 和 userIDs ,请参见 疑难解答指南. |
include (必需) |
要包含在处理中的一系列Adobe产品。 如果此值缺失或为空,则将拒绝请求。 仅包含您的组织集成的产品。 请参阅以下部分: 接受的产品值 ,以了解更多信息。 |
expandIDs |
一个可选属性,当设置为 true ,表示在应用程序中处理ID的优化(当前仅受支持 Analytics)。 如果忽略,则此值默认为 false . |
priority |
Adobe Analytics使用的一个可选属性,用于设置处理请求的优先级。 接受的值包括 normal 和 low . 如果 priority 省略,默认行为为 normal . |
analyticsDeleteMethod |
一个可选属性,指定Adobe Analytics应如何处理个人数据。 此属性接受两个可能的值:
|
mergePolicyId |
向Real-Time Customer Profile发出隐私请求时(profileService ),您可以选择提供特定的 合并策略 要用于ID拼合的ID。 通过指定合并策略,隐私请求可以在返回客户数据时包含区段信息。 每个请求只能指定一个合并策略。 如果未提供合并策略,则响应中不包含分段信息。 |
regulation (必需) |
隐私工作的法规。 接受以下值:
请参阅概述,位于 支持的法规 有关上述值代表的隐私法规的更多信息。 |
响应
成功的响应将返回新创建的作业的详细信息。
{
"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 |
作业的系统生成的只读ID。 此值将在查找特定作业的下一步中使用。 |
成功提交作业请求后,您可以继续的下一步 检查作业状态.
您可以通过包含特定作业的,检索有关该作业的信息,例如其当前处理状态 jobId
在GET请求的路径中 /jobs
端点。
以前创建的作业的数据只能在作业完成日期后的30天内进行检索。
API格式
GET /jobs/{JOB_ID}
参数 | 描述 |
---|---|
{JOB_ID} |
要查找的作业的ID。 此ID返回到 jobId 在成功的API响应中 创建作业 和 列出所有作业. |
请求
以下请求检索其作业的详细信息 jobId
在请求路径中提供。
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}'
响应
成功的响应将返回指定作业的详细信息。
{
"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 数组包含有关特定作业当前状态的信息 Experience Cloud 应用程序。 |
productStatusResponse.status |
作业的当前状态类别。 请参阅下表,了解以下列表 可用状态类别 以及它们相应的含义。 |
productStatusResponse.message |
作业的特定状态,对应于状态类别。 |
productStatusResponse.responseMsgCode |
接收的产品响应消息的标准代码 Privacy Service. 消息详情在下提供 responseMsgDetail . |
productStatusResponse.responseMsgDetail |
作业状态的更详细说明。 类似状态的消息可能因产品而异。 |
productStatusResponse.results |
对于某些状态,某些产品可能会返回 results 提供未涵盖的其他信息的对象 responseMsgDetail . |
downloadURL |
如果作业的状态为 complete ,该属性会提供一个URL以将作业结果下载为ZIP文件。 在作业完成后60天内可下载此文件。 |
下表列出了不同的可能作业状态类别及其相应含义:
状态类别 | 含义 |
---|---|
complete |
作业已完成,并(如果需要)从每个应用程序上传文件。 |
processing |
应用程序已确认作业并正在处理。 |
submitted |
作业已提交到每个适用的应用程序。 |
error |
处理作业时出现问题 — 通过检索各个作业的详细信息,可能会获得更具体的信息。 |
提交的作业可能保留在 processing
指出它是否具有仍在处理的依赖子作业。
您现在知道如何使用创建和监控隐私作业 Privacy Service API。 有关如何使用用户界面执行相同任务的信息,请参见 Privacy ServiceUI概述.