Skip to main content
Custom Events permitem personalizar mensagens de Journeys usando propriedades de eventos (nomes de produtos, precos, URLs, arrays, etc.). As propriedades de eventos ficam disponiveis nos templates somente se o evento:
  • Aciona a entrada no Journey, ou
  • Corresponde a uma condicao Wait Until dentro do Journey
As propriedades de eventos armazenadas podem ser acessadas usando sintaxe Liquid.

Como funciona a personalizacao com Custom Events

Adicione propriedades de eventos as suas mensagens de Journey seguindo estes passos:
1

Enviar um Custom Event com propriedades

Exemplo de payload de Custom Events:
JSON
2

Referenciar propriedades de eventos nos templates de mensagem do Journey

Use sintaxe Liquid para acessar propriedades de eventos.

Padroes comuns de acesso Liquid

Padroes de acesso Liquid aninhados

Voce tambem pode acessar propriedades aninhadas usando notacao de ponto e colchetes:
Liquid
Liquid invalido ou propriedades ausentes sao renderizados como strings vazias. As mensagens ainda sao enviadas. Use filtros default para definir um valor de fallback.
3

Criar um Journey

Configure o Journey para usar o Custom Event como regra de entrada e/ou condicao Wait Until.Adicione nos de mensagem com os templates.

Regras de armazenamento de propriedades de eventos

  • Voce pode usar varios eventos no seu Journey combinando regras de entrada e etapas Wait Until.
  • Maximo: 100 propriedades de eventos armazenadas por usuario por instancia de Journey (as mais antigas sao descartadas).
  • As propriedades de eventos sao armazenadas por usuario, por instancia de Journey.
  • Eventos enviados antes da entrada nao sao acessiveis.
  • As propriedades de eventos sao limpas quando o usuario sai do Journey.
Eventos armazenados em um Journey nao podem ser acessados em outro Journey.

Referencia Liquid de Custom Events

Use estes objetos para acessar eventos armazenados dentro do Journey.
O primeiro evento armazenado para esta instancia de Journey.
  • Se estiver usando uma regra de entrada por Custom Event, este e o evento que causou a entrada no Journey.
  • Se nao estiver usando uma regra de entrada por Custom Event, este e o primeiro evento armazenado ao corresponder a uma condicao Wait Until.
Liquid
O evento armazenado mais recente para esta instancia de Journey.
  • Se apenas um evento estiver armazenado, first_event e last_event retornam o mesmo resultado.
Liquid
O evento armazenado mais recente com um nome especifico.
  • Substitua EVENT_NAME pelo nome do seu evento (ex.: purchase).
  • Se o mesmo nome de evento for usado varias vezes, este retorna a instancia mais recente.
Liquid
Se o nome do seu evento inclui espacos ou caracteres especiais, use notacao de colchetes.Exemplo de evento: "name": "order status"
Liquid
array
Todos os eventos armazenados para esta instancia de Journey, na ordem em que foram armazenados.
Liquid
  • journey.first_event e uma abreviacao para journey.all_events[0].
  • journey.last_event e uma abreviacao para o evento mais recente no array.

Exemplo: Templates de carrinho abandonado usando Custom Events

Este exemplo mostra como personalizar mensagens de carrinho abandonado usando Custom Events. Ele se baseia no tutorial de Carrinho Abandonado. Exemplo de conjunto de Custom Events:
JSON

Template de e-mail

Este exemplo mostra como criar um template de e-mail que exibe:
  • A quantidade de itens no carrinho
  • Cada produto com imagem, nome, quantidade e preco usando um loop for
  • Um botao que direciona para a URL unica do carrinho do cliente

Exemplo de template de e-mail de carrinho abandonado

1

Criar o template de e-mail

Navegue ate Messages > Templates > New Email Template e abra o Editor Drag & Drop.
2

Adicionar a estrutura de layout

Crie cinco linhas:
  • Linhas 1, 2 e 4: uma coluna com um bloco Paragraph
  • Linha 3: quatro colunas com HTML | Paragraph | Paragraph | Paragraph
  • Linha 5: uma coluna com um bloco Button

Template de e-mail inicial para carrinho abandonado

3

Exibir a contagem de itens

Na linha 1, adicione:
Liquid
Para melhor gramatica, voce poderia usar um condicional para dizer “1 item” vs “2 itens”, mas para e-mails de carrinho abandonado, o plural geralmente e aceitavel.
Liquid
4

Iniciar o loop for

