使用Destination SDK创建的目标模板规范
使用目标服务器配置的模板规范部分配置如何格式化发送到目标的HTTP请求。
在模板规范中,您可以定义如何在XDM架构和平台支持的格式之间转换配置文件属性字段。
模板规范是实时(流)目标的目标服务器配置的一部分。
要了解此组件在何处适合使用Destination SDK创建的集成,请参阅配置选项文档中的关系图,或查看有关如何使用Destination SDK配置流目标的指南。
您可以通过/authoring/destination-servers
端点配置目标的模板规范。 有关详细的API调用示例,请参阅以下API参考页面,您可以在其中配置此页面中显示的组件。
IMPORTANT
Destination SDK支持的所有参数名称和值均区分大小写****。 为避免出现区分大小写错误,请完全按照文档中的说明使用参数名称和值。
支持的集成类型 supported-integration-types
有关哪些类型的集成支持此页面上描述的功能,请参阅下表。
集成类型
支持功能
实时(流)集成
是
基于文件(批处理)的集成
否
配置模板规范 configure-template-spec
Adobe使用类似于Jinja的模板化语言将字段从XDM架构转换为目标支持的格式。
有关转换的更多信息,请访问以下链接:
TIP
Adobe提供了一个开发人员工具,可帮助您创建和测试消息转换模板。
请参阅下面的HTTP请求模板示例,以及每个参数的说明。
{
"httpTemplate":{
"httpMethod":"POST",
"requestBody":{
"templatingStrategy":"PEBBLE_V1",
"value":"{ \"attributes\": [ {% for ns in [\"external_id\", \"yourdestination_id\"] %} {% if input.profile.identityMap[ns] is not empty and first_namespace_encountered %} , {% endif %} {% set first_namespace_encountered = true %} {% for identity in input.profile.identityMap[ns]%} { \"{{ ns }}\": \"{{ identity.id }}\" {% if input.profile.segmentMembership.ups is not empty %} , \"AEPSegments\": { \"add\": [ {% for segment in input.profile.segmentMembership.ups %} {% if segment.value.status == \"realized\" or segment.value.status == \"existing\" %} {% if added_segment_found %} , {% endif %} {% set added_segment_found = true %} \"{{ destination.segmentAliases[segment.key] }}\" {% endif %} {% endfor %} ], \"remove\": [ {% for segment in input.profile.segmentMembership.ups %} {% if segment.value.status == \"exited\" %} {% if removed_segment_found %} , {% endif %} {% set removed_segment_found = true %} \"{{ destination.segmentAliases[segment.key] }}\" {% endif %} {% endfor %} ] } {% set removed_segment_found = false %} {% set added_segment_found = false %} {% endif %} {% if input.profile.attributes is not empty %} , {% endif %} {% for attribute in input.profile.attributes %} \"{{ attribute.key }}\": {% if attribute.value is empty %} null {% else %} \"{{ attribute.value.value }}\" {% endif %} {% if not loop.last%} , {% endif %} {% endfor %} } {% if not loop.last %} , {% endif %} {% endfor %} {% endfor %} ] }"
},
"contentType":"application/json"
}
}
参数
类型
描述
httpMethod
字符串
必填。 Adobe将在对服务器的调用中使用的方法。 支持的方法:
GET
、PUT
、POST
、DELETE
、PATCH
。templatingStrategy
字符串
必填。 使用
PEBBLE_V1
。value
字符串
必填。 此字符串是模板的字符转义版本,该模板会将Platform发送的HTTP请求格式化为目标所需的格式。
有关如何写入模板的信息,请阅读上使用模板的部分。
有关字符转义的更多信息,请参阅RFC JSON标准第七节。
有关简单转换的示例,请参阅配置文件属性转换。
有关如何写入模板的信息,请阅读上使用模板的部分。
有关字符转义的更多信息,请参阅RFC JSON标准第七节。
有关简单转换的示例,请参阅配置文件属性转换。
contentType
字符串
必填。 您的服务器接受的内容类型。 根据转换模板生成的输出类型,这可以是任何受支持的HTTP应用程序内容类型。 在大多数情况下,此值应设置为
application/json
。后续步骤 next-steps
阅读本文后,您应该更好地了解什么是模板规范以及如何对其进行配置。
要了解有关其他目标服务器组件的更多信息,请参阅以下文章:
recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6