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:
-
Acesse o conteúdo da campanha e clique em Adicionar personalização a partir do Texto ou dos Componentes do HTML.
-
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.
-
Selecione uma integração e clique em Salvar.
-
Habilite o modo Pills para desbloquear o menu de integração avançado.
-
Ao criar a personalização da integração, o Auxiliar de integrações inclui um campo
requiredque 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 comExternalDataLookupExclusion, e essa exclusão é registrada no conjunto de dados de comentários da mensagem. -
required=false: A variável de resultado está definida comonulle 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.
-
-
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.
-
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
.
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 quandotemperatureé exposto;{{weatherResponse.humidity}}é rejeitado no editor sehumiditynão foi exposto. -
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.
-
Abra a mensagem ou fragmento e abra o editor de personalização.
-
Em Integrações, clique em Abrir integrações.
-
Adicione a integração cuja resposta alimentará a próxima chamada, por exemplo, dados de reserva ou reserva que incluem o identificador de voo.
-
(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. -
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.
-
No menu Abrir integrações, adicione a segunda integração, por exemplo, status de voo.
-
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ê usouLet, é possível mapear através dessa variável.
-
Insira tokens da segunda integração em seu conteúdo com o controle
, por exemplo, destino da resposta de informações de voo.
-
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.
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 |
|---|
|
Use três auxiliares em sequência para buscar, extrair e analisar a resposta do Target.
-
Buscar a resposta do Target. Chame a integração do Target configurada com o
externalDataLookup. DefinaintegrationNamecomo Name dessa integração (substitua o espaço reservado de exemplotarget_recommendations). Use o parâmetroresultpara 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"}} -
Extrair uma mbox específica usando valueAtPath.
valueAtPathextrai um elemento de uma matriz por seu índice baseado em 0 e o atribui a uma variável de modelo. Use o parâmetroidxpara 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 pathCaminho para a matriz (posicional, sem palavra-chave) idxÍndice com base em 0 para acesso ao array (opcional) resultNome da variável para armazenar o valor extraído note NOTE Se idxestiver 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. -
Analise a cadeia de caracteres JSON usando parseJson. O campo mbox
options.contenté uma cadeia de caracteres JSON bruta.parseJsono 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 jsonStrCaminho para o campo de string que contém JSON válido resultNome 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, resultserá definido comonull— 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 -
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}}
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 |
|---|
|
Busque e extraia a mbox e, em seguida, renderize content diretamente. Ignorar parseJson.
| code language-handlebars |
|---|
|
| 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.
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page explains how marketers apply configured external integrations to personalize email, SMS, and push content, chain one API call’s response into another, and use Adobe Target Delivery API responses in message templates.
Intents:
- Apply a configured integration to personalize Text or HTML content via Add personalization
- Control fallback behavior with the required field when an integration fails or returns no data
- Chain integrations so one call’s response feeds the next call’s inputs
- Map first-call output to second-call input using Pills mode or a Let helper
- Use Adobe Target Recommendations by fetching, extracting, and parsing the Target Delivery API response
- Render JSON or HTML mbox content with the externalDataLookup, valueAtPath, and parseJson helpers
Glossary:
- required field: An Integrations helper field that defines how failures or missing data interact with default content (product-specific)
- Pills mode: A mode that unlocks the advanced integration menu and lets you map first-call output directly to second-call input without a Let statement (product-specific)
- externalDataLookup: The helper that calls a configured integration and stores its full response in a named result variable (product-specific)
- valueAtPath: The helper that extracts an element from an array by its 0-based index and assigns it to a template variable (product-specific)
- parseJson: The helper that converts a raw JSON string field into a structured object for direct field access (product-specific)
- Simulation: The mode in which Journey Optimizer runs chained integrations in order, alongside send (product-specific)
Guardrails:
- You can add up to 3 integrations per Fragment and up to 5 on the message; integrations that come only from fragments do not count toward the 5.
- Journey Optimizer Fragments are available with Integrations but support outbound channels only.
- Once a fragment is published, adding and saving new integrations is disabled to avoid impact on existing journeys and campaigns.
- An administrator must have configured and activated each integration (endpoint, authentication, policies, response payload, and activation) before use.
- Tokens in a template must use only fields the administrator exposed in the integration configuration; unexposed fields are rejected in the editor.
- With required=true (default), rendering stops for that message, the send is excluded with ExternalDataLookupExclusion, and the exclusion is recorded in the message feedback dataset; with required=false, the result variable is set to null and rendering continues.
- For valueAtPath, if idx is out of bounds, rendering throws an exception; PQL expressions cannot be used as the path. Available since release 2025.9.0.
- For parseJson, if the JSON string is invalid or the reference is null, result is set to null and no rendering error is thrown. Available since 2026.6.0.
Terminology:
- Canonical name: External integrations for personalization — Acronym: n/a — variants: Integrations, integration personalization
- Synonyms: “required=true” = “default”
- Do not confuse: “required=true” (rendering stops, send excluded) ≠ “required=false” (result set to null, rendering continues)
- Do not confuse: JSON content (type is json; parse content with parseJson) ≠ HTML content (type is html; render content directly with triple braces)
FAQ:
- Q: How many integrations can I add? — Up to 3 per Fragment and up to 5 on the message; fragment-only integrations do not count toward the 5.
- Q: What happens if an integration returns no data? — With required=true the message rendering stops and the send is excluded (ExternalDataLookupExclusion, recorded in the message feedback dataset); with required=false the result is null and rendering continues, so use fallbacks or conditional logic.
- Q: Can I feed one integration’s response into another? — Yes; chain integrations so calls run in order in the same message, mapping first-call output to second-call input in Pills mode or through a Let variable.
- Q: How do I use an Adobe Target JSON mbox response? — Fetch it with externalDataLookup, extract the mbox with valueAtPath, then parse options.content with parseJson before accessing nested fields.
- Q: How do I render an Adobe Target HTML mbox response? — Fetch and extract the mbox, then render content directly with triple braces; skip parseJson.