Come parte dell’Destination SDK, Adobe fornisce strumenti per sviluppatori per aiutarti a configurare e testare la destinazione. Questa pagina descrive come creare e testare un modello di trasformazione dei messaggi. Per informazioni su come verificare la destinazione, consulta Verifica la configurazione di destinazione.
A creare e testare un modello di trasformazione dei messaggi tra lo schema di destinazione in Adobe Experience Platform e il formato del messaggio supportato dalla destinazione, utilizza Strumento per la creazione di modelli descritto più avanti. Ulteriori informazioni sulla trasformazione dei dati tra lo schema di origine e di destinazione nel documento con formato messaggio.
Di seguito è illustrato come creare e testare un modello di trasformazione dei messaggi si adatta all’interno di flusso di lavoro di configurazione della destinazione nella Destination SDK:
Uno dei primi passi nella creazione della destinazione in Destination SDK consiste nel pensare a come il formato dei dati per l’appartenenza al segmento, le identità e gli attributi di profilo viene trasformato quando si esporta da Adobe Experience Platform alla destinazione. Trova informazioni sulla trasformazione tra lo schema XDM di Adobe e lo schema di destinazione nel documento con formato messaggio.
Affinché la trasformazione abbia successo, è necessario fornire un modello di trasformazione, simile a questo esempio: Creare un modello che invia segmenti, identità e attributi di profilo.
Adobe fornisce uno strumento modello che ti consente di creare e testare il modello di messaggio che trasforma i dati dal formato Adobe XDM nel formato supportato dalla tua destinazione. Lo strumento dispone di due endpoint API che puoi utilizzare:
Prima di essere pronti per creare il modello, assicurati di completare i passaggi seguenti:
maxUsersPerRequest
parametro .
maxUsersPerRequest=1
se desideri che una chiamata API alla destinazione includa un singolo profilo, insieme alle relative qualifiche del segmento, identità e attributi di profilo.maxUsersPerRequest
con un valore maggiore di uno se desideri che una chiamata API alla destinazione includa più profili, insieme alle relative qualifiche dei segmenti, identità e attributi di profilo.destinationDelivery.destinationServerId
.Prima di creare e modificare il modello di trasformazione del messaggio, puoi iniziare chiamando il endpoint API del modello di rendering con un modello semplice che esporta i profili non elaborati senza applicare alcuna trasformazione. La sintassi per il modello semplice è la seguente:
"template": "{% for profile in input.profiles %}{{profile|raw}}{% endfor %}}"
Il processo per ottenere e testare il modello è iterativo. Ripeti i passaggi seguenti fino a quando i profili esportati non corrispondono al formato dati previsto per la tua destinazione.
Per consultare la documentazione completa di riferimento API, leggi Ottieni operazioni API con modelli di esempio.
Aggiungi un ID di destinazione alla chiamata , come mostrato di seguito, e la risposta restituisce un esempio di modello corrispondente all’ID di destinazione.
curl --location --request GET 'https://platform.adobe.io/data/core/activation/authoring/testing/template/sample/5114d758-ce71-43ba-b53e-e2a91d67b67f' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'x-api-key: {API_KEY}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
Se l'ID di destinazione fornito corrisponde a una configurazione di destinazione con aggregazione dello sforzo migliore e maxUsersPerRequest=1
nel criterio di aggregazione, la richiesta restituisce un modello di esempio simile a questo:
{#- THIS is an example template for a single profile -#}
{#- A '-' at the beginning or end of a tag removes all whitespace on that side of the tag. -#}
{
"identities": [
{%- for idMapEntry in input.profile.identityMap -%}
{%- set namespace = idMapEntry.key -%}
{%- for identity in idMapEntry.value %}
{
"type": "{{ namespace }}",
"id": "{{ identity.id }}"
}{%- if not loop.last -%},{%- endif -%}
{%- endfor -%}{%- if not loop.last -%},{%- endif -%}
{% endfor %}
],
"AdobeExperiencePlatformSegments": {
"add": [
{%- for segment in input.profile.segmentMembership.ups | added %}
"{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
{% endfor %}
],
"remove": [
{#- Alternative syntax for filtering segments by status: -#}
{% for segment in removedSegments(input.profile.segmentMembership.ups) %}
"{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
{% endfor %}
]
}
}
Se l'ID di destinazione fornito corrisponde a un modello di server di destinazione con aggregazione configurabile o aggregazione dello sforzo migliore con maxUsersPerRequest
maggiore di uno, la richiesta restituisce un modello di esempio simile a questo:
{#- THIS is an example template for multiple profiles -#}
{#- A '-' at the beginning or end of a tag removes all whitespace on that side of the tag. -#}
{
"profiles": [
{%- for profile in input.profiles %}
{
"identities": [
{%- for idMapEntry in profile.identityMap -%}
{%- set namespace = idMapEntry.key -%}
{%- for identity in idMapEntry.value %}
{
"type": "{{ namespace }}",
"id": "{{ identity.id }}"
}{%- if not loop.last -%},{%- endif -%}
{%- endfor -%}{%- if not loop.last -%},{%- endif -%}
{% endfor %}
],
"AdobeExperiencePlatformSegments": {
"add": [
{%- for segment in profile.segmentMembership.ups | added %}
"{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
{% endfor %}
],
"remove": [
{#- Alternative syntax for filtering segments by status: -#}
{% for segment in removedSegments(profile.segmentMembership.ups) %}
"{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
{% endfor %}
]
}
}{%- if not loop.last -%},{%- endif -%}
{% endfor %}
]
}
Prima di utilizzare il modello per eseguire il rendering dei profili che corrispondono al formato previsto della destinazione, è necessario applicare l’escape dei caratteri al modello, come mostrato nella registrazione dello schermo riportata di seguito.
È possibile utilizzare uno strumento di escape online dei caratteri. La demo di cui sopra utilizza il Formattatore JSON Escape.
Dopo aver creato un modello di trasformazione del messaggio utilizzando API modello di esempio, puoi eseguire il rendering del modello per generare dati esportati in base ad essi. Questo ti consente di verificare se i profili che Adobe Experience Platform esporta nella destinazione corrispondono al formato previsto della tua destinazione.
Fai riferimento alle API per esempi di chiamate che puoi effettuare:
Modifica il modello e effettua chiamate all’endpoint API del modello di rendering fino a quando i profili esportati non corrispondono al formato di dati previsto dalla tua destinazione.
Una volta che sei soddisfatto del modello di trasformazione del messaggio, aggiungilo al tuo configurazione del server di destinazione, in httpTemplate.requestBody.value
.