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 nella documentazione delle opzioni di configurazione oppure consulta la guida su come utilizzare Destination SDK per configurare una destinazione di streaming.
È possibile configurare le specifiche del modello per la destinazione tramite l'endpoint /authoring/destination-servers
. 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 di 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 su utilizzo del modello.
Per ulteriori informazioni sull'escape di caratteri, fare riferimento allo standard JSON RFC, sezione sette.
Per un esempio di trasformazione semplice, fare riferimento alla trasformazione attributi di profilo.
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: