Guia de início

O WhatsBot liga o seu WhatsApp a um webhook seu. Você conversa com um dos nossos números; tudo que você escreve vai para o endereço que você definiu, e o que ele responder volta para você na mesma conversa. Não precisa instalar nada nem criar conta: tudo se configura mandando comandos para o número.

Em uma frase: o número é o carteiro entre o seu WhatsApp e o seu sistema (n8n, Make, uma IA, um script). Cada pessoa que usa o número tem o próprio webhook, e só recebe as próprias mensagens. Nada da conversa fica guardado aqui.

Passo 1 · Mande /start para o número

Abra uma conversa com o número do WhatsBot que você recebeu e envie /start. Pronto: o seu telefone passa a ter um canal nesse número. Ninguém pode fazer isso por você, porque quem manda o comando é o seu próprio WhatsApp.

Se você entrou pelo número "WhatsFather", mande /novobot nele para ver os números disponíveis e /pegar <número> para escolher um.

Passo 2 · Aponte o webhook

Na mesma conversa, mande:

/webhook https://seu-servidor.com/rota

Precisa ser https e aceitar POST. Pode ser:

Depois mande /testar. A resposta diz o código HTTP e o tempo que o seu webhook levou. Se deu 200, está ligado.

Passo 3 · Escreva qualquer coisa

Mande "oi" para o número. Em um ou dois segundos chega no seu webhook um JSON parecido com este:

{
  "event": "message",
  "bot_id": 12,
  "message": {
    "id": "3EB0538DA65A59F6D8A251",
    "chat": { "id": "5511999999999@s.whatsapp.net", "type": "private" },
    "from": { "phone": "5511999999999", "name": "Você" },
    "type": "text",
    "text": "oi"
  }
}

Os campos que você mais vai usar: message.text (o que você escreveu) e message.type. Foto, áudio e arquivo chegam com type diferente e um campo media.url; a lista completa está na referência. Mensagens que começam com / são comandos e não vão para o webhook.

Passo 4 · Responda

Dois jeitos, e pode usar os dois:

A) Na hora, no corpo da resposta do webhook

Seu webhook responde 200 com um JSON e a mensagem volta para você. É o jeito mais simples para assistentes de pergunta e resposta.

{ "text": "Anotado! Quer que eu lembre você amanhã?" }

Dá para mandar várias mensagens e mídia de uma vez:

{ "messages": [
  { "type": "text",  "text": "Seu resumo do dia:" },
  { "type": "document", "url": "https://seusite.com/resumo.pdf", "filename": "resumo.pdf" }
] }

Regra prática: responda em menos de 25 segundos. Se o processamento demora (chamar uma IA, consultar sistemas), responda 200 vazio na hora e use o jeito B.

B) Quando quiser, pela API

Mande /token para o número. Ele responde com o seu token da API. Com ele, seu sistema manda mensagem para você a qualquer momento (lembrete, alerta, relatório), mesmo sem você ter escrito antes:

curl -X POST https://whatsbot.maike.my/bot<SEU_TOKEN>/sendMessage \
  -H 'Content-Type: application/json' \
  -d '{"text": "Lembrete: reunião às 15h."}'

Por segurança, o token só envia para o seu próprio telefone. Não dá para usar o WhatsBot para mandar mensagem para outras pessoas. Trocando sendMessage por sendMedia você recebe imagem, áudio, vídeo ou documento por URL. Os métodos estão na referência.

Todos os comandos

/startcria o seu canal no número
/webhook https://…define para onde suas mensagens vão · /webhook off desliga
/testardispara um evento de teste e mostra o resultado
/statusresumo: webhook, estado, contadores, último erro
/grupos on|offentregar também o que você escreve em grupos onde o número está
/pausar · /retomarpausa e religa a entrega
/tokengera e mostra um novo token da API (o anterior deixa de valer)
/segredomostra o segredo que vai nos headers do webhook · /segredo novo troca
/nome Xyzrenomeia o seu canal
/sair confirmarapaga o seu canal neste número
/ajudalista os comandos

Exemplo completo em 6 linhas (PHP)

Um webhook que repete o que você disse. Suba num servidor com https e mande a URL com /webhook.

<?php
$in = json_decode(file_get_contents('php://input'), true);
if (($in['event'] ?? '') !== 'message') exit;          // ignora o evento de teste
$texto = $in['message']['text'] ?? '(sem texto)';
header('Content-Type: application/json');
echo json_encode(['text' => "Você disse: $texto"]);

Exemplo em Node (Express)

app.post('/whatsbot', express.json(), (req, res) => {
  if (req.body.event !== 'message') return res.sendStatus(200);
  const texto = req.body.message.text || '(sem texto)';
  res.json({ text: `Você disse: ${texto}` });
});

Sem programar: n8n, Make, Zapier

  1. Crie um fluxo que começa com um nó Webhook (método POST). Copie a URL de produção e mande /webhook <url> para o número.
  2. Monte a lógica que quiser (IA, planilha, CRM, agenda).
  3. Para responder na hora, termine com um nó "Respond to Webhook" devolvendo JSON {"text": "..."}. Para responder depois, use um nó HTTP Request chamando sendMessage com o token.

Confirmando que o POST veio do WhatsBot

Todo POST leva o header X-Whatsbot-Secret com o segredo que /segredo mostra. Compare antes de processar; se não bater, ignore. Quem prefere assinatura tem o X-Whatsbot-Signature (HMAC-SHA256 do corpo), explicado na referência.

Perguntas frequentes

Outras pessoas usam o mesmo número. Elas veem minhas mensagens?
Não. A entrega é separada pelo telefone de quem escreve: o que você manda vai só para o seu webhook, e o token de cada pessoa só envia para ela mesma.
O WhatsBot guarda as conversas?
Não. Nem o texto, nem mídia. Só hora, código HTTP e tempo de resposta do seu webhook, por 7 dias, para você diagnosticar com /status.
E se meu webhook estiver fora do ar?
A mensagem é contada como falha e não é reenviada. Deixe seu webhook respondendo 200 rápido e faça o trabalho pesado depois.
Posso usar mais de um número?
Cada telefone começa com direito a um número. Se precisar de mais, fale com o administrador.
Perdi o token.
Mande /token de novo. O anterior para de funcionar na hora.