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.
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:
- um script no seu servidor (PHP, Node, Python, o que você usar);
- um nó "Webhook" no n8n, Make, Zapier ou similar;
- para testar antes de ter algo pronto, um endereço temporário do webhook.site, que mostra na tela tudo que chega.
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
/start | cria o seu canal no número |
/webhook https://… | define para onde suas mensagens vão · /webhook off desliga |
/testar | dispara um evento de teste e mostra o resultado |
/status | resumo: webhook, estado, contadores, último erro |
/grupos on|off | entregar também o que você escreve em grupos onde o número está |
/pausar · /retomar | pausa e religa a entrega |
/token | gera e mostra um novo token da API (o anterior deixa de valer) |
/segredo | mostra o segredo que vai nos headers do webhook · /segredo novo troca |
/nome Xyz | renomeia o seu canal |
/sair confirmar | apaga o seu canal neste número |
/ajuda | lista 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
- 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. - Monte a lógica que quiser (IA, planilha, CRM, agenda).
- Para responder na hora, termine com um nó "Respond to Webhook" devolvendo JSON
{"text": "..."}. Para responder depois, use um nó HTTP Request chamandosendMessagecom 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
/tokende novo. O anterior para de funcionar na hora.