Se a sua loja não roda em WooCommerce — ou se você quer disparar mensagens a partir de qualquer sistema externo (ERP, plataforma própria, ferramenta de automação tipo n8n/Make/Zapier) — o caminho é a tela Mensagens dentro da sua conexão Meta.
Cada mensagem que você cria nessa tela ganha uma URL de webhook própria. Você manda um POST pra essa URL com o número do cliente e os valores das variáveis, e o Rishi dispara o template configurado. Sem plugin, sem código no Rishi — só uma URL.
Onde criar
- No Rishi, abra sua conexão Meta e vá na aba Mensagens (no menu da conexão, ao lado de WooCommerce e Webhooks).
- Clique em Nova mensagem.
Você cai numa tela com template, variáveis e — depois de salvar — o endpoint do webhook.
Configurando a mensagem
Nome da mensagem — apenas pra você identificar internamente (ex: "Confirmação de pagamento via API", "Pedido novo do ERP X"). Não vai pro cliente.
Template — escolha um dos templates aprovados da sua conexão. Só aparece o que está com status Aprovado na Meta.
Variáveis — pra cada placeholder do template ({{1}}, {{2}}...) você define um nome de campo que vai aparecer no payload do webhook. Exemplo: customer_name, order_id, tracking_code. Esses são os campos que o seu sistema vai mandar no JSON quando chamar a URL.
Use nomes claros, em snake_case. O sistema que vai consumir essa URL (ou a pessoa configurando) lê esses nomes — customer_name é melhor que var1.
Salve a mensagem. Depois de salvar, o card Webhook aparece à direita com a URL única dessa mensagem.
A URL do webhook
A URL fica nessa cara: https://app.rishi.com.br/api/meta/messages/{id-único}/trigger?signature=...
Ela já contém assinatura de segurança embutida — você não precisa mandar header de Authorization. A própria URL autentica.
Tratá-la como segredo. Quem tiver essa URL consegue disparar a mensagem. Não cole em código público, repositório aberto ou frontend que vai pro navegador.
Tem dois botões na tela:
- Copiar URL do webhook — copia a URL pronta pra colar no seu sistema.
- Copiar curl de teste — copia um comando
curlcom payload de exemplo, ótimo pra testar no terminal antes de codar.
O payload (formato do POST)
A requisição é um POST com Content-Type: application/json. O body precisa ter:
phone_number— número do cliente no formato internacional sem+, sem espaços, sem traços. Exemplo:5511999999999(55 = Brasil, 11 = DDD, 9 dígitos).- As variáveis configuradas na mensagem — usando exatamente os nomes que você definiu.
Exemplo de payload completo, considerando uma mensagem com variáveis customer_name, order_id, total:
{
"phone_number": "5511999999999",
"customer_name": "Maria",
"order_id": "12345",
"total": "R$ 199,90"
}
A resposta do Rishi confirma que recebeu (HTTP 2xx) e enfileira o envio. Se você quer ver se chegou, acompanhe pelos logs da mensagem (mostrados na tela depois de criar).
Guias de integração
A tela tem três guias prontos pra orientar quem vai configurar do outro lado:
WooCommerce (sem usar nosso plugin)
Algumas pessoas preferem configurar pelo painel do WooCommerce em vez de instalar o plugin Automações para WhatsApp. É possível:
- No WordPress: WooCommerce → Configurações → Avançado → Webhooks.
- Clique em Adicionar webhook.
- Tópico — escolha o evento (ex: "Pedido atualizado").
- URL de entrega — cole a URL de webhook do Rishi.
- Formato — JSON.
- Salve e ative.
Limitação: o WooCommerce manda o payload dele (estrutura própria com billing.first_name, line_items etc), não no formato do Rishi. Você precisa garantir que os nomes das variáveis na sua mensagem batam com os caminhos do payload Woo — ou usar uma camada intermediária (n8n/Make) pra traduzir.
Pra quem usa Woo, o caminho mais direto é o plugin oficial, que já cuida disso.
n8n / Make / Zapier
Plataformas de automação visual são o caso mais comum.
- Crie um novo workflow no n8n/Make/Zapier.
- Trigger — o que dispara o fluxo (novo pedido no Shopify, registro no Typeform, planilha atualizada, o que for).
- Adicione um nó HTTP Request apontando pra URL de webhook do Rishi.
- Method — POST. Content-Type —
application/json. - Body — monte o JSON com
phone_number+ suas variáveis, mapeando os campos do trigger pra cada chave. - Teste com um caso real e ative o workflow.
Integração manual (código direto)
Se seu sistema é desenvolvido por você, basta um POST. Em qualquer linguagem:
curl -X POST 'https://app.rishi.com.br/api/meta/messages/{id}/trigger?signature=...' \
-H 'Content-Type: application/json' \
-d '{
"phone_number": "5511999999999",
"customer_name": "Maria",
"order_id": "12345"
}'
Não precisa de header de autenticação — a assinatura está na própria URL.
Quando usar mensagem com webhook em vez do plugin Woo
- Sua loja não é WooCommerce.
- Você usa mais de um sistema e quer disparar pelo que faz mais sentido (ex: o ERP é o ponto de verdade pro pagamento, não o WooCommerce).
- Você precisa de um caso muito específico que os hooks padrão do plugin não cobrem.
- Você quer uma camada de transformação no meio (limpar dados, juntar de duas fontes, esperar uma condição) usando uma plataforma de automação.
Pra notificações simples de pedido em loja Woo, o plugin é mais rápido. Pra qualquer outro caso, a mensagem com webhook é a saída.
Logs e teste
Depois de criar a mensagem, a tela mostra um histórico de cada vez que a URL foi chamada — qual payload chegou, se a mensagem foi disparada, se houve erro. É o lugar pra debugar quando "tô mandando POST mas não chega no WhatsApp".
Falhas comuns:
phone_numberem formato errado — deve ser só dígitos, com país e DDD, sem+ou separadores.- Faltando alguma variável — se a mensagem espera
order_ide o payload não tem, a Meta rejeita. - Template foi rejeitado — se o template original perdeu aprovação na Meta, nenhuma mensagem desse tipo sai. Verifique em Templates.
Use o botão Copiar curl de teste e rode no seu terminal antes de codar do lado do seu sistema. Se o curl funcionar, sabe que a configuração tá certa e o problema é do outro lado.
Próximos passos
- Pra entender quais valores fazem sentido em cada variável e como nomeá-las, veja Como funcionam variáveis em templates.
- Pra escrever um bom template (que aprova fácil na Meta e converte), veja Como criar templates que convertem.