隐私作业端点
本文档介绍如何使用API调用处理隐私作业。 具体来说,它涵盖Privacy Service API中/job
端点的使用。 在阅读本指南之前,请参阅入门指南以了解成功调用API所需了解的重要信息,包括所需的标头以及如何阅读示例API调用。
列出所有作业 list
通过向/jobs
端点发出GET请求,可查看组织内所有可用隐私作业的列表。
API格式
此请求格式在/jobs
端点上使用regulation
查询参数,因此它以问号(?
)开头,如下所示。 在列出资源时,Privacy ServiceAPI最多返回1000个作业并分页响应。 使用其他查询参数(page
、size
和日期筛选器)筛选响应。 可以使用&符号(&
)分隔多个参数。
status
、fromDate
和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}
要查询的法规类型。 接受的值包括:
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
有关上述值表示的隐私法规的更多信息,请参阅支持的法规概述。
{PAGE}
0
。{SIZE}
100
,最大值为1000
。 超过最大值会导致API返回400代码错误。{status}
默认行为是包括所有状态。 如果指定状态类型,则请求将仅返回与该状态类型匹配的隐私作业。 接受的值包括:
processing
complete
error
{toDate}
它接受YYYY-MM-DD格式。 您提供的日期将解释为以格林威治标准时间(GMT)表示的终止日期。
如果未提供此参数(以及相应的
fromDate
),则默认行为将返回过去七天中返回数据的作业。 如果您使用toDate
,则还必须使用fromDate
查询参数。 如果不同时使用这两个参数,调用将返回400错误。{fromDate}
它接受YYYY-MM-DD格式。 您提供的日期将解释为以格林威治标准时间(GMT)表示的请求来源日期。
如果未提供此参数(以及相应的
toDate
),则默认行为将返回过去七天中返回数据的作业。 如果您使用fromDate
,则还必须使用toDate
查询参数。 如果不同时使用这两个参数,调用将返回400错误。{filterDate}
请求
以下请求检索组织内所有作业的分页列表,从页面大小为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。
创建隐私作业 create-job
在创建新的作业请求之前,必须首先收集有关要访问、删除或选择退出销售其数据的数据主体的标识信息。 获得所需数据后,必须在POST请求的有效负载中将其提供给/jobs
端点。
Privacy Service API支持两种针对个人数据的作业请求:
创建访问/删除作业 access-delete
此部分演示了如何使用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",
"mergePolicyId": 124,
"regulation": "ccpa"
}'
companyContexts
(必需)包含您组织的身份验证信息的数组。 列出的每个标识符都包含以下属性:
namespace
:标识符的命名空间。value
:标识符的值。
必需,其中一个标识符使用imsOrgId
作为其namespace
,其value
包含您组织的唯一ID。
其他标识符可以是产品特定的公司限定符(例如,Campaign
),用于标识与属于您组织的Adobe应用程序的集成。 潜在值包括帐户名称、客户端代码、租户ID或其他应用程序标识符。
users
(必需)一个数组,其中包含您要访问或删除其信息的至少一个用户的集合。 单个请求最多可提供1000个用户。 每个用户对象包含以下信息:
key
:用于限定响应数据中各个作业ID的用户的标识符。 最好为此值选择一个唯一的、易于识别的字符串,以便稍后可以轻松引用或查找。action
:一个数组,列出了要对用户数据执行的所需操作。 根据您要执行的操作,此数组必须包括access
和/或delete
。userIDs
:用户的标识集合。 单个用户可以拥有的身份数限制为9个。 每个标识都包含namespace
、value
和命名空间限定符(type
)。 有关这些所需属性的更多详细信息,请参阅附录。
有关users
和userIDs
的更详细说明,请参阅疑难解答指南。
include
(必需)expandIDs
true
时,表示对处理应用程序中的ID进行优化(当前仅受Analytics支持)。 如果忽略,此值将默认为false
。priority
normal
和 low
。如果忽略priority
,则默认行为是normal
。mergePolicyId
profileService
)发出隐私请求时,您可以选择提供要用于ID拼接的特定合并策略的ID。 通过指定合并策略,隐私请求可以在返回客户数据时包含受众信息。 每个请求只能指定一个合并策略。 如果未提供合并策略,则响应中不包含分段信息。regulation
(必需)隐私工作的法规。 接受以下值:
apa_aus
ccpa
cpra_usa
gdpr
hipaa_usa
lgpd_bra
nzpa_nzl
pdpa_tha
vcdpa_usa
有关上述值表示的隐私法规的更多信息,请参阅支持的法规概述。
响应
成功的响应将返回新创建的作业的详细信息。
{
"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
成功提交作业请求后,您可以继续下一步操作检查作业状态。
检查作业的状态 check-status
通过在/jobs
终结点的GET请求路径中包含特定作业的jobId
,您可以检索有关该作业的信息,例如其当前处理状态。
API格式
GET /jobs/{JOB_ID}
请求
以下请求检索在请求路径中提供了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
responseMsgDetail
下提供了消息的详细信息。productStatusResponse.responseMsgDetail
productStatusResponse.results
responseMsgDetail
未涵盖的其他信息的results
对象。downloadURL
complete
,则此属性会提供一个URL以将作业结果下载为ZIP文件。 在作业完成后60天内可下载此文件。作业状态类别 status-categories
下表列出了不同的可能作业状态类别及其相应含义:
complete
processing
submitted
error
processing
状态。后续步骤
您现在知道如何使用Privacy Service API创建和监视隐私作业。 有关如何使用用户界面执行相同任务的信息,请参阅Privacy ServiceUI概述。