Como enviar mensagem no WhatsApp usando a API Oficial da Meta
Se você já tentou automatizar WhatsApp com Baileys ou Z-API, sabe que funciona até o dia que para. Esse tutorial mostra como usar a API Oficial da Meta -- a única que não vai te dar dor de cabeça em produção.
O problema que todo dev brasileiro enfrenta
Você precisa enviar mensagens de WhatsApp automaticamente. Talvez seja uma confirmação de pedido, um código de verificação, ou uma campanha de marketing. O primeiro instinto é googlar "api whatsapp grátis" e cair em soluções como Baileys, whatsapp-web.js, Z-API ou Evolution API.
Essas ferramentas funcionam lendo o QR Code do WhatsApp Web e simulando um navegador. O problema: a Meta detecta esse comportamento e bane seu número. Não é questão de "se", é questão de "quando". E quando acontece, você perde o número, o histórico de conversas e a confiança dos seus clientes.
Para projetos pessoais, tudo bem. Para um produto em produção com clientes pagando? É um risco que não vale a pena.
A Meta tem investido pesado em detectar automações não-oficiais. Números usando APIs baseadas em engenharia reversa têm sido banidos em lote, muitas vezes sem aviso prévio e sem possibilidade de recurso.
O que é a WhatsApp Business Platform (Cloud API)?
A WhatsApp Business Platform é a forma oficial que a Meta oferece para empresas enviarem mensagens em escala. Ela roda 100% na nuvem da Meta -- você não precisa de celular ligado, não precisa escanear QR Code, e não tem risco de banimento (desde que siga as políticas de uso).
Zero banimento
Rota oficial da Meta. Seu número está protegido.
Botões interativos
Reply buttons, listas, CTAs nativos do WhatsApp.
Selo verde
Possibilidade de verificar sua marca oficialmente.
O porém: configurar diretamente pela Meta é burocrático. Você precisa criar um app no Meta Developers, configurar um Facebook Business Manager, ativar o billing em dólares, lidar com webhooks complexos... e o suporte é em inglês, via ticket. Para uma empresa brasileira, isso pode levar semanas.
A alternativa: usar um BSP brasileiro
Um BSP (Business Solution Provider) é um parceiro oficial da Meta que simplifica todo esse processo. A AraraHQ é um BSP feito no Brasil, para desenvolvedores brasileiros. Ao invés de semanas de configuração, você faz o setup em minutos e paga em reais.
Na prática, muda o seguinte:
- Setup: Cria conta, conecta no Meta via popup embarcado, e tá pronto. Menos de 5 minutos.
- Cobrança: Em reais (R$), com nota fiscal. Sem IOF, sem spread cambial.
- Suporte: Em português, com engenheiros que entendem o produto. E-mail ou WhatsApp.
- SDK: TypeScript tipado, docs interativas, sandbox grátis.
Na prática: enviando sua primeira mensagem
npm install @ararahq/sdkimport { Arara } from '@ararahq/sdk';
const arara = new Arara(process.env.ARARA_API_KEY!);
// Enviar template aprovado pela Meta
const resultado = await arara.messages.send({
to: "5511999999999",
type: "template",
template: {
name: "confirmacao_pedido",
language: "pt_BR",
components: [
{
type: "body",
parameters: [
{ type: "text", text: "João" },
{ type: "text", text: "#4521" }
]
}
]
}
});
console.log("Enviado:", resultado.messageId);
// -> Enviado: wamid.HBgNNTUx...Esse código envia uma mensagem de template (as únicas que podem ser enviadas fora da janela de 24h). O template precisa estar aprovado pela Meta -- você cria ele no dashboard da Arara e a aprovação costuma levar de alguns minutos a poucas horas.
E mensagens de texto livre?
A API Oficial da Meta tem uma regra importante: você só pode enviar mensagens livres (sem template) dentro de uma janela de 24 horas após o cliente te enviar uma mensagem. Isso se chama "session message" ou "service conversation".
// Cliente mandou mensagem -> janela aberta por 24h
await arara.messages.send({
to: "5511999999999",
type: "text",
text: "Oi João! Seu pedido #4521 saiu pra entrega. 🚚"
});
// Também funciona com imagem, documento, áudio...
await arara.messages.send({
to: "5511999999999",
type: "image",
image: {
url: "https://seusite.com/comprovante-4521.png",
caption: "Comprovante de envio"
}
});Recebendo mensagens (Webhooks)
Quando alguém manda mensagem pro seu número, a AraraHQ dispara um webhook pra URL que você configurou. O payload segue o padrão da Meta, mas limpo -- sem aqueles objetos aninhados desnecessários.
app.post("/webhook/whatsapp", (req, res) => {
const { from, type, text, timestamp } = req.body;
console.log(`Mensagem de ${from}: ${text?.body}`);
// Aqui você processa a mensagem:
// - Salva no banco
// - Responde automaticamente
// - Encaminha pra fila do suporte
res.sendStatus(200); // Importante: responder rápido
});Quanto custa?
A Meta cobra por "conversa", não por mensagem. Uma conversa é uma janela de 24h com um contato. O preço varia pelo tipo:
- Marketing (promoções, campanhas): a partir de R$ 0,60/conversa
- Utilidade (confirmações, rastreio, boletos): a partir de R$ 0,20/conversa
- Serviço (cliente inicia a conversa): R$ 0,10/conversa
Na AraraHQ, o plano Essencial começa em R$ 57/mês e esse valor é 100% revertido em créditos de API. Ou seja, você não paga mensalidade "jogada fora" -- tudo vira crédito de envio.
Próximos passos
Se você tá começando agora, o caminho é simples:
- Cria sua conta na AraraHQ (leva 30 segundos)
- Conecta sua conta da Meta pelo popup embarcado (2 minutos)
- Pega sua API key no dashboard
- Instala o SDK e envia sua primeira mensagem
Se já usa uma API não-oficial e quer migrar, leia nosso guia de riscos das APIs piratas. Se vem da Twilio, temos um passo a passo de migração.
Pronto pra integrar?
Crie sua conta e comece a enviar mensagens em menos de 5 minutos. Sandbox grátis incluso.