WhatsMax

Começando

O WhatsMax é um gateway de WhatsApp: o seu sistema fala com uma API simples, e a sua equipe atende pelo painel. Em três passos você manda a primeira mensagem.

Leia antes. O WhatsMax conecta números de dois jeitos, e você escolhe por número: pela API oficial da Meta, sem risco de banimento por usar cliente não oficial, ou pela conexão rápida, por QR code, que é não oficial. Na conexão rápida um número pode ser banido pelo WhatsApp, e um número banido não volta. O gateway reduz o risco por desenho (só responde a quem escreveu, limita o ritmo, respeita opt-out), mas não o elimina: nela, comece com um número que você aceite arriscar. A sua integração é a mesma nos dois.

1. Crie uma chave de API

No painel, abra Integração → Chaves de API e clique em Criar chave. Dê um nome (por exemplo, o do sistema que vai usá-la) e escolha o que ela pode fazer. O valor aparece uma única vez: guarde-o num cofre, nunca no código nem no repositório.

2. Pareie um número

Em Integração → Números, conecte o WhatsApp que vai atender, lendo o QR code ou pedindo o código de 8 dígitos.

Número oficial (API da Meta). Sem QR e sem risco de banimento por usar cliente não oficial. Peça um link de conexão (POST /v1/instances/connect-link, ou pelo painel) e mande para quem administra o WhatsApp da empresa: ele entra com o Facebook, escolhe o número e confirma. Dá para conectar um número novo ou o que a empresa já usa no WhatsApp Business do celular, que continua funcionando lá. A Meta cobra os templates direto da conta da empresa: o passo a passo, com a forma de pagamento, está em Número oficial (Meta).

3. Mande uma mensagem

Só se escreve a quem escreveu para o número nas últimas 24 horas. Peça a alguém que mande uma mensagem para o número e responda:

curl -X POST https://SEU-DOMINIO/v1/messages \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Idempotency-Key: pedido-1234" \
  -H "Content-Type: application/json" \
  -d '{
    "instance": "nome-do-numero",
    "to": "5542999999999",
    "type": "text",
    "content": { "text": "Sua sala está confirmada para amanhã às 14h." },
    "category": "transactional"
  }'

A resposta é 202: a mensagem entrou na fila. O envio nunca é síncrono. Para saber o que aconteceu com ela, configure um webhook ou consulte GET /v1/messages/{id}.

E agora