Sjabloonspecificaties voor bestemmingen die zijn gemaakt met Destination SDK
Gebruik het malplaatjespecifieke deel van de configuratie van de bestemmingsserver om te vormen hoe te om de HTTP- verzoeken te formatteren die naar uw bestemming worden verzonden.
In een sjabloonspecificatie kunt u definiëren hoe u profielkenmerkvelden transformeert tussen het XDM-schema en de indeling die uw platform ondersteunt.
Sjabloonspecificaties maken deel uit van de configuratie van de doelserver voor realtime (streaming) doelen.
Om te begrijpen waar deze component in een integratie past die met Destination SDK wordt gecreeerd, zie het diagram in de configuratieopties documentatie of zie de gids op hoe te Destination SDK gebruiken om een het stromen bestemming te vormen.
U kunt de malplaatjespecs voor uw bestemming via het /authoring/destination-servers eindpunt vormen. Zie de volgende API verwijzingspagina's voor gedetailleerde API vraagvoorbeelden waar u de componenten kunt vormen die in deze pagina worden getoond.
Ondersteunde integratietypen supported-integration-types
Raadpleeg de onderstaande tabel voor meer informatie over de integratietypen die de op deze pagina beschreven functionaliteit ondersteunen.
Een sjabloonspecificatie configureren configure-template-spec
Adobe gebruikt een malplaatjetaal gelijkend op Jinja om de gebieden van het schema XDM in een formaat om te zetten dat door uw bestemming wordt gesteund.
Ga voor meer informatie over de transformatie naar de onderstaande koppelingen:
Zie onder een voorbeeld van een HTTP-aanvraagsjabloon, samen met beschrijvingen van elke individuele 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"
}
}
httpMethodGET, PUT, POST, DELETE, PATCH .templatingStrategyPEBBLE_V1 .valuevoor informatie over hoe te om het malplaatje te schrijven, lees de sectie op gebruikend het templating .
voor meer informatie over karakter het ontsnappen, verwijs naar de norm RFC JSON, sectie zeven .
Voor een voorbeeld van een eenvoudige transformatie, verwijs naar de profielattributen transformatie.
contentTypeapplication/json .Volgende stappen next-steps
Na het lezen van dit artikel, zou u een beter inzicht in moeten hebben wat een malplaatjespecificatie is, en hoe u het kunt vormen.
Raadpleeg de volgende artikelen voor meer informatie over de andere componenten van de doelserver: