通过Adobe Target进行个性化
概述 overview
Edge Network Server API可以投放和渲染在Adobe Target中创建的个性化体验,具体可借助于 基于表单的体验编辑器.
配置数据流 configure-your-datastream
在将服务器API与Adobe Target结合使用之前,您必须先对数据流配置启用Adobe Target个性化。
请参阅 有关将服务添加到数据流的指南,以了解有关如何启用Adobe Target的详细信息。
配置数据流时,您可以(可选)提供以下值 Property Token, Target Environment ID、和 Target Third Party ID Namespace.
自定义参数 custom-parameters
中的大多数字段 XDM 每个请求的一部分将被序列化为点表示法,然后作为自定义或发送到Target mbox 参数。
示例 custom-parameters-example
给定以下XDM示例:
"xdm":{
"marketing":{
"campaignGroup":"winter22",
"campaignName":"homeOwnerPromo22",
"trackingCode":"hop22"
}
}
在Target中创建受众时,以下值可用作自定义参数:
marketing.campaignGroup
marketing.campaignName
marketing.trackingCode
Target配置文件更新 profile-update
此 Server API 允许更新Target配置文件。 要更新Target配置文件,请确保配置文件数据在 data
部分请求,格式如下:
"data": {
"__adobe.target": {
"profile.eyeColor": "brown",
"profile.hairColor": "brown"
}
}
查询Target活动 querying-target-activities
架构 schemas
请求的查询部分确定Target返回的内容。 在 personalization
对象, schemas
确定Target返回的内容类型。
如果不确定将检索哪一类选件,则应将所有四个架构都包含在对Edge Network的个性化查询中:
- 基于HTML的优惠:
https://ns.adobe.com/personalization/html-content-item - 基于JSON的选件:
https://ns.adobe.com/personalization/json-content-item - Target重定向选件
https://ns.adobe.com/personalization/redirect-item - 定位DOM操作选件
https://ns.adobe.com/personalization/dom-action
决策范围 decision-scopes
Adobe Target mbox 名称应包含在 decisionScopes
数组,以返回相应的内容。
示例 decision-scopes-example
在下面的示例中,将请求所有四种选件类型以及一个名为的Target活动 serverapimbox
.
"query":{
"personalization":{
"schemas":[
"https://ns.adobe.com/personalization/html-content-item",
"https://ns.adobe.com/personalization/json-content-item",
"https://ns.adobe.com/personalization/redirect-item",
"https://ns.adobe.com/personalization/dom-action"
],
"decisionScopes":[
"serverapimbox"
]
}
}
API调用示例 api-example
API格式
POST /ee/v2/interact
请求 request
下面概述了包含完整XDM对象、配置文件参数以及相应Target查询的完整请求。
curl -X POST 'https://server.adobedc.net/ee/v2/interact?dataStreamId={DATASTREAM_ID}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org: {ORG_ID}' \
--header 'Authorization: Bearer {TOKEN}' \
--header 'Content-Type: application/json' \
--data-raw '{
"event": {
"xdm": {
"eventType": "web.webpagedetails.pageViews",
"identityMap": {
"ECID": [
{
"id": "05907638112924484241029082405297151763",
"authenticatedState": "ambiguous",
"primary": true
}
]
},
"web": {
"webPageDetails": {
"URL": "https://alloystore.dev",
"name": "Home Page"
},
"webReferrer": {
"URL": ""
}
},
"device": {
"screenHeight": 1440,
"screenWidth": 3440,
"screenOrientation": "landscape"
},
"environment": {
"type": "browser",
"browserDetails": {
"viewportWidth": 3440,
"viewportHeight": 1440
}
},
"placeContext": {
"localTime": "2022-03-22T22:45:21.193-06:00",
"localTimezoneOffset": 360
},
"timestamp": "2022-03-23T04:45:21.193Z",
"implementationDetails": {
"name": "https://ns.adobe.com/experience/alloy/reactor",
"version": "1.0",
"environment": "serverapi"
},
"data": {
"__adobe": {
"target": {
"profile.eyeColor": "brown",
"profile.hairColor": "brown",
"profile.shoeColor": "black"
}
}
}
}
},
"query": {
"personalization": {
"schemas": [
"https://ns.adobe.com/personalization/html-content-item",
"https://ns.adobe.com/personalization/json-content-item",
"https://ns.adobe.com/personalization/redirect-item",
"https://ns.adobe.com/personalization/dom-action"
],
"decisionScopes": [
"serverapimbox"
]
}
}
}'
响应 response
Edge Network将返回类似于下面的响应。
{
"requestId":"10959bbf-f83d-40e1-9521-d9145f19cdc5",
"handle":[
{
"payload":[
{
"id":"AT:eyJhY3Rpdml0eUlkIjoiMTQwMjgxIiwiZXhwZXJpZW5jZUlkIjoiMCJ9",
"scope":"serverapimbox",
"scopeDetails":{
"decisionProvider":"TGT",
"activity":{
"id":"140281"
},
"experience":{
"id":"0"
},
"strategies":[
{
"algorithmID":"0",
"trafficType":"0"
}
],
"characteristics":{
"eventToken":"xycjBJlZhwVV5MN0kMkmoGqipfsIHvVzTQxHolz2IpTMromRrB5ztP5VMxjHbs7c6qPG9UF4rvQTJZniWgqbOw=="
}
},
"items":[
{
"id":"282484",
"schema":"https://ns.adobe.com/personalization/json-content-item",
"meta":{
"offer.name":"/server_apiform/experiences/0/pages/0/zones/0/1648103551041",
"experience.id":"0",
"activity.name":"Server API Form",
"activity.id":"140281",
"experience.name":"Experience A",
"option.id":"2",
"offer.id":"282484"
},
"data":{
"id":"282484",
"format":"application/json",
"content":{
"value":"a/b json experience a",
"platform":"server"
}
}
}
]
}
],
"type":"personalization:decisions",
"eventIndex":0
},
{
"payload":[
{
"key":"kndctr_53A16ACB5CC1D3760A495C99_AdobeOrg_identity",
"value":"CiYwNTkwNzYzODExMjkyNDQ4NDI0MTAyOTA4MjQwNTI5NzE1MTc2M1IOCL-pwpv9LxgBKgNPUjLwAb-pwpv9Lw==",
"maxAge":34128000
}
],
"type":"state:store"
}
]
}
如果访客根据发送到Adobe Target的数据符合个性化活动资格,则相关活动内容将位于 handle
对象,其中类型为 personalization:decisions
.
其他内容有时将返回到 handle
也一样。 其他内容类型与Target个性化无关。 如果访客符合多个活动的条件,则每个活动都将是一个单独的 personalization
数组中的对象。
下表解释了该部分响应的关键元素。
scope
"scope": "serverapimbox"
items[].schema
"schema": "https://ns.adobe.com/personalization/json-content-item",
items[].meta.activity.id
"activity.id": "140281"
items[].meta.activity.name
"activity.name": "Server API Form"
items[].meta.experience.id
"experience.id": "0"
items[].meta.experience.name
"experience.name": "Experience A"
items[].data.id
"id": "282484"
items[].data.format
"format: "application/json
items[].data.content
"content": "<CONTENT CONFIGURED IN TARGET>"
服务器端个性化示例应用程序 sample
示例应用程序位于 此URL 演示使用Adobe Experience Platform从Adobe Target获取个性化内容。 网页会根据返回的个性化内容而发生更改。
此示例可以 非 依赖客户端库,例如 Web SDK 以获取个性化内容。 而是使用Adobe Experience Platform API来获取个性化内容。 然后,该实现基于返回的个性化内容生成HTML服务器端。