Specifiche del modello per le destinazioni create con Destination SDK
Utilizza la parte specifica del modello della configurazione del server di destinazione per configurare la modalità di formattazione delle richieste HTTP inviate alla destinazione.
In una specifica del modello è possibile definire come trasformare i campi degli attributi del profilo tra lo schema XDM e il formato supportato dalla piattaforma.
Le specifiche del modello fanno parte della configurazione del server di destinazione per le destinazioni in tempo reale (streaming).
Per capire dove questo componente si inserisce in un’integrazione creata con Destination SDK, consulta il diagramma riportato di seguito. opzioni di configurazione o consulta la guida su come utilizzare Destination SDK per configurare una destinazione di streaming.
È possibile configurare le specifiche del modello per la destinazione tramite /authoring/destination-servers
endpoint. Consulta le seguenti pagine di riferimento API per esempi dettagliati di chiamate API, in cui puoi configurare i componenti mostrati in questa pagina.
Tipi di integrazione supportati supported-integration-types
Consulta la tabella seguente per informazioni dettagliate sui tipi di integrazioni che supportano le funzionalità descritte in questa pagina.
Configurare una specifica di modello configure-template-spec
L’Adobe utilizza un linguaggio per modelli simile a Jinja per trasformare i campi dallo schema XDM in un formato supportato dalla destinazione.
Per ulteriori informazioni sulla trasformazione, consulta i collegamenti seguenti:
Di seguito è riportato un esempio di modello di richiesta HTTP con la descrizione di ogni singolo parametro.
{
"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
Per informazioni su come scrivere il modello, leggere la sezione relativa a utilizzo dei modelli.
Per ulteriori informazioni sull’escape di caratteri, consulta RFC JSON standard, sezione sette.
Per un esempio di semplice trasformazione, fai riferimento a attributi profilo trasformazione.
contentType
application/json
.Passaggi successivi next-steps
Dopo aver letto questo articolo, dovresti conoscere meglio cos’è una specifica di modello e come configurarla.
Per ulteriori informazioni sugli altri componenti del server di destinazione, consulta i seguenti articoli: