Configuration options for server and template specs

Overview

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.

Example configuration


{
   "name":"Moviestar destination server",
   "destinationServerType":"URL_BASED",
   "urlBasedDestination":{
      "url":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"https://api.moviestar.com/data/{{customerData.region}}/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"
   }
}

Server specs

Server configuration highlighted

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. URL_BASED is currently the only available option.
templatingStrategy String Required.
  • Use PEBBLE_V1 if Adobe needs to transform the URL in the value field below. Use this option if you have an endpoint like: https://api.moviestar.com/data/{{customerData.region}}/items
  • Use NONE if no transformation is needed on the Adobe side, for example if you have an endpoint like: https://api.moviestar.com/data/items
value String Required. Fill in the address of the API endpoint that Experience Platform should connect to.

Template specs

Template configuration highlighted

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:

TIP

Adobe offers a developer tool that helps you create and test a message transformation template.

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.

On this page