The server and template specs can be configured in Adobe Experience Platform Destination SDK via the common endpoint /authoring/destination-servers
. Read Destinations API endpoint operations for a complete list of operations you can perform on the endpoint.
Customers will be able to activate data from Adobe Experience Platform to your destination via HTTP exports. The server configuration contains information about the server receiving the messages (the server on your side).
This process delivers user data as a series of HTTP messages to your destination platform. The parameters below form the HTTP server specs template.
Parameter | Type | Description |
---|---|---|
name |
String | Required. Represents a friendly name of your server, visible only to Adobe. This name is not visible to partners or customers. Example Moviestar destination server . |
destinationServerType |
String | Required. Set to URL_BASED for streaming destinations. |
templatingStrategy |
String | Required.
|
value |
String | Required. Fill in the address of the API endpoint that Experience Platform should connect to. |
The template spec allows you to configure how to format the exported message to your destination. Adobe uses a templating language similar to Jinja to transform the fields from the XDM schema into a format supported by your destination. For more information about the transformation, visit the links below:
Adobe offers a developer tool that helps you create and test a message transformation template.
{
"name":"Moviestar destination server",
"destinationServerType":"URL_BASED",
"urlBasedDestination":{
"url":{
"templatingStrategy":"PEBBLE_V1",
"value":"https://api.moviestar.com/data/{{customerData.endpointRegion}}/items"
}
},
"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"
}
}
Parameter | Type | Description |
---|---|---|
httpMethod |
String | Required. The method that Adobe will use in calls to your server. Options are GET , PUT , POST , DELETE , PATCH . |
templatingStrategy |
String | Required. Use PEBBLE_V1 . |
value |
String | Required. This string is the character-escaped version that transforms Platform customers’ data to the format your service expects. For information how to write the template, read the Using templating section. For more information about character escaping, refer to the RFC JSON standard, section seven. For an example of a simple transformation, refer to the Profile Attributes transformation. |
contentType |
String | Required. The content type that your server accepts. This value is most likely application/json . |