Especificaciones de plantilla para destinos creados con Destination SDK
Utilice la parte de especificación de plantilla de la configuración del servidor de destino para configurar cómo dar formato a las solicitudes HTTP enviadas al destino.
En una especificación de plantilla puede definir cómo transformar los campos de atributos de perfil entre el esquema XDM y el formato que admite su plataforma.
Las especificaciones de plantilla forman parte de la configuración del servidor de destino para destinos en tiempo real (flujo).
Para saber dónde encaja este componente en una integración creada con Destination SDK, consulte el diagrama en la documentación de opciones de configuración o consulte la guía sobre cómo usar Destination SDK para configurar un de flujo continuo.
Puede configurar las especificaciones de la plantilla para su destino a través del extremo /authoring/destination-servers
. Consulte las siguientes páginas de referencia de la API para ver ejemplos detallados de llamadas de la API donde puede configurar los componentes que se muestran en esta página.
Tipos de integración admitidos supported-integration-types
Consulte la tabla siguiente para obtener detalles sobre qué tipos de integraciones admiten la funcionalidad descrita en esta página.
Configuración de una especificación de plantilla configure-template-spec
El Adobe usa un lenguaje de creación de plantillas similar a Jinja para transformar los campos del esquema XDM en un formato compatible con el destino.
Para obtener más información sobre la transformación, visite los siguientes vínculos:
Consulte a continuación un ejemplo de una plantilla de solicitud HTTP, junto con descripciones de cada parámetro individual.
{
"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
Para obtener información sobre cómo escribir la plantilla, lea la sección de uso de la creación de plantillas.
Para obtener más información sobre el escape de caracteres, consulte el estándar RFC JSON, sección siete.
Para ver un ejemplo de transformación simple, consulte la transformación atributos de perfil.
contentType
application/json
.Pasos siguientes next-steps
Después de leer este artículo, debería comprender mejor qué es una especificación de plantilla y cómo puede configurarla.
Para obtener más información acerca de los demás componentes del servidor de destino, consulte los siguientes artículos: