在此页面上:了解如何使用自定义操作和经过身份验证的API调用,将自定义历程事件从历程写入Adobe Experience Platform。
此用例说明了如何使用自定义操作和经过身份验证的调用,将自定义事件从历程写入Adobe Experience Platform。
配置开发人员项目 custom-action-aep-IO
-
在Adobe Developer Console中,单击 项目 并打开您的IO项目。
-
在 凭据 部分中,单击OAuth服务器到服务器。
-
单击查看cURL命令。
-
复制cURL命令并存储client_id、client_secret、grant_type和scope。
curl -X POST 'https://ims-na1.adobelogin.com/ims/token/v3' -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=client_credentials&client_id=1234&client_secret=5678&scope=openid,AdobeID,read_organizations,additional_info.projectedProductContext,session'
使用HTTP API入口配置源
-
在Adobe Experience Platform中创建端点以写入历程中的数据。
-
在Adobe Experience Platform中,单击左侧菜单中的 连接 下的源。 在 HTTP API 下,单击添加数据。
Adobe Experience Platform
的沙盒选择下拉列表
-
选择 新帐户 并启用身份验证。 选择连接到Source。
流数据的
-
选择 下一步 以及要写入数据的数据集。 单击 下一步 和完成。
-
打开新创建的数据流。 复制架构有效负载并将其保存在记事本中。
{
"header": {
"schemaRef": {
"id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>",
"contentType": "application/vnd.adobe.xed-full+json;version=1.0"
},
"imsOrgId": "<org_id>",
"datasetId": "<dataset_id>",
"source": {
"name": "Custom Journey Events"
}
},
"body": {
"xdmMeta": {
"schemaRef": {
"id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>",
"contentType": "application/vnd.adobe.xed-full+json;version=1.0"
}
},
"xdmEntity": {
"_id": "test1",
"<your_org>": {
"journeyVersionId": "",
"nodeId": "", "customer_Id":""
},
"eventMergeId": "",
"eventType": "",
"producedBy": "self",
"timestamp": "2018-11-12T20:20:39+00:00"
}
}
}
配置自定义操作 custom-action-config
自定义操作配置在此页面中有详细说明。
对于此示例,请按照以下步骤操作:
-
打开Adobe Journey Optimizer,然后单击左侧菜单中 管理 下的配置。 在 操作 下,单击管理,然后单击创建操作。
-
设置URL并选择Post方法。
https://dcs.adobedc.net/collection/<collection_id>?syncValidation=false -
确保配置标头(Content-Type、Charset、sandbox-name)。
设置身份验证 custom-action-aep-authentication
-
使用以下有效负载选择 Type 作为Custom。
-
粘贴client_secret、client_id、scope和grant_type(来自以前使用的IO项目有效负载)。
code language-none { "type": "customAuthorization", "authorizationType": "Bearer", "endpoint": "https://ims-na1.adobelogin.com/ims/token/v3", "method": "POST", "headers": {}, "body": { "bodyType": "form", "bodyParams": { "grant_type": "client_credentials", "client_secret": "********", "client_id": "<client_id>", "scope": "openid,AdobeID,read_organizations,additional_info.projectedProductContext,session" } }, "tokenInResponse": "json://access_token", "cacheDuration": { "duration": 28000, "timeUnit": "seconds" } } -
使用 单击测试身份验证 按钮测试连接。
设置有效负载 custom-action-aep-payload
-
在 请求 和 响应 字段中,粘贴以前使用的源连接中的有效负载。
code language-none { "xdmMeta": { "schemaRef": { "id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>", "contentType": "application/vnd.adobe.xed-full+json;version=1.0" } }, "xdmEntity": { "_id": "/uri-reference", "<your_org>": { "journeyVersionId": "Sample value", "nodeId": "Sample value", "customer_Id":"" }, "eventMergeId": "Sample value", "eventType": "advertising.completes, "producedBy": "self", "timestamp": "2018-11-12T20:20:39+00:00" } } -
将动态填充的字段的字段配置从 常量 更改为变量。
-
保存自定义操作。
历程
-
最后,在历程中使用此自定义操作编写自定义历程事件。
-
根据您的用例填充历程版本ID、节点ID、节点名称和其他属性。
复杂字段映射的
本节包含结构化知识,用于支持与本主题相关的解释、检索和问答。
要全面了解相关信息,应将此信息与本页上的文档相结合。 这两个源都不是独立的;页面描述了功能,而本节提供了其他上下文来帮助消除术语、意图、适用性和约束条件的歧义。
- TL;DR:此用例介绍了如何在Journey Optimizer中配置自定义操作,该操作使用HTTP API入口和OAuth服务器到服务器身份验证调用将历程事件数据写入Adobe Experience Platform。
意图:
- 使用OAuth服务器到服务器凭据设置Adobe Developer Console IO项目,以进行AEP API身份验证
- 在Adobe Experience Platform中创建一个HTTP API入口源,以接收流式历程事件数据
- 在Journey Optimizer中使用正确的URL、标头和自定义持有者令牌身份验证配置自定义操作
- 将历程字段(历程版本ID、节点ID、客户ID)动态映射为自定义操作有效负载中的变量
- 使用历程中的自定义操作将自定义事件写入AEP数据集
术语表:
- HTTP API入口: Adobe Experience Platform源连接器,它通过HTTP POST请求 (产品特定) 创建用于引入数据的流端点
- OAuth服务器到服务器: Adobe Developer Console中的一种身份验证凭据类型,它无需用户交互即可为服务器到服务器API调用生成持有者令牌(产品特定)
- 自定义授权: Journey Optimizer自定义操作身份验证类型,从指定的终结点获取持有者令牌并在配置的持续时间 (产品特定) 内缓存它
- XDM实体:符合Experience Data Model架构的数据有效负载结构,在通过HTTP API入口 (产品特定) 将事件写入AEP时用作主体
- cacheDuration:自定义授权配置中的令牌缓存设置,用于控制在请求新的持有者令牌之前重用获取的持有者令牌的时间(产品特定)
护栏:
- 创建Adobe Developer Console项目后,必须先明确授予开发人员和API访问控制权限,然后才能使用凭据
- 必须在启用身份验证的情况下创建HTTP API入口源;必须复制并存储连接端点URL和架构有效负载,以便在自定义操作配置中使用
- 自定义操作标头必须包括Content-Type、Charset和sandbox-name
- 必须在自定义操作有效负载配置中,将要在运行时动态填充的字段从常量更改为变量
术语:
- 规范名称:自定义操作 — 首字母缩写:none — 变体:自定义操作配置,Journey Optimizer自定义操作
- 规范名称:Adobe Experience Platform — 首字母缩写:AEP — 变体:Experience Platform, Platform
- 同义词: “HTTP API Inlet” = “streaming endpoint” = “DCS collection endpoint”
- 请勿混淆:“OAuth服务器到服务器”≠“OAuth用户身份验证”(服务器到服务器不需要用户登录;它使用客户端凭据)
常见问题解答:
- 问:哪种身份验证类型用于从Journey Optimizer自定义操作调用AEP HTTP API入口? — 使用从Adobe IMS令牌端点获取的OAuth服务器到服务器客户端凭据进行自定义持有者令牌身份验证。
- 问:在哪里可以找到client_id、client_secret、grant_type和作用域值? — 在Adobe Developer Console IO项目的“OAuth服务器到服务器凭据”部分,通过单击“查看cURL命令”。
- 问:如何在有效负载中使历程特定的字段(如journeyVersionId、nodeId)成为动态字段? — 在自定义操作有效负载设置中,将其字段配置从常量更改为变量,以便在运行时从历程上下文中填充它们。
- 问:Adobe Developer Console项目需要哪些权限? — 在创建项目后,必须向开发人员和API访问控制授予适当的权限,如AEP API身份验证文档中所述。
- 问:在身份验证有效负载中,cacheDuration设置的用途是什么? — 它控制缓存和重新使用获取的持有者令牌的时间(示例中为28,000秒),超过此时间后,自定义操作将请求新令牌。