Mallspecifikationer för mål som skapats med Destination SDK
Använd mallens specifika del av målserverkonfigurationen för att konfigurera hur HTTP-begäranden som skickas till målet ska formateras.
I en mallspecifikation kan du definiera hur profilattributfält ska omformas mellan XDM-schemat och det format som stöds på plattformen.
Mallspecifikationer är en del av målserverkonfigurationen för mål för realtidsströmning.
Mer information om var den här komponenten passar in i en integrering som skapats med Destination SDK finns i diagrammet i dokumentationen för konfigurationsalternativ eller i guiden om hur du använder Destination SDK för att konfigurera ett direktuppspelningsmål.
Du kan konfigurera mallspecifikationerna för ditt mål via slutpunkten /authoring/destination-servers
. På följande API-referenssidor finns detaljerade API-anropsexempel där du kan konfigurera komponenterna som visas på den här sidan.
Integrationstyper som stöds supported-integration-types
Se tabellen nedan för mer ingående information om vilka typer av integreringar som stöder de funktioner som beskrivs på den här sidan.
Konfigurera en mallspecifikation configure-template-spec
Adobe använder ett mallspråk som liknar Jinja för att omvandla fälten från XDM-schemat till ett format som stöds av ditt mål.
Mer information om omvandlingen finns på länkarna nedan:
Nedan finns ett exempel på en mall för en HTTP-begäran, tillsammans med beskrivningar av varje enskild parameter.
{
"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
GET
, PUT
, POST
, DELETE
, PATCH
.templatingStrategy
PEBBLE_V1
.value
Mer information om hur du skriver mallen finns i avsnittet med mallar.
Mer information om teckenflytning finns i RFC JSON-standarden, avsnitt sju.
Ett exempel på en enkel omformning finns i omformningen profile attributes .
contentType
application/json
.Nästa steg next-steps
När du har läst den här artikeln bör du få en bättre förståelse för vad en mallspecifikation är och hur du kan konfigurera den.
Mer information om andra målserverkomponenter finns i följande artiklar: