Uso de integrações externas para personalização integrations-personalization

Nesta página: saiba como os profissionais de marketing aplicam integrações configuradas para personalizar conteúdo de email, SMS e push e encadear uma chamada de API para outra com mensagens dinâmicas e mais avançadas.

Antes de usar integrações externas em seu conteúdo, confirme se um administrador configurou e ativou cada integração (ponto de extremidade, autenticação, políticas, carga de resposta e ativação) conforme descrito em Trabalhar com integrações.

Você pode adicionar até 3 integrações por Fragmento e até 5 na mensagem. As integrações provenientes apenas de fragmentos não contam no 5.

Aplicar personalização da integração ao seu conteúdo apply-integration-personalization

Como profissional de marketing, você pode usar integrações configuradas para personalizar seu conteúdo. Siga estas etapas:

  1. Acesse o conteúdo da campanha e clique em Adicionar personalização a partir do Texto ou dos Componentes do HTML.

    Saiba mais sobre componentes

  2. Navegue até a seção Integrações e clique em Abrir integrações para exibir todas as integrações ativas.

    Observe que os Fragmentos de Journey Optimizer estão disponíveis com Integrações, mas oferecem suporte somente a canais de saída. Depois que um fragmento é publicado, a adição e o salvamento de novas integrações são desativados para evitar impacto nas jornadas e campanhas existentes.

  3. Selecione uma integração e clique em Salvar.

  4. Habilite o modo Pills para desbloquear o menu de integração avançado.

  5. Ao criar a personalização da integração, o Auxiliar de integrações inclui um campo required que define como as falhas ou os dados ausentes interagem com o conteúdo padrão:

    • required=true (padrão): a renderização para essa mensagem. O envio é excluído com ExternalDataLookupExclusion, e essa exclusão é registrada no conjunto de dados de comentários da mensagem.

    • required=false: A variável de resultado está definida como null e a renderização continua. Use texto padrão, fallbacks ou lógica condicional no modelo para que os perfis não recebam conteúdo vazio quando a integração não retornar dados.

  6. Para concluir a configuração de integração, defina os atributos de integração, que foram especificados anteriormente durante a configuração.

    Você pode designar valores a esses atributos usando valores estáticos, que permanecem constantes, ou atributos de perfil, que extraem dinamicamente informações dos perfis do usuário.

  7. Depois que os atributos de integração forem definidos, você poderá usar os campos de integração no seu conteúdo para mensagens personalizadas clicando no ícone adicionar .

    note
    NOTE
    Os tokens no modelo devem usar somente campos expostos pelo administrador na configuração de integração. Por exemplo, {{weatherResponse.temperature}} é válido quando temperature é exposto; {{weatherResponse.humidity}} é rejeitado no editor se humidity não foi exposto.
  8. Clique em Salvar.

A personalização da sua integração agora é aplicada com sucesso ao seu conteúdo, garantindo que cada recipient receba uma experiência personalizada e relevante com base nos atributos configurados.

Mapear uma chamada de API para outra map-integration-chain

É possível encadear integrações para que os resultados de uma chamada alimentem a próxima, por exemplo, segmentos de caminho, cabeçalhos ou parâmetros de consulta. As chamadas são executadas em ordem na mesma mensagem, que aceita personalização mais avançada sem código personalizado.

Antes de começar, verifique se:

  • Um administrador configurou e ativou todas as integrações necessárias. Consulte Configurar a integração.
  • Espaços reservados para caminhos de variáveis, cabeçalhos e parâmetros de consulta são configurados na configuração de integração com rótulos voltados para o profissional de marketing.
  • O administrador expôs os campos de resposta necessários na carga de resposta de cada integração para que apareçam ao criar.

O exemplo abaixo usa uma integração de reserva que retorna um número de voo da reserva do perfil e, em seguida, uma integração de informações de voo que usa esse número para o status ativo (atrasos, destino). Você mapeia as entradas da segunda integração para a resposta da primeira chamada.

  1. Abra a mensagem ou fragmento e abra o editor de personalização.

  2. Em Integrações, clique em Abrir integrações.

  3. Adicione a integração cuja resposta alimentará a próxima chamada, por exemplo, dados de reserva ou reserva que incluem o identificador de voo.

  4. (Opcional) Abra o menu da função auxiliar e adicione um auxiliar, por exemplo, a função Let, se desejar vincular uma variável nomeada à resposta de reserva.

    note
    NOTE
    Somente os campos expostos na carga de resposta definida pelo administrador estão disponíveis. Você não pode fazer referência a propriedades que não foram expostas na configuração.
  5. Se você usar uma variável auxiliar, mapeie essa variável para o campo que a integração de reservas retorna para uso downstream, por exemplo, o número do voo na carga do passageiro ou da reserva.

  6. No menu Abrir integrações, adicione a segunda integração, por exemplo, status de voo.

  7. Na segunda integração, abra Atributos de integrações. Para cada entrada que deve reutilizar dados da primeira chamada, como uma variável de caminho, cabeçalho ou parâmetro de consulta, selecione uma origem de mapeamento da primeira resposta de integração.

    Na experiência Pills, você pode mapear a saída da primeira chamada diretamente para a entrada da segunda chamada sem uma instrução Let. Se você usou Let, é possível mapear através dessa variável.

  8. Insira tokens da segunda integração em seu conteúdo com o controle add , por exemplo, destino da resposta de informações de voo.

  9. Salve o conteúdo.

Em Simulação ou enviar, o Journey Optimizer executa integrações em ordem: a primeira chamada usa o contexto do perfil configurado, e seu resultado cria a segunda solicitação. A execução de uma determinada integração na simulação ou no momento do envio depende da configuração e do canal.

Usar as recomendações do Adobe Target no seu conteúdo use-adobe-target-in-templates

Esta seção explica como usar as Integrações no Adobe Journey Optimizer para buscar dados de personalização de Adobe Target no momento do envio e usá-los no conteúdo da mensagem, seja em um modelo ou em linha. Ele presume que a API de entrega do Target já foi configurada como uma integração.

Para obter as etapas de configuração, consulte Trabalhar com integrações e a amostra Recomendações da Adobe Target.

A API de Entrega do Target retorna uma matriz prefetch.mboxes. Cada mbox inclui um objeto options com campos content e type. O valor type determina como você usa content no modelo. Abra a guia que corresponde à resposta da mbox e siga as etapas para usar esses dados na mensagem.

Conteúdo JSON

Quando type é json, o campo content é uma cadeia de caracteres JSON. Analise-os antes de acessar campos aninhados. O exemplo abaixo mostra uma resposta típica da API de entrega para uma mbox JSON.

code language-json
{
  "status": 200,
  "prefetch": {
    "mboxes": [
      {
        "index": 0,
        "name": "SummerOffer",
        "options": {
          "content": "{\"recommendations\":[{\"productId\":\"p101\",\"name\":\"Noise Smartwatch\",\"price\":2999},{\"productId\":\"p205\",\"name\":\"Boat Earbuds\",\"price\":1499}],\"strategy\":\"collaborative-filtering\"}",
          "type": "json"
        }
      }
    ]
  }
}

