Rishidocs

Como funcionam variáveis em templates

4 min de leituraAtualizado há 1 semana

Variáveis são o que transforma um template estático ("Olá, seu pedido foi confirmado") em uma mensagem específica ("Olá Maria, seu pedido #12345 foi confirmado!"). Sem variáveis, todo cliente recebe a mesma mensagem genérica — e toda mensagem genérica é uma oportunidade desperdiçada de mostrar pro cliente que você sabe quem ele é e o que ele fez.

Sintaxe

No template aprovado pela Meta, variáveis são placeholders numerados: {{1}}, {{2}}, {{3}}. Quando você cria a mensagem no Rishi e escolhe esse template, você diz qual valor vai em cada placeholder.

Os valores vêm dos dados do gatilho — quando o evento dispara, o Rishi monta um pacote de informações (chamado trigger_data) e você acessa os campos por dot notation: order.id, customer.first_name, coupon.code.

Exemplo prático:

Olá {{1}}! Seu pedido #{{2}} foi confirmado.
Total: {{3}}

No editor de variáveis você liga:

  • {{1}}customer.first_name
  • {{2}}order.id
  • {{3}}order.total

Quando o gatilho Pedido pago dispara pra um pedido da Maria de R$ 199,90, a mensagem fica: "Olá Maria! Seu pedido #1842 foi confirmado. Total: R$ 199,90."

De onde vêm os valores

Cada tipo de gatilho carrega um conjunto específico de dados. Não dá pra acessar coupon.amount num gatilho de "estoque baixo" — o cupom não existe nesse contexto.

Os conjuntos de variáveis disponíveis são organizados em quatro grandes grupos, e cada gatilho expõe um ou mais deles:

  • Pedido (order.*) — dados do pedido em si: ID, valor, status, endereço, código de rastreio.
  • Cliente (customer.*) — dados de quem comprou ou está no fluxo: nome, e-mail, telefone.
  • Cupom (coupon.*) — quando o gatilho gerou ou anexou um cupom: código, valor, expiração.
  • Carrinho abandonado (cart_*) — quando o gatilho é abandono: link de retomada, total, token.

Pra ver quais grupos cada gatilho expõe, veja Quais variáveis usar em cada tipo de gatilho.

Sugestão automática com IA

Você não precisa decorar a lista de variáveis. Quando você escolhe um template no editor de mensagem, o Rishi lê o texto do template e propõe automaticamente qual variável bate em cada placeholder.

Exemplo: o template tem "Olá {{1}}, seu pedido #{{2}}". O Rishi entende que {{1}} deve ser nome do cliente e {{2}} o ID do pedido. Sugere customer.first_name e order.id. Você revisa e confirma — ou ajusta se quiser outra coisa.

A sugestão é boa, mas revise sempre. Em casos com mais de uma variável de nome (ex: nome do cliente vs nome do entregador), o Rishi pode acertar a maioria mas errar alguma específica.

Caminhos aninhados

Variáveis suportam caminhos com pontos pra acessar campos dentro de objetos:

  • order.address.city — cidade do endereço de entrega.
  • order.address.state — estado.
  • order.address.postcode — CEP.

Funciona pra qualquer nível de aninhamento, desde que o valor exista no trigger_data.

Webhooks externos: variáveis dinâmicas

Quando você usa a tela Mensagens via webhook, as variáveis funcionam de jeito diferente: você define os nomes das variáveis ao criar a mensagem, e elas vêm direto do JSON que seu sistema envia. Não há schema fixo — você inventa os nomes que fazem sentido pro seu caso.

Detalhes em Variáveis dinâmicas em mensagens via webhook.

E quando uma variável vem vazia?

Se o caminho da variável existe mas o valor é nulo (ex: pedido sem cupom, cliente sem sobrenome), o Rishi substitui por string vazia. A Meta aceita variáveis vazias em alguns templates, mas você pode ter aprovação revogada se isso virar regra. Em geral:

  • Use variáveis que sempre existem pro tipo de gatilho (ID do pedido, nome do cliente).
  • Pra opcionais (cupom, observação), faça template separado que dispara só quando o valor existe.

Se você não sabe se um campo virá preenchido, faça um teste primeiro. No envio de teste do template, simule cenários reais e veja se a mensagem fica fluida com valores vazios ou não.

Próximos passos

Cada artigo da seção lista as variáveis disponíveis no detalhe. Pelo seu caso:

Foi útil?