Variaveis Dinamicas
Variaveis dinamicas permitem personalizar suas mensagens com dados especificos de cada usuario, tornando a comunicacao mais relevante e pessoal.
Sintaxe Basica
Variaveis sao inseridas com duplas chaves:
{{variavel}}
Exemplo:
Ola {{contact.firstName}}, tudo bem?
Resultado:
Ola Maria, tudo bem?
Categorias de Variaveis
Variaveis de Contato
Dados do perfil do usuario:
| Variavel | Descricao | Exemplo |
|---|---|---|
{{contact.firstName}} | Primeiro nome | Maria |
{{contact.lastName}} | Sobrenome | Silva |
{{contact.email}} | maria@email.com | |
{{contact.phone}} | Telefone | +5511999999999 |
{{contact.city}} | Cidade | Sao Paulo |
{{contact.state}} | Estado | SP |
{{contact.country}} | Pais | Brasil |
{{contact.createdAt}} | Data de cadastro | 2024-01-15 |
Variaveis de Propriedades Customizadas
Campos customizados definidos no seu sistema:
{{contact.plano}}
{{contact.empresa}}
{{contact.cargo}}
{{contact.ltv}}
Variaveis de Evento
Quando a mensagem e disparada por um evento, acesse suas propriedades:
{{event.productName}}
{{event.productId}}
{{event.value}}
{{event.category}}
{{event.quantity}}
Exemplo completo:
Voce adicionou {{event.productName}} ao carrinho!
Valor: {{event.value}}
Quantidade: {{event.quantity}}
Variaveis de Campanha
Informacoes da campanha/jornada:
| Variavel | Descricao |
|---|---|
{{campaign.name}} | Nome da campanha |
{{campaign.unsubscribeUrl}} | Link de descadastro |
{{campaign.viewInBrowserUrl}} | Ver no navegador |
{{campaign.preferencesUrl}} | Preferencias de email |
Variaveis de Data/Hora
| Variavel | Descricao | Exemplo |
|---|---|---|
{{currentDate}} | Data atual | 2024-12-15 |
{{currentTime}} | Hora atual | 14:30 |
{{currentYear}} | Ano atual | 2024 |
{{currentMonth}} | Mes atual | 12 |
Formatadores
Datas
Formate datas para exibicao:
{{formatDate contact.createdAt "dd/MM/yyyy"}}
→ 15/01/2024
{{formatDate contact.createdAt "dd 'de' MMMM 'de' yyyy"}}
→ 15 de Janeiro de 2024
{{formatDate event.timestamp "HH:mm"}}
→ 14:30
Padroes disponiveis:
| Padrao | Descricao | Exemplo |
|---|---|---|
dd | Dia (2 digitos) | 15 |
MM | Mes (2 digitos) | 01 |
MMM | Mes abreviado | Jan |
MMMM | Mes completo | Janeiro |
yyyy | Ano (4 digitos) | 2024 |
yy | Ano (2 digitos) | 24 |
HH | Hora (24h) | 14 |
hh | Hora (12h) | 02 |
mm | Minutos | 30 |
ss | Segundos | 45 |
Numeros e Moedas
{{formatNumber event.quantity}}
→ 1.234
{{formatCurrency event.value "BRL"}}
→ R$ 1.234,56
{{formatCurrency event.value "USD"}}
→ $1,234.56
{{formatPercent event.discount}}
→ 15%
Texto
{{uppercase contact.firstName}}
→ MARIA
{{lowercase contact.email}}
→ maria@email.com
{{capitalize contact.city}}
→ Sao Paulo
{{truncate event.description 50}}
→ Este e um texto longo que sera cortado apos...
Condicionais
If/Else Basico
{{#if contact.firstName}}
Ola {{contact.firstName}}!
{{else}}
Ola!
{{/if}}
Comparacoes
{{#if (eq contact.plano "premium")}}
Voce tem acesso exclusivo!
{{else}}
Faca upgrade para premium.
{{/if}}
Operadores disponiveis:
| Operador | Descricao | Uso |
|---|---|---|
eq | Igual | (eq a b) |
ne | Diferente | (ne a b) |
gt | Maior que | (gt a b) |
gte | Maior ou igual | (gte a b) |
lt | Menor que | (lt a b) |
lte | Menor ou igual | (lte a b) |
Multiplas Condicoes
{{#if (and (eq contact.plano "premium") (gt contact.ltv 1000))}}
Voce e um cliente VIP!
{{else if (eq contact.plano "premium")}}
Voce e premium!
{{else}}
Conheca nossos planos premium.
{{/if}}
Verificar Existencia
{{#if contact.phone}}
Seu telefone: {{contact.phone}}
{{else}}
Adicione seu telefone para ofertas exclusivas.
{{/if}}
Loops
Iterar sobre Lista
{{#each event.items}}
- {{this.name}}: {{formatCurrency this.price "BRL"}}
{{/each}}
Resultado:
- Camiseta: R$ 59,90
- Calca: R$ 129,90
- Tenis: R$ 299,90
Com Indice
{{#each event.items}}
{{@index}}. {{this.name}}
{{/each}}
First e Last
{{#each event.items}}
{{#if @first}}Primeiro item: {{/if}}
{{this.name}}
{{#if @last}}(ultimo){{/if}}
{{/each}}
Valores Padrao (Fallback)
Default Simples
{{default contact.firstName "Cliente"}}
Se firstName nao existir, usa "Cliente".
Com Condicional
{{#if contact.firstName}}
{{contact.firstName}}
{{else}}
Prezado Cliente
{{/if}}
Exemplos Praticos
Email de Boas-Vindas
Ola {{default contact.firstName ""}},
Seja bem-vindo ao NotifyChain!
{{#if contact.company}}
Vimos que voce trabalha na {{contact.company}}.
Temos casos de sucesso no seu setor!
{{/if}}
Seu cadastro foi realizado em {{formatDate contact.createdAt "dd/MM/yyyy"}}.
[Comecar Agora]
{{#if (eq contact.source "indicacao")}}
PS: Obrigado por aceitar a indicacao! Voce e seu amigo ganharao beneficios.
{{/if}}
Confirmacao de Pedido
Ola {{contact.firstName}},
Seu pedido #{{event.orderId}} foi confirmado!
Itens:
{{#each event.items}}
{{this.quantity}}x {{this.name}} - {{formatCurrency this.price "BRL"}}
{{/each}}
Subtotal: {{formatCurrency event.subtotal "BRL"}}
{{#if event.discount}}
Desconto: -{{formatCurrency event.discount "BRL"}}
{{/if}}
Frete: {{formatCurrency event.shipping "BRL"}}
Total: {{formatCurrency event.total "BRL"}}
Previsao de entrega: {{formatDate event.estimatedDelivery "dd/MM/yyyy"}}
Endereco de entrega:
{{event.address.street}}, {{event.address.number}}
{{event.address.city}} - {{event.address.state}}
CEP: {{event.address.zipCode}}
[Acompanhar Pedido]
Email de Reengajamento
{{contact.firstName}}, sentimos sua falta!
Faz {{daysSince contact.lastLoginAt}} dias que voce nao nos visita.
{{#if (gt contact.ltv 500)}}
Como um dos nossos melhores clientes, preparamos uma oferta especial:
20% OFF em qualquer compra com o cupom VOLTEI20
{{else}}
Preparamos uma oferta para voce voltar:
10% OFF na sua proxima compra com o cupom VOLTEI10
{{/if}}
{{#if contact.lastPurchaseCategory}}
Temos novidades em {{contact.lastPurchaseCategory}} que voce vai adorar!
{{/if}}
[Ver Novidades]
Debugging
Testar Variaveis
Use o preview com dados de teste:
- Clique em Preview
- Edite os dados de teste
- Verifique se as variaveis renderizam corretamente
Variaveis Indefinidas
Se uma variavel nao existe:
- Sem fallback: Aparece vazio
- Com fallback: Usa o valor padrao
Log de Erros
Variaveis com erro de sintaxe aparecem como:
{{erro de sintaxe}}
Verifique:
- Chaves fechadas corretamente
- Nome da variavel correto
- Formatadores com sintaxe correta
Boas Praticas
Para campos opcionais, sempre defina um valor padrao.
Use dados de usuarios reais (com consentimento) para testar.
Evite logica muito complexa em templates. Se necessario, calcule valores no backend.
Nunca inclua senhas, tokens ou dados financeiros sensiveis em emails.