Use um loop for para repetir a linha de exibicao do produto para cada item do carrinho.Na linha 2 (inicio do loop), adicione:
Liquid
O que isso faz:
  • Inicia um loop que itera sobre cada objeto no array cart
  • Cria uma variavel temporaria product representando o item atual
  • Tudo entre {% for %} e {% endfor %} se repete uma vez por item do carrinho
  • Voce pode nomear product como quiser (ex.: item, cartItem) — apenas mantenha a consistencia
Posicionamento do loop for: Certifique-se de que a sintaxe {% for %} esteja em sua propria linha de bloco de texto. Nao a coloque dentro de uma linha com varias colunas junto a outro conteudo, pois isso pode quebrar a renderizacao do e-mail em alguns clientes.
5

Exibir detalhes do produto

Esta linha de 4 colunas mostra imagem, nome, quantidade e preco. Como esta dentro do loop, ela se repete para cada item do carrinho.Na linha 3 (detalhes do produto), configure:Coluna 1 - Bloco HTML (imagem do produto):
Colunas 2-4 - Blocos de texto (nome do produto, quantidade, preco):
  • Coluna 2: {{product.product_name}}
  • Coluna 3: {{product.product_quantity}}
  • Coluna 4: {{product.product_price}}
Como o loop funciona:
  • Na primeira iteracao, product = primeiro objeto no array do carrinho
  • {{product.product_image}} obtem a imagem do primeiro item
  • Na segunda iteracao, product = segundo objeto
  • A linha se repete automaticamente para todos os itens do carrinho
Correspondencia de nomes de campos: Chaves como product_image devem corresponder exatamente ao payload do seu evento (diferencia maiusculas de minusculas). Incompatibilidades sao renderizadas como strings vazias.
6

Encerrar o loop for

Feche o loop para marcar onde a repeticao termina.Na linha 4 (fim do loop), adicione:
Liquid
Todo {% for %} deve ter um {% endfor %} correspondente. A ausencia dele quebrara a renderizacao do e-mail.
7

Adicionar o botao com URL do carrinho

No bloco Button da linha 5, defina a URL da acao como:
Liquid

Template de e-mail base finalizado para carrinho abandonado sem estilizacao

8

Testar o template

  • Adicione o template a um Journey em branco e defina a regra de entrada como Custom Event.
  • Ative o Journey e entre nele por meio da API de Custom Events.
  • Verifique se os dados sao exibidos corretamente.
Sucesso! Agora voce pode aplicar sua propria estilizacao ao template. Consulte Criar e-mails com drag-and-drop.

Template de push

Notificacoes push tem espaco limitado, entao exiba um item e mencione a contagem total. Campo de mensagem: Exiba o item e a contagem com gramatica correta usando instrucoes condicionais.
Liquid
Campo de imagem:
Liquid
Campo de URL de abertura:
Liquid
Envie uma notificacao push de teste adicionando-a ao Journey de teste e entrando nele por meio de outra chamada da API de Custom Events. Voce devera ver uma notificacao semelhante a esta:

Exemplo de template de push de carrinho abandonado

Sucesso! Agora voce pode criar mais templates e usa-los no Journey de Carrinho Abandonado.

Solucao de problemas e melhores praticas

Erros comuns: Melhores praticas:
  • Sempre teste os templates antes de colocar em producao
  • Use filtros default para propriedades opcionais
  • Valide se o schema do evento corresponde as expectativas do template

Paginas relacionadas

Personalizacao de mensagens

Visao geral de todas as opcoes de personalizacao no OneSignal, incluindo quando usar Custom Events vs outros metodos.

Custom Events

Guia completo para implementar e enviar Custom Events via SDK ou API.

Visao geral de Journeys

Aprenda a criar fluxos de trabalho de mensagens automatizados com gatilhos, condicoes e acoes.

Configuracoes de Journeys

Configure regras de entrada acionadas por eventos e o comportamento do Journey.

Acoes Wait Until

Use nos Wait Until para armazenar eventos adicionais durante a progressao do Journey.

Usando sintaxe Liquid

Referencia completa de Liquid com filtros, condicionais, loops e manipulacao de strings.

Templates

Crie e gerencie templates de mensagens reutilizaveis para uso em Journeys.
Precisa de ajuda?Converse com nossa equipe de Suporte ou envie email para support@onesignal.comPor favor inclua:
  • Detalhes do problema que você está enfrentando e passos para reproduzir se disponível
  • Seu OneSignal App ID
  • O External ID ou Subscription ID se aplicável
  • A URL para a mensagem que você testou no Dashboard OneSignal se aplicável
  • Quaisquer logs ou mensagens de erro relevantes
Estamos felizes em ajudar!