Creare e testare un modello di trasformazione dei messaggi

Panoramica

Nell’ambito dell’SDK di destinazione, 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, leggere Verificare la configurazione di destinazione.

Per creare e testare un modello di trasformazione del messaggio tra lo schema di destinazione in Adobe Experience Platform e il formato del messaggio supportato dalla destinazione, utilizza lo strumento di creazione dei modelli descritto più avanti. Ulteriori informazioni sulla trasformazione dei dati tra schema di origine e di destinazione nel documento formato messaggio.

Di seguito è illustrato come creare e testare un modello di trasformazione dei messaggi si adatta al flusso di lavoro di configurazione della destinazione nell'SDK di destinazione:

Grafico in cui il passaggio crea modello si inserisce nel flusso di lavoro di configurazione della destinazione

Perché è necessario creare e testare un modello di trasformazione dei messaggi

Uno dei primi passi nella creazione della destinazione nell’SDK di Destinazione è pensare a come il formato dei dati per l’appartenenza al segmento, le identità e gli attributi del profilo viene trasformato quando si esporta da Adobe Experience Platform alla destinazione. Per informazioni sulla trasformazione tra lo schema XDM di Adobe e lo schema di destinazione, consulta il documento formato messaggio.

Affinché la trasformazione abbia successo, è necessario fornire un modello di trasformazione, simile a questo esempio: Crea 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:

  • Utilizza il modello di esempio API per ottenere un modello di esempio.
  • Utilizza l' API del modello di rendering per eseguire il rendering del modello di esempio in modo da poter confrontare il risultato con il formato di dati previsto per la destinazione. Dopo aver confrontato i dati esportati con il formato di dati previsto dalla destinazione, puoi modificare il modello. In questo modo, i dati esportati generati corrispondono al formato di dati previsto dalla destinazione.

Come utilizzare l’API del modello di esempio e l’API del modello di rendering per creare un modello per la destinazione

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.

  1. Innanzitutto, ottieni un modello di esempio.
  2. Utilizza il modello di esempio come punto di partenza per creare una bozza personalizzata.
  3. Chiama l' endpoint API del modello di rendering con il tuo modello. Adobe genera profili di esempio in base allo schema e restituisce il risultato o eventuali errori rilevati.
  4. Confrontare i dati esportati con il formato dati previsto dalla destinazione. Se necessario, modifica il modello.
  5. Ripeti questo processo fino a quando i profili esportati non corrispondono al formato dati previsto dalla tua destinazione.

Passaggi da completare prima di creare il modello

Prima di essere pronti per creare il modello, assicurati di completare i passaggi seguenti:

  1. Crea una configurazione del server di destinazione. Il modello che verrà generato differisce, in base al valore fornito per il parametro maxUsersPerRequest.
    • Utilizza maxUsersPerRequest=1 se desideri che una chiamata API alla destinazione includa un singolo profilo, insieme alle relative qualifiche dei segmenti, identità e attributi di profilo.
    • Utilizza 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.
  2. Crea una configurazione di destinazione e aggiungi l’ID della configurazione del server di destinazione in destinationDelivery.destinationServerId.
  3. Ottieni l’ID della configurazione di destinazione appena creata, in modo da poterlo utilizzare nello strumento di creazione del modello.

Ottieni un modello di esempio utilizzando l’API del modello di esempio

NOTA

Per la documentazione di riferimento API completa, leggi Ottieni operazioni API modello 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: {IMS_ORG}' \
--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 %}
    ]
}

Esc i caratteri del modello

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.

Video che mostra come applicare l’escape ai caratteri di un modello utilizzando uno strumento online di escape dei caratteri

È possibile utilizzare uno strumento di escape online dei caratteri. La demo precedente utilizza il formattatore JSON Escape.

API modello di rendering

Dopo aver creato un modello di trasformazione del messaggio utilizzando l' modello di esempio API, puoi eseguire il rendering del modello per generare i dati esportati in base a esso. 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.

Aggiungi il modello con sequenza di caratteri alla configurazione del server di destinazione

Una volta ottenuto il modello di trasformazione del messaggio, aggiungilo alla configurazione del server di destinazione, in httpTemplate.requestBody.value.

In questa pagina