Criar e testar um modelo de transformação de mensagem create-template

Visão geral overview

Como parte do Destination SDK, o Adobe fornece ferramentas de desenvolvedor para ajudá-lo a configurar e testar seu destino. Esta página descreve como criar e testar um modelo de transformação de mensagem. Para obter informações sobre como testar o destino, leia Testar a configuração de destino.

Para criar e testar um modelo de transformação de mensagem entre o esquema de destino no Adobe Experience Platform e o formato de mensagem aceito pelo seu destino, use a Ferramenta de criação de modelo, descrita mais abaixo. Leia mais sobre a transformação de dados entre o esquema de origem e de destino no documento de formato de mensagem.

Veja abaixo como criar e testar um modelo de transformação de mensagem que se encaixa no fluxo de trabalho de configuração de destino em Destination SDK:

Gráfico de onde a etapa de criação de modelo se encaixa no fluxo de trabalho de configuração de destino

Por que você precisa criar e testar um template de transformação de mensagem why-create-message-transformation-template

Uma das primeiras etapas na criação do seu destino no Destination SDK é pensar em como o formato de dados para associação de público-alvo, identidades e atributos de perfil é transformado quando exportado do Adobe Experience Platform para o seu destino. Encontre informações sobre a transformação entre o esquema XDM do Adobe e o esquema de destino no documento sobre o formato da mensagem.

Para que a transformação tenha êxito, você deve fornecer um modelo de transformação, semelhante a este exemplo: Crie um modelo que envie segmentos, identidades e atributos de perfil.

O Adobe fornece uma ferramenta de modelo que permite criar e testar o modelo de mensagem que transforma os dados do formato XDM do Adobe no formato compatível com seu destino. A ferramenta tem dois endpoints de API que podem ser usados:

  • Use a API de modelo de exemplo para obter um modelo de exemplo.
  • Use a API de modelo de renderização para renderizar o modelo de amostra para que você possa comparar o resultado com o formato de dados esperado do seu destino. Depois de comparar os dados exportados com o formato de dados esperado pelo seu destino, você pode editar o template. Dessa forma, os dados exportados gerados correspondem ao formato de dados esperado pelo destino.

Etapas a serem concluídas antes de criar o modelo prerequisites

Antes de estar pronto para criar o template, conclua as etapas abaixo:

  1. Criar uma configuração do servidor de destino. O modelo que você gerará é diferente, com base no valor fornecido para o parâmetro maxUsersPerRequest.

    • Use maxUsersPerRequest=1 se você quiser que uma chamada de API para o seu destino inclua um único perfil, juntamente com suas qualificações de público-alvo, identidades e atributos de perfil.
    • Use maxUsersPerRequest com um valor maior que um se quiser que uma chamada de API para o seu destino inclua vários perfis, juntamente com suas qualificações de público-alvo, identidades e atributos de perfil.
  2. Crie uma configuração de destino e adicione a identificação da configuração do servidor de destino em destinationDelivery.destinationServerId.

  3. Obtenha a ID da configuração de destino que você acabou de criar, para poder usá-la na ferramenta de criação de modelos.

  4. Entenda quais funções e filtros você pode usar no modelo de transformação de mensagem.

Como usar a API de modelo de amostra e a API de modelo de renderização para criar um modelo para o seu destino iterative-process

TIP
Antes de criar e editar seu modelo de transformação de mensagem, você pode começar chamando o ponto de extremidade da API de modelo de renderização com um modelo simples que exporta seus perfis brutos sem aplicar transformações. A sintaxe para o modelo simples é:
"template": "{% for profile in input.profiles %}{{profile|raw}}{% endfor %}}"

O processo para obter e testar o modelo é iterativo. Repita as etapas abaixo até que os perfis exportados correspondam ao formato de dados esperado do seu destino.

  1. Primeiro, obtenha um modelo de amostra.
  2. Use o modelo de amostra como ponto de partida para criar seu próprio rascunho.
  3. Chame o ponto de extremidade da API do modelo de renderização com seu próprio modelo. O Adobe gera perfis de amostra com base no esquema e retorna o resultado ou quaisquer erros encontrados.
  4. Compare os dados exportados com o formato de dados esperado pelo seu destino. Se necessário, edite o template.
  5. Repita esse processo até que os perfis exportados correspondam ao formato de dados esperado do destino.

Obter um modelo de amostra usando a API de modelo de amostra sample-template-api

NOTE
Para obter a documentação de referência completa da API, leia Obter operações de API de modelo de exemplo.

Adicione uma ID de destino à chamada, como mostrado abaixo, e a resposta retornará um exemplo de modelo correspondente à ID de destino.

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 a ID de destino fornecida corresponder a uma configuração de destino com agregação de melhor esforço e maxUsersPerRequest=1 na política de agregação, a solicitação retornará um modelo de exemplo semelhante a este:

{#- 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 audiences by status: -#}
        {% for segment in removedSegments(input.profile.segmentMembership.ups) %}
            "{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
        {% endfor %}
        ]
    }
}

Se a ID de destino fornecida corresponder a um modelo de servidor de destino com agregação configurável ou agregação de melhor esforço com maxUsersPerRequest maior que um, a solicitação retornará um modelo de exemplo semelhante a este:

{#- 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 audiences by status: -#}
                {% for segment in removedSegments(profile.segmentMembership.ups) %}
                    "{{ segment.key }}"{%- if not loop.last -%},{%- endif -%}
                {% endfor %}
                ]
            }
        }{%- if not loop.last -%},{%- endif -%}
    {% endfor %}
    ]
}

Caractere de escape em seu modelo character-escape-template

Antes de usar o modelo para renderizar perfis que correspondam ao formato esperado do destino, você deve usar o recurso de escape de caractere no modelo, conforme mostrado na gravação de tela abaixo.

Vídeo que mostra como usar o recurso de caracteres de escape em um modelo usando uma ferramenta de escape de caracteres online

Você pode usar uma ferramenta de escape de caracteres online. A demonstração acima usa o formatador JSON Escape.

API de modelo de renderização render-template-api

Depois de criar um modelo de transformação de mensagem usando a API de modelo de amostra, você pode renderizar o modelo para gerar dados exportados com base nele. Isso permite verificar se os perfis que o Adobe Experience Platform exportaria para seu destino correspondem ao formato esperado do destino.

Consulte a referência da API para obter exemplos de chamadas que você pode fazer:

Edite o modelo e faça chamadas para o endpoint da API do modelo de renderização até que os perfis exportados correspondam ao formato de dados esperado do destino.

Adicionar seu modelo com caractere de escape à configuração do servidor de destino

Quando estiver satisfeito com o seu modelo de transformação de mensagem, adicione-o à sua configuração do servidor de destino, em httpTemplate.requestBody.value.

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6