使用API为配置文件更新启用数据集
本教程介绍了如何启用具有“更新插入”功能的数据集以更新实时客户档案数据。 这包括创建新数据集和配置现有数据集的步骤。
快速入门
本教程需要对管理启用了配置文件的数据集所涉及的几项Adobe Experience Platform服务有一定的了解。 在开始本教程之前,请查看以下相关Experience Platform服务的文档:
- Real-Time Customer Profile:根据来自多个源的汇总数据,提供统一的实时使用者个人资料。
- Catalog Service: RESTful API,允许您为Real-Time Customer Profile和Identity Service创建数据集并配置它们。
- Experience Data Model (XDM): Experience Platform用于组织客户体验数据的标准化框架。
- 批量摄取:批量摄取API允许您将数据作为批处理文件摄取到Experience Platform中。
以下部分提供了成功调用Experience Platform API所需了解的其他信息。
正在读取示例 API 调用
本教程提供了示例API调用来演示如何格式化请求。 这些包括路径、必需的标头和格式正确的请求负载。 还提供了在 API 响应中返回的示例 JSON。 有关示例 API 调用的文档中所用惯例的信息,请参阅故障排除指南中的如何读取示例 API 调用 Experience Platform。
收集所需标头的值
为调用 Experience Platform API,您必须先完成身份验证教程。 完成身份验证教程会提供所有 Experience Platform API 调用中每个所需标头的值,如下所示:
Authorization: Bearer {ACCESS_TOKEN}x-api-key: {API_KEY}x-gw-ims-org-id: {ORG_ID}
包含有效负载(POST、PUT、PATCH)的所有请求都需要额外的Content-Type标头。 必要时,此标头的正确值会显示在示例请求中。
Experience Platform中的所有资源都被隔离到特定的虚拟沙盒中。 对Experience Platform API的所有请求都需要x-sandbox-name标头,用于指定将在其中执行操作的沙盒的名称。 有关Experience Platform中沙盒的更多信息,请参阅沙盒概述文档。
创建为配置文件更新启用的数据集
创建新数据集时,可以为用户档案启用该数据集,并在创建时启用更新功能。
要创建为配置文件和更新启用的数据集,请使用对/dataSets端点的POST请求。
API格式
POST /dataSets
请求
通过在请求正文中的tags下同时包含unifiedIdentity和unifiedProfile,将在创建时为Profile启用数据集。 在unifiedProfile数组中,添加isUpsert:true将使数据集能够支持更新。
curl -X POST \
https://platform.adobe.io/data/foundation/catalog/dataSets \
-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 '{
"name": "Sample dataset",
"description: "A sample dataset with a sample description.",
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/31670881463308a46f7d2cb09762715",
"contentType": "application/vnd.adobe.xed-full-notext+json; version=1"
},
"tags": {
"unifiedIdentity": [
"enabled: true"
],
"unifiedProfile": [
"enabled: true",
"isUpsert: true"
]
}
}'
schemaRef.id{TENANT_ID}响应
成功的响应显示了一个数组,该数组包含"@/dataSets/{DATASET_ID}"形式的新创建数据集的ID。
[
"@/dataSets/5b020a27e7040801dedbf46e"
]
配置现有数据集 configure-an-existing-dataset
以下步骤介绍了如何为更新(upsert)功能配置现有的启用用户档案的数据集。
isUpsert标记重新启用它。 如果没有为配置文件启用现有数据集,您可以直接进入为配置文件启用数据集并更新插入的步骤。 如果不确定,以下步骤会显示如何检查是否已启用数据集。检查是否已为配置文件启用数据集
使用Catalog API,您可以检查现有数据集以确定是否已启用它以便在Real-Time Customer Profile中使用。 以下调用将按ID检索数据集的详细信息。
API格式
GET /dataSets/{DATASET_ID}
{DATASET_ID}请求
curl -X GET 'https://platform.adobe.io/data/foundation/catalog/dataSets/5b020a27e7040801dedbf46e' \
-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}'
响应
{
"5b020a27e7040801dedbf46e": {
"name": "{DATASET_NAME}",
"imsOrg": "{ORG_ID}",
"tags": {
"adobe/pqs/table": [
"unifiedprofileingestiontesteventsdataset"
],
"unifiedIdentity": [
"enabled:true"
],
"unifiedProfile": [
"enabled:true"
]
},
"version": "1.0.1",
"created": 1536536917382,
"updated": 1539793978215,
"createdClient": "{CLIENT_CREATED}",
"createdUser": "{CREATED_BY}",
"updatedUser": "{CREATED_BY}",
"viewId": "{VIEW_ID}",
"files": "@/dataSetFiles?dataSetId=5b020a27e7040801dedbf46e",
"schema": "{SCHEMA}",
"schemaRef": {
"id": "https://ns.adobe.com/xdm/context/experienceevent",
"contentType": "application/vnd.adobe.xed+json"
}
}
}
在tags属性下,您可以看到存在unifiedProfile,其值为enabled:true。 因此,已为此数据集启用Real-Time Customer Profile。
为配置文件禁用数据集
为了配置启用配置文件的数据集以进行更新,您必须首先禁用unifiedProfile和unifiedIdentity标记,然后随着isUpsert标记重新启用它们。 可使用两个PATCH请求来完成,一个用于禁用,另一个用于重新启用。
API格式
PATCH /dataSets/{DATASET_ID}
{DATASET_ID}请求
第一个PATCH请求正文包括path到unifiedProfile和path到unifiedIdentity,为这两个路径将value设置为enabled:false以禁用标记。
curl -X PATCH https://platform.adobe.io/data/foundation/catalog/dataSets/5b020a27e7040801dedbf46e \
-H 'Content-Type:application/json-patch+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 '[
{
"op": "replace",
"path": "/tags/unifiedProfile",
"value": ["enabled:false"]
},
{
"op": "replace",
"path": "/tags/unifiedIdentity",
"value": ["enabled:false"]
}
]'
响应
成功的PATCH请求会返回HTTP状态200 (正常)以及包含已更新数据集的ID的数组。 此ID应该与PATCH请求中发送的ID匹配。 unifiedProfile和unifiedIdentity标记现已禁用。
[
"@/dataSets/5b020a27e7040801dedbf46e"
]
为配置文件启用数据集并更新插入 enable-the-dataset
可以使用单个PATCH请求为现有数据集启用配置文件和属性更新。
API格式
PATCH /dataSets/{DATASET_ID}
{DATASET_ID}请求
请求正文包括path到unifiedProfile设置value以包含enabled和isUpsert标记(两者均设置为true),以及path到unifiedIdentity设置value以包含enabled标记设置为true。
curl -X PATCH https://platform.adobe.io/data/foundation/catalog/dataSets/5b020a27e7040801dedbf46e \
-H 'Content-Type:application/json-patch+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 '[
{
"op": "add",
"path": "/tags/unifiedProfile",
"value": [
"enabled:true",
"isUpsert:true"
]
},
{
"op": "add",
"path": "/tags/unifiedIdentity",
"value": [
"enabled:true"
]
}
]'
响应
成功的PATCH请求会返回HTTP状态200 (正常)以及包含已更新数据集的ID的数组。 此ID应该与PATCH请求中发送的ID匹配。 unifiedProfile标记和unifiedIdentity标记现已启用并为属性更新进行了配置。
[
"@/dataSets/5b020a27e7040801dedbf46e"
]
后续步骤
批量摄取工作流现在可以使用您的用户档案和启用了更新插入的数据集来更新用户档案数据。 要了解有关将数据摄取到Adobe Experience Platform的更多信息,请从阅读数据摄取概述开始。