Use três auxiliares em sequência para buscar, extrair e analisar a resposta do Target.

  1. Buscar a resposta do Target. Chame a integração do Target configurada com o externalDataLookup. Defina integrationName como Name dessa integração (substitua o espaço reservado de exemplo target_recommendations). Use o parâmetro result para nomear a variável de modelo que contém a carga completa da API de Entrega — por exemplo, targetResponse.

    Você também pode selecionar a integração diretamente no menu Integrações, na navegação à esquerda do editor de personalização. Consulte Aplicar personalização da integração ao seu conteúdo.

    code language-handlebars
    {{externalDataLookup integrationName="target_recommendations" result="targetResponse"}}
    
  2. Extrair uma mbox específica usando valueAtPath. valueAtPath extrai um elemento de uma matriz por seu índice baseado em 0 e o atribui a uma variável de modelo. Use o parâmetro idx para especificar qual elemento acessar.

    code language-handlebars
    {{valueAtPath targetResponse.prefetch.mboxes idx=0 result="summerOffer"}}
    
    table 0-row-2 1-row-2 2-row-2 3-row-2
    Parâmetro Descrição
    path Caminho para a matriz (posicional, sem palavra-chave)
    idx Índice com base em 0 para acesso ao array (opcional)
    result Nome da variável para armazenar o valor extraído
    note
    NOTE
    Se idx estiver fora dos limites, a renderização acionará uma exceção. Proteger índices inválidos com {%#if idx >= 0 and idx < count(targetResponse.prefetch.mboxes)%} quando o índice puder ser inválido. Expressões PQL não podem ser usadas como caminho. Disponível desde a versão 2025.9.0.
  3. Analise a cadeia de caracteres JSON usando parseJson. O campo mbox options.content é uma cadeia de caracteres JSON bruta. parseJson o converte em um objeto estruturado cujos campos podem ser acessados diretamente no modelo.

    code language-handlebars
    {{parseJson jsonStr=summerOffer.options.content result="summerOfferContent"}}
    
    table 0-row-2 1-row-2 2-row-2
    Parâmetro Descrição
    jsonStr Caminho para o campo de string que contém JSON válido
    result Nome da variável para armazenar o objeto analisado
    note
    NOTE
    Se a cadeia de caracteres JSON for inválida ou a referência for nula, result será definido como null — nenhum erro de renderização será lançado. Teste com sua resposta real do Target para confirmar se o conteúdo é um JSON válido. Disponível desde: 2026.6.0
  4. Acessar os dados. Depois de analisada, use a notação de pontos para acessar os campos a partir de summerOfferContent. Para renderizar uma lista de recomendações:

    code language-handlebars
    {{externalDataLookup integrationName="target_recommendations" result="targetResponse"}}
    {{valueAtPath targetResponse.prefetch.mboxes idx=0 result="summerOffer"}}
    {{parseJson jsonStr=summerOffer.options.content result="summerOfferContent"}}
    
    Strategy: {{summerOfferContent.strategy}}
    {{#each summerOfferContent.recommendations as |rec|}}
      {{rec.name}} — {{rec.price}}
    {{/each}}
    
Conteúdo do HTML

Quando type é html, o campo content é uma cadeia de caracteres de HTML pronta para ser renderizada. Você não precisa analisá-lo. O exemplo abaixo mostra uma resposta típica da API de entrega para uma mbox do HTML.

code language-json
{
  "status": 200,
  "prefetch": {
    "mboxes": [
      {
        "index": 0,
        "name": "SummerOffer",
        "options": {
          "content": "<div class=\"offer\"><h2>Summer Sale</h2><p>50% off Smartwatch</p></div>",
          "type": "html"
        }
      }
    ]
  }
}

Busque e extraia a mbox e, em seguida, renderize content diretamente. Ignorar parseJson.

code language-handlebars
{{externalDataLookup integrationName="target_recommendations" result="targetResponse"}}
{{valueAtPath targetResponse.prefetch.mboxes idx=0 result="summerOffer"}}
{{{summerOffer.options.content}}}
note
NOTE
Use chaves triplas {{{...}}} para renderizar o conteúdo do HTML como está. As chaves duplas {{...}} escaparão das entidades HTML e renderizarão cadeias de marcas brutas em vez da HTML.

Vídeo tutorial video

Este vídeo mostra como as Integrações conectam o Adobe Journey Optimizer a APIs externas para que você possa receber dados e conteúdo em canais de saída, email, SMS e push, para personalizações mais relevantes.

recommendation-more-help
journey-optimizer-help