WhatsApp API Oficial (Meta): integração completa
A integração com a API Oficial do WhatsApp Business da Meta é o caminho profissional pra disparar mensagens em escala — sem risco de banimento, com templates aprovados, e estabilidade garantida.
Esta página é o hub da feature: explica o que existe na seção /meta-api do app Rishi e aponta pros artigos detalhados de cada parte do fluxo.
O que está na seção /meta-api
A seção tem 5 telas principais, organizadas em volta da conexão (sua WABA — WhatsApp Business Account):
| Tela | URL no app | Função |
|---|---|---|
| Conexões | /meta-api |
Lista de WABAs conectadas, criação de nova via Embedded Signup |
| Configurações da conexão | /meta-api/{id} |
Edição de label, integração com WordPress, configurações da WABA |
| Templates | /meta-api/{id}/templates |
Lista templates sincronizados da Meta + criação manual de templates novos |
| Mensagens | /meta-api/{id}/messages |
Mensagens disparadas via webhook genérico (qualquer sistema externo) |
| WooCommerce | /meta-api/{id}/woocommerce |
Mensagens disparadas por eventos do WooCommerce (requer plugin) |
| Relatório | /meta-api/{id}/report |
Métricas de envio, taxas de erro, gráficos diários e por hora |
Conectando uma WABA: Embedded Signup
A criação de conexão usa o Embedded Signup da Meta — o fluxo OAuth que captura account_id, phone_number_id e o token de acesso sem você precisar entrar no Business Manager manualmente.
Passo resumido:
- Em
/meta-api, clique em Adicionar conexão. - Você é redirecionado pro fluxo da Meta.
- Faz login no Facebook, escolhe ou cria a Business Account, escolhe ou cria o número.
- Confirma as permissões.
- A conexão volta pro Rishi já configurada e pronta pra usar.
Detalhes completos do Embedded Signup: o artigo Conectando sua conta WhatsApp Business no Rishi cobre passo a passo.
Por que API Oficial em vez de QR Code
| Pra você decidir | API Oficial | QR Code |
|---|---|---|
| Risco de banimento | Sem risco | Existe |
| Estabilidade | Alta | Conexão pode cair |
| Templates aprovados | Sim | Não |
| Custo | Possível custo Meta | Sem custo extra |
| Volume | Qualquer | < 500/dia |
| Burocracia inicial | Aprovação Meta + CNPJ verificado | Escanear QR |
Comparação aprofundada em Por que usar a API Oficial do WhatsApp Business.
Templates: o coração da API Oficial
Diferente do QR Code (mensagem livre), na API Oficial toda mensagem outbound usa um template aprovado pela Meta.
Sincronização
Templates são criados/aprovados pela Meta e o Rishi sincroniza pra você. Na tela /meta-api/{id}/templates:
- Importar templates busca todos os templates da sua WABA via Graph API e atualiza a base local
- Templates removidos da Meta são soft-deletados localmente (não excluídos pra preservar histórico)
- A coluna mensagens ativas mostra quantas mensagens do Rishi usam aquele template
Criação dentro do Rishi
Você também pode criar templates novos direto no Rishi (sem entrar no Business Manager):
- Em
/meta-api/{id}/templates, clique em Criar template. - Use um dos 6 modelos prontos (Boas-vindas, Acompanhe pedido, Oferta especial, etc.) ou comece do zero.
- Defina header (texto, imagem ou vídeo), body, footer, botões (até 3).
- Submeta. O template fica como PENDING até a Meta aprovar (geralmente alguns minutos).
Boas práticas e estrutura: Como criar templates que convertem (e custam menos).
Apenas templates NAMED
O Rishi suporta exclusivamente templates com parameter_format = NAMED (placeholders nomeados como {{nome_cliente}}). Templates antigos com {{1}}, {{2}} (posicionais) são marcados como inválidos e não podem ser usados em mensagens.
Por quê e como funciona: Como funcionam variáveis em templates.
Categorias
Templates são classificados pela Meta em três categorias:
| Categoria | Uso |
|---|---|
| UTILITY | Mensagens transacionais (confirmação de pedido, status, rastreio). Mais barato |
| MARKETING | Promoções, ofertas, campanhas. Mais caro, exige opt-in |
| AUTHENTICATION | Códigos de verificação, OTPs |
A categoria afeta o custo Meta por conversa.
Mensagens: dois tipos
A seção tem duas telas separadas pra mensagens, com propósitos distintos:
1. Mensagens (webhook genérico)
/meta-api/{id}/messages
Mensagem que qualquer sistema externo pode disparar via POST numa URL assinada exclusiva. Útil pra:
- ERP enviando confirmação fora do WooCommerce
- n8n / Zapier orquestrando lógicas customizadas
- Código próprio integrado via API
- Aplicativos mobile que precisam mandar WhatsApp
Você cria a mensagem, configura o template + mapeamento de variáveis, e o Rishi te dá uma URL assinada. Quando alguém faz POST nessa URL com os campos esperados, a mensagem é disparada.
Setup e formato do payload: Recebendo eventos de outros sistemas via webhook.
2. WooCommerce
/meta-api/{id}/woocommerce
Mensagem atrelada a um evento específico do WooCommerce (pedido novo, status alterado, código de rastreio adicionado, etc.). Requer:
- O plugin WordPress instalado e conectado
- A conexão exibe
is_wordpress_connected = true
A sincronização entre o Rishi e o plugin é bidirecional: ao criar/editar/excluir a mensagem no Rishi, o plugin é atualizado. Mensagens já configuradas no plugin antes da conexão são importadas automaticamente.
Hooks WooCommerce disponíveis
A lista é extensa: novo pedido, qualquer transição de status, status específicos (pendente, processando, concluído, cancelado, reembolsado, malsucedido), código de rastreio (Correios, Mandaê, Melhor Envio, JadLog, Infixs, WC Shipment Tracking, e qualquer transportadora), recuperação de senha, produto baixo estoque, produto sem estoque, nota pública adicionada.
Você ainda pode filtrar por gateway de pagamento, status de origem/destino, adicionar delay em segundos e restringir por categorias de produto (permitidas/bloqueadas).
Setup detalhado: Criando mensagens automáticas em eventos do WooCommerce. Plugin no WordPress: Instalando o plugin Automações para WhatsApp no WooCommerce.
Variáveis de templates
Templates usam placeholders nomeados que você mapeia pra variáveis do sistema na hora de criar a mensagem. As variáveis são organizadas em 8 grupos disponíveis no menu do mapeador:
- Pedido WooCommerce — 30+ variáveis (
first_name,order_number,pix_code,tracking_code, etc.) - Soluções administrativas — relatórios semanais
- Checkout inteligente
- Recuperação de senha
- Correios Updater
- Alertas de estoque
- CartFlows — carrinho abandonado
- Transportadoras genérico
Detalhes de cada grupo:
Relatórios e saúde da conexão
/meta-api/{id}/report
A tela de relatórios mostra os números dos últimos 7 dias:
| Métrica | O que mostra |
|---|---|
| Gráfico diário | Disparos vs. falhas por dia, com taxa de falha em % |
| Gráfico por hora | Distribuição por hora do dia (qual horário concentra envios) |
| Top templates | 20 templates mais usados, com taxa de erro de cada |
| Top erros | 5 códigos de erro mais comuns, com descrição e contagem |
| Erros por template | Top 10 combinações erro × template |
| Total de disparos | Soma dos últimos 7 dias |
| Taxa de falha geral | % geral |
| Status de saúde | is_healthy = false quando taxa > 15% |
A tela responde diretamente perguntas como:
- "Meus envios estão funcionando?"
- "Qual template está falhando?"
- "Em qual horário minha loja mais dispara?"
- "Por que essa mensagem não chegou?"
Casos de borda comuns
| Situação | O que acontece |
|---|---|
| Template em PENDING ou REJECTED | Mensagem pode ser criada, mas o disparo falha. Confira status na tela de templates |
| Template inválido (parâmetro posicional) | Não pode ser selecionado em mensagens. Crie novo template com parâmetros NAMED |
| Variáveis em branco ao ativar mensagem | Toggle bloqueado com erro listando o que falta |
| WordPress desconectado ao criar mensagem WooCommerce | Erro: "WordPress não está conectado. Configure o plugin primeiro." |
| Falha de sync com WordPress | Operação revertida no Rishi, mensagem de erro |
is_healthy = false |
Causa comum: token expirado, conta sem saldo Meta, template pausado |
| Conexão suspensa administrativamente | Disparos bloqueados — fale com o suporte |
| Sem templates após importar | A WABA ainda não tem templates criados na Meta |
Reprocessar logs com falha
Cada disparo gera um log de webhook com os dados recebidos, validações, resultado da Meta e IDs Chatwoot (se houver).
Logs com falha podem ser reenviados pelo botão Reprocessar na tela de edição da mensagem. O sistema cria um novo log com is_retry = true e despacha o job de processamento.
Integração com WordPress
Os campos wordpress_site_url e wordpress_sync_token da conexão são preenchidos quando o plugin WordPress é instalado e o setup é executado em /meta-api/{id}/woocommerce/setup. Esse endpoint gera um token Sanctum com escopo limitado (wordpress:register) que o plugin usa pra sincronizar mensagens e categorias.
is_wordpress_connected é true quando ambos os campos estão preenchidos. Sem isso, a aba WooCommerce mostra um aviso e bloqueia operações.
Setup do plugin no WP: Instalando o plugin Automações para WhatsApp.
Mapa de artigos relacionados
Pra entender a feature toda, percorra nesta ordem:
- Por que usar a API Oficial do WhatsApp Business
- Conectando sua conta WhatsApp Business no Rishi
- Como criar templates que convertem (e custam menos)
- Como funcionam variáveis em templates
- Quais variáveis usar em cada tipo de gatilho
- WooCommerce: Instalando o plugin → Criando mensagens automáticas em eventos do WooCommerce
- Webhook genérico: Recebendo eventos de outros sistemas → Variáveis em mensagens via webhook
- Variáveis em detalhe: Pedido, Cliente, Cupom, Carrinho abandonado
Próximos passos
- Conexões e setup do Embedded Signup.
- WhatsApp via QR Code — alternativa rápida sem aprovação Meta.
- Visão geral do Flow Builder — use a API Oficial em automações dentro do Rishi CRM.