Em mensagens criadas pela tela Mensagens via webhook, as variáveis funcionam diferente das mensagens vinculadas a gatilhos do Rishi (pedido, carrinho, lead).
Aqui não há schema fixo. Você inventa os nomes das variáveis na hora de criar a mensagem, e o sistema externo (n8n, ERP, código próprio) manda esses campos no JSON do POST. É bem mais flexível — e por isso você precisa pensar nos nomes com mais cuidado.
Como funciona
Quando você cria uma mensagem via webhook, na tela de configuração você vê o template escolhido com os placeholders ({{1}}, {{2}}...). Pra cada placeholder, você define:
- Um nome de variável (ex:
customer_name,order_id,tracking_code) - Esse nome vira o campo JSON que seu sistema vai enviar
No envio, o body precisa ter:
phone_number— sempre obrigatório, no formato5511999998888.- Cada variável que você definiu, com o nome exato que você usou.
Exemplo completo
Você cria uma mensagem chamada "Confirmação de pedido via API" com template:
Olá {{1}}! Seu pedido #{{2}} foi recebido.
Total: {{3}}
Define as variáveis:
{{1}}→customer_name{{2}}→order_id{{3}}→order_total
Depois copia a URL do webhook gerada pelo Rishi.
Seu sistema externo manda:
POST https://app.rishi.com.br/api/meta/messages/{id}/trigger?signature=...
Content-Type: application/json
{
"phone_number": "5511999998888",
"customer_name": "Maria",
"order_id": "10231",
"order_total": "R$ 199,90"
}
E a mensagem que sai pro WhatsApp da Maria é:
Olá Maria! Seu pedido #10231 foi recebido. Total: R$ 199,90
Convenções de nomes
Use snake_case
Embora o Rishi aceite qualquer nome, snake_case (customer_name, order_id) é o padrão que casa com a maioria dos sistemas externos e fica fácil de ler em JSON.
Evite:
- ❌
customerName(camelCase fica feio em JSON) - ❌
customer-name(traços causam problema em algumas linguagens) - ❌
Cliente Nome(espaço quebra)
Use nomes claros
A pessoa que vai configurar do outro lado (você ou um dev) lê esses nomes pra mapear. customer_name é melhor que var1, mesmo que o segundo seja mais curto.
✅ tracking_code, payment_method, delivery_date
❌ v1, field2, data
Padronize entre mensagens
Se você cria várias mensagens via webhook (uma pra pedido novo, outra pra pagamento, outra pra status), use os mesmos nomes quando o significado for o mesmo. customer_name em todas, order_id em todas — assim seu sistema externo manda sempre o mesmo formato e você reduz erro.
Variáveis condicionais
Algumas vezes uma variável pode ou não vir preenchida (ex: tracking_code só existe depois que o pedido foi postado).
Opção 1 — mandar string vazia. Você sempre envia o campo, mas pode mandar "":
{ "phone_number": "...", "tracking_code": "" }
A mensagem sai com o pedaço em branco. Pode ficar estranho dependendo do template.
Opção 2 — duas mensagens separadas. Crie uma mensagem "Pedido em separação" sem tracking_code e outra "Pedido postado" com tracking_code. Seu sistema decide qual disparar conforme o estado.
A opção 2 é quase sempre melhor — separação clara, nenhuma chance de mensagem ficar com buraco.
Limites
- O
phone_numberé sempre obrigatório, mesmo que não apareça como placeholder no template. - O nome
phone_numberé fixo — não dá pra renomear. - Não há limite prático no número de variáveis, mas templates muito longos geralmente não são aprovados pela Meta. Mantenha mensagens curtas.
- Não envie HTML, markdown, links com
[texto](url)— o WhatsApp não renderiza. Mande URLs em texto puro (https://exemplo.com/x).
Combinando com fluxo do Rishi
Você pode misturar mensagens via webhook com fluxos do Rishi. Caso típico: seu sistema externo dispara uma mensagem inicial (via webhook), e o Rishi continua o fluxo a partir daí (próximas mensagens, tags, segmentação).
Pra essa integração mais avançada, fale com nosso time — geralmente envolve recursos do Rishi Boost (programa de fidelidade, automações compostas).
Erros comuns
Variável vem em branco — você definiu customer_name na mensagem mas o JSON envia customerName ou name. Confira se os nomes batem exatamente (case-sensitive).
Template não aprova porque tem muito placeholder — a Meta tem regras: placeholder com pouco texto fixo no entorno levanta suspeita de spam. Use mais palavras fixas em volta.
phone_number em formato errado — não pode ter +, traço, espaço, parêntese. Só dígitos: 5511999998888.
Use o botão Copiar curl de teste na tela da mensagem antes de codar do lado do seu sistema. O curl vem com payload de exemplo já no formato correto — basta substituir os valores e rodar.
Próximos passos
- Pra entender o que chega bem na Meta num template via webhook, leia Como criar templates que convertem.
- Pra mensagens vinculadas a eventos do WooCommerce (caso muito mais comum em loja), use o plugin oficial.