Passar para o conteúdo principal

Variáveis do bot: Personalize as mensagens do seu bot

Neste artigo você vai aprender o que são as variáveis, onde usá-las no Bot Studio e como consultar todas as variáveis disponíveis na OmniChat.

P
Escrito por Produto Omnichat

Com as variáveis, o seu bot envia mensagens personalizadas para cada cliente. Nome, endereço, horário de atendimento, status do pedido e muito mais são preenchidos automaticamente, na hora da conversa. Isso deixa o atendimento mais próximo e evita que você precise escrever uma mensagem diferente para cada pessoa.


O que são variáveis?

Variáveis são "espaços reservados" que você insere nos textos do bot. Quando a mensagem é enviada, a OmniChat substitui a variável pelo dado real daquele atendimento.

Por exemplo, se você escrever:

Olá @Consumidor.nome! Que bom te ver por aqui. 😊

A cliente Maria vai receber:

Olá Maria! Que bom te ver por aqui. 😊

Onde você pode usar as variáveis?

As variáveis não servem apenas para os textos das mensagens. Elas funcionam em vários pontos da construção do bot:

Local

Como funciona

Mensagens do bot

Nos textos das mensagens, incluindo mensagens com imagem e arquivo.

Botões interativos

No corpo, no rodapé e no texto dos botões das mensagens interativas.

Templates de WhatsApp (HSM)

No preenchimento dos tokens (parâmetros) do template.

Condições do fluxo

Para comparar valores e decidir o caminho da conversa. Por exemplo: verificar se @Bot.abertoAgora é verdadeiro.

Integrações de API

Na URL, nos cabeçalhos, nos parâmetros e no corpo da requisição, para enviar dados da conversa ao sistema externo conectado à sua operação.

Atenção: nas mensagens enviadas ao cliente, os dados sensíveis (e-mail, CPF e CNPJ) aparecem mascarados.

Esse mascaramento no Bot é automático e obrigatório, diferente da configuração de Privacidade de Dados da loja, que pode ou não mascarar dados conforme o que for definido lá. Ou seja, mesmo que a loja esteja configurada para não mascarar, dentro do Bot o dado sensível aparece mascarado do mesmo jeito. Já nas integrações de API o valor é enviado completo, sem máscara, para que o sistema externo receba o dado real.

Como inserir uma variável?

  1. Na edição da mensagem do bot, digite @ no campo de texto.

  2. Escolha o tipo de dado na lista de sugestões (Consumidor, Bot, Pedido...).

  3. Continue navegando pelas sugestões até chegar ao dado desejado. Por exemplo: @Consumidor.nome.

  4. Se quiser, escolha também uma formatação para o valor, como #Moeda.

Prefira sempre usar as sugestões do editor em vez de digitar a variável manualmente. Assim você garante que o nome está exatamente correto. Se a variável estiver escrita errado, ela não será substituída.

As variáveis são sensíveis a maiúsculas e minúsculas.

Escrever @consumidor.nome (com c minúsculo) não é reconhecido pelo bot, só @Consumidor.nome funciona.

A variável correta fica destacada em azul no editor; se aparecer em branco, foi digitada errado. Esse é o motivo mais comum de "a variável não substituiu", então vale reforçar isso na seção de Problemas Comuns.

Como funciona a estrutura de uma variável?

@Tipo.variavel.detalhe#Formatacao+textoExtra

  • @Tipo: A categoria do dado (Consumidor, Bot, LojaFisica...).

  • .variavel: O dado que você quer usar (nome, telefone, CEP...).

  • .detalhe: Alguns dados têm níveis extras, como o dia da semana ou o campo do endereço.

  • #Formatacao (opcional): Ajusta como o valor aparece. Veja a seção Formatações disponíveis.

  • +textoExtra (opcional): Cola um texto logo após o valor, sem espaço. Exemplo: @Bot.horarioDeAbertura.segundaFeira#ApenasHorario+h retorna 8h.

Variáveis disponíveis

@Consumidor: dados do cliente

Informações do cadastro do cliente que está conversando com o bot.

Variável

O que traz

@Consumidor.nome

Primeiro nome do cliente

@Consumidor.sobrenome

Sobrenome

@Consumidor.e-mail

E-mail

@Consumidor.telefone

Telefone

@Consumidor.DDD

DDD do telefone

@Consumidor.DDI

Código do país do telefone (ex: 55)

@Consumidor.CPF

CPF

@Consumidor.CNPJ

CNPJ

@Consumidor.nascimento

Data de nascimento

@Consumidor.genero

Gênero

@Consumidor.consentimentoLGPD

Se o cliente aceitou receber comunicações (verdadeiro/falso)

@Consumidor.idConsumidor

Código do cliente na OmniChat

@Consumidor.idExterno

Código do cliente no sistema externo do cliente

@Consumidor.endereco.logradouro

Rua/avenida do endereço

@Consumidor.endereco.numero

Número

@Consumidor.endereco.complemento

Complemento

@Consumidor.endereco.bairro

Bairro

@Consumidor.endereco.cidade

Cidade

@Consumidor.endereco.UF

Estado (UF)

@Consumidor.endereco.CEP

CEP

@Consumidor.campoCustomizado.<campo>

Valor de um campo customizado do cadastro do cliente.

Dados sensíveis: por segurança, e-mail, CPF e CNPJ aparecem mascarados nas mensagens enviadas ao cliente. Por exemplo: ma***@email.com.

Exemplo:

Olá @Consumidor.nome! Confirmando seu CEP: @Consumidor.endereco.CEP#CEP.

Resultado:

Olá Maria! Confirmando seu CEP: 01310-100.

@Bot: dados do bot

Variável

O que traz

@Bot.nome

Nome do bot

@Bot.abertoAgora

Se está dentro do horário de atendimento agora (verdadeiro/falso). Útil em condições.

@Bot.horarioDeAbertura.<dia>

Horário em que o atendimento abre no dia

@Bot.horarioDeFechamento.<dia>

Horário em que o atendimento fecha no dia

Os dias disponíveis são: segundaFeira, tercaFeira, quartaFeira, quintaFeira, sextaFeira, sabado e domingo.

Exemplo:

Nosso atendimento abre às @Bot.horarioDeAbertura.segundaFeira#ApenasHorario+h.

Resultado:

Nosso atendimento abre às 8h.

Ao usar horários de abertura e fechamento, aplique sempre a formatação #ApenasHorario ou #ApenasHorarioComMinutos para exibir apenas a hora, e não a data completa.

@LojaFisica: loja vinculada ao cliente

Dados da loja física associada ao cliente em atendimento.

Variável

O que traz

@LojaFisica.nome

Nome da loja

@LojaFisica.telefone

Telefone da loja

@LojaFisica.logradouro

Rua/avenida

@LojaFisica.numero

Número

@LojaFisica.complemento

Complemento

@LojaFisica.bairro

Bairro

@LojaFisica.cidade

Cidade

@LojaFisica.UF

Estado (UF)

@LojaFisica.CEP

CEP

@LojaFisica.identificador

Identificador da loja

@LojaFisica.abertoAgora

Se a loja está aberta agora (verdadeiro/falso)

@LojaFisica.emFuncionamento.<dia>

Se a loja funciona no dia (verdadeiro/falso)

@LojaFisica.horarioDeAbertura.<dia>

Horário de abertura no dia

@LojaFisica.horarioDeFechamento.<dia>

Horário de fechamento no dia

Exemplo:

aA loja @LojaFisica.nome abre sexta às @LojaFisica.horarioDeAbertura.sextaFeira#ApenasHorario+h.

Resultado:

A loja Loja Paulista abre sexta às 8h.

@Canal: canal da conversa

Variável

O que traz

@Canal.telefone

Número/identificador do canal da sua empresa (ex: o WhatsApp da empresa)

@Canal.tipo

Tipo do canal (whatsapp, webchat...)

@Chat: dados da conversa atual

Variável

O que traz

@Chat.idChat

Código da conversa

@Chat.idAtendimento

Código do atendimento

@Chat.ultimaMensagem

Texto da última mensagem enviada pelo cliente

@Chat.ultimaMensagemObjeto

Última mensagem do cliente em formato JSON, com texto, tipo, anexo e código da mensagem. Disponível somente nas configurações de API.

A variável @Chat.ultimaMensagemObjeto só aparece e funciona nas configurações de integrações de API (URL, cabeçalhos, parâmetros e corpo da requisição). Ela não é substituída em mensagens enviadas ao cliente. Use-a quando o sistema externo precisar receber a última mensagem completa, incluindo anexos.

Formato de saída de @Chat.ultimaMensagemObjeto:

{"text": "texto da mensagem",

"type": "tipo da mensagem (ex: text, image, audio, file)",

"attachmentUrl": "link do anexo, quando houver",

"messageId": "código da mensagem"}

Exemplo, corpo da requisição configurado na integração:

{ "usuario": "@Consumidor.idConsumidor",

"mensagem": "@Chat.ultimaMensagemObjeto" }

O sistema externo recebe:

{ "usuario": "aB12cD",

"mensagem": { "text": "Olá, quero falar com o suporte",

"type": "text",

"messageId": "m1" } }


Interface do objeto:

interface ultimaMensagemObjeto

{ "text": "Segue o relatório mensal.",

"type": "DOCUMENT",

"messageId": "msg-9876543210" }

Repare que o valor é injetado como JSON de verdade (objeto), e não como texto. A OmniChat ajusta as aspas automaticamente para que o JSON final continue válido.

Exemplo:

Seu protocolo de atendimento é @Chat.idAtendimento. Guarde este número!

@Pedido: dados do pedido

Variável

O que traz

Dica de formatação

@Pedido.total

Valor total do pedido

#Moeda

@Pedido.subTotal

Subtotal

#Moeda

@Pedido.frete

Valor do frete

#Moeda

@Pedido.desconto

Desconto aplicado

#Moeda

@Pedido.checkoutUrl

Link de pagamento (checkout)

Exemplo:

Seu pedido ficou em R$ @Pedido.total#Moeda. Finalize o pagamento aqui: @Pedido.checkoutUrl

Resultado:

Seu pedido ficou em R$ 149,90. Finalize o pagamento aqui: https://...

@Time: horários de um time de atendimento

Consulta os dados de um time específico da sua operação. Ao digitar @Time., o editor lista os seus times. Escolha o time e depois o dado desejado.

Variável

O que traz

@Time.<time>.nome

Nome do time

@Time.<time>.abertoAgora

Se o time está em horário de atendimento (verdadeiro/falso)

@Time.<time>.horarioDeAbertura.<dia>

Horário de abertura do time no dia

@Time.<time>.horarioDeFechamento.<dia>

Horário de fechamento do time no dia

Exemplo:

Nosso time atende hoje até @Time.Suporte.horarioDeFechamento.sextaFeira#ApenasHorarioComMinutos.

Resultado:

Nosso time atende hoje até 18:30.

@Lista: valores de uma lista (entidade)

Insere os valores de uma lista cadastrada na OmniChat como uma lista numerada, pronta para o cliente escolher uma opção.

Exemplo, lista "sabores" com os valores Calabresa, Mussarela e Portuguesa:

Escolha um sabor: @Lista.sabores

Resultado:

Escolha um sabor:
1. Calabresa
2. Mussarela
3. Portuguesa

@API: dados de integrações

Busca um dado em tempo real em um sistema externo, usando uma integração de API do tipo "Dados específicos" configurada na plataforma. Ao digitar @API., o editor lista as suas integrações. Depois, escolha o campo da resposta que deseja exibir.

Exemplo:

Status do seu pedido: @API.consultaPedido.data.status

Resultado:

Resultado: Status do seu pedido: enviado

@Personalizado: dados salvos durante a conversa

Recupera valores que o bot guardou durante a conversa. Por exemplo, com a ação de guardar a resposta do cliente.

Anotado! Seu protocolo é @Personalizado.protocolo.


Formatações disponíveis

As formatações ajustam a aparência do valor. Elas são adicionadas com # logo após a variável. O editor sugere as formatações disponíveis para cada dado.

Formatação

O que faz

Exemplo

#ApenasNumeros

Mantém apenas os números

(11) 99999-8888 vira 11999998888

#Moeda

Exibe o valor com duas casas decimais e vírgula

149.9 vira 149,90

#CEP

Formata o CEP no padrão 00000-000

1310100 vira 01310-100

#ApenasHorario

Exibe apenas a hora de um horário

08:00 vira 8

#ApenasHorarioComMinutos

Exibe hora e minutos

08:30 vira 08:30

#ApenasData

Exibe a data no formato dd/mm/aaaa

1990-05-20 vira 20/05/1990

#URL

Prepara o texto para ser usado dentro de um link

São Paulo vira S%C3%A3o%20Paulo

Texto extra (+)

Tudo o que vier após o + é colado imediatamente após o valor, sem espaço. É útil para completar horários e unidades.

Exemplo:

Abrimos às @Bot.horarioDeAbertura.segundaFeira#ApenasHorario+h da manhã.

Resultado:

Abrimos às 8h da manhã.

Dicas e boas práticas

  • Dado não preenchido: se o cliente não tiver aquela informação no cadastro, a variável é substituída por vazio. A mensagem é enviada normalmente, sem quebrar. Evite frases que fiquem estranhas sem o dado, preferindo, por exemplo, "Olá! 😊" com o nome opcional no meio da conversa.

  • Use o autocomplete: variáveis digitadas com erro de escrita não são substituídas. Sempre selecione a variável na lista de sugestões do editor.

  • Maiúsculas e minúsculas importam: a variável só é reconhecida se escrita exatamente como cadastrada (ex: @Consumidor, não @consumidor).

  • Dados sensíveis: e-mail, CPF e CNPJ aparecem mascarados nas mensagens enviadas ao cliente, por segurança, de forma automática e obrigatória dentro do Bot. Nas integrações de API o valor vai completo.

  • Teste antes de publicar: faça uma conversa de teste com o bot para conferir se as variáveis estão sendo substituídas como esperado.

  • Publicação: qualquer mudança no bot (incluindo em variáveis) só passa a valer depois que a versão atualizada é publicada em produção.

Problemas comuns

A variável apareceu do jeito que eu escrevi, sem trocar pelo dado do cliente?
Isso costuma acontecer quando a variável foi digitada manualmente e tem algum erro de escrita, incluindo diferença de maiúsculas/minúsculas. Apague o trecho e digite @ novamente, escolhendo a variável pela lista de sugestões do editor.

A variável ficou em branco na mensagem enviada?
Nesse caso, o cliente provavelmente não tem aquele dado preenchido no cadastro (por exemplo, data de nascimento ou CEP). Revise o fluxo para garantir que a mensagem continue fazendo sentido mesmo quando o dado vier vazio.


Respondeu à sua pergunta?