Referência da API

Integre o WhatsApp à sua aplicação em minutos. Nossa API segue os padrões RESTful, autenticação via Bearer Token ou API Key, e respostas em JSON.

Base URL:https://api.whatsmiau.dev

Autenticação

Todas as requisições (exceto webhooks) devem incluir o header apikey. Você pode gerar suas chaves no Dashboard.

GET

Verificar Credenciais

/evolution/instances

Teste se sua chave de API é válida fazendo uma requisição simples de listagem.

curl -X GET https://api.whatsmiau.dev/evolution/instances \
  -H "apikey: SUA_CHAVE_AQUI"

Instâncias

Gerencie suas sessões do WhatsApp. Cada instância representa um número de telefone conectado.

POST

Criar Instância

/evolution/instance/create

Cria uma nova instância. Se 'qrcode' for true, ela já estará pronta para leitura.

Parâmetros

instanceNamestringObrigatório

Nome único para identificar a instância.

qrcodebooleanOpcional

Se verdadeiro, retorna o QR Code imediatamente (se suportado).

integrationstringObrigatório

Deve ser "WHATSAPP-BAILEYS".

curl -X POST https://api.whatsmiau.dev/evolution/instance/create \
  -H "apikey: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "instanceName": "Marketing01",
    "qrcode": true,
    "integration": "WHATSAPP-BAILEYS"
  }'
GET

Conectar Instância

/evolution/instance/connect/:instance_id

Recupera o QR Code (base64) para conectar uma instância criada.

Parâmetros

instance_idstringObrigatório

ID ou Nome da instância.

curl -X GET https://api.whatsmiau.dev/evolution/instance/connect/Marketing01 \
  -H "apikey: SUA_CHAVE"
DELETE

Deletar Instância

/evolution/instance/:instance_id

Remove permanentemente uma instância e limpa a sessão.

Parâmetros

instance_idstringObrigatório

ID ou Nome da instância.

curl -X DELETE https://api.whatsmiau.dev/evolution/instance/Marketing01 \
  -H "apikey: SUA_CHAVE"

Envio de Mensagens

Envie mensagens de texto, imagens, vídeos, áudios e documentos para qualquer número do WhatsApp.

POST

Enviar Texto

/message/sendText/:instance_id

Envia uma mensagem de texto simples. Suporta emojis.

Parâmetros

numberstringObrigatório

Número do destinatário com DDI e DDD (ex: 5511999998888).

optionsobjectOpcional

Opções de envio.

delaynumberOpcional

Atraso em milissegundos antes de enviar.

presencestringOpcional

Simula "composing" durante o delay.

textMessageobjectObrigatório

Conteúdo da mensagem.

textstringObrigatório

O texto a ser enviado.

curl -X POST https://api.whatsmiau.dev/message/sendText/Marketing01 \
  -H "apikey: KEY" \
  -d '{
  "number": "551199998888",
  "options": {"delay": 1200, "presence": "composing"},
  "textMessage": {"text": "Olá! 👋"}
}'
POST

Enviar Mídia

/message/sendMedia/:instance_id

Envia imagens ou vídeos via URL ou Base64.

Parâmetros

numberstringObrigatório

Número do destinatário.

mediaMessageobjectObrigatório

Objeto de mídia.

mediatypestringObrigatório

"image" ou "video".

captionstringOpcional

Legenda da mídia.

mediastringObrigatório

URL pública ou Base64 do arquivo.

curl -X POST https://api.whatsmiau.dev/message/sendMedia/Marketing01 \
  -H "apikey: KEY" \
  -d '{
  "number": "551199998888",
  "mediaMessage": {
    "mediatype": "image",
    "caption": "Check this out!",
    "media": "https://example.com/image.png"
  }
}'
POST

Enviar Áudio (PTT)

/message/sendWhatsAppAudio/:instance_id

Envia um arquivo de áudio como se fosse gravado na hora (Push-To-Talk).

Parâmetros

numberstringObrigatório

Número do destinatário.

audioMessageobjectObrigatório

Objeto de áudio.

audiostringObrigatório

URL pública ou Base64 do arquivo MP3/OGG.

curl -X POST https://api.whatsmiau.dev/message/sendWhatsAppAudio/Marketing01 \
  -H "apikey: KEY" \
  -d '{
  "number": "551199998888",
  "audioMessage": {
    "audio": "https://example.com/voice.mp3"
  }
}'

Interação & Chat

Gerencie o estado do chat, reações e verificações de número.

POST

Enviar Reação

/message/sendReaction/:instance_id

Reage a uma mensagem específica com um emoji.

Parâmetros

reactionMessageobjectObrigatório

Dados da reação.

keyobjectObrigatório

Chave da mensagem alvo (id, remoteJid, fromMe).

reactionstringObrigatório

Emoji da reação (ex: ❤️, 👍).

curl -X POST https://api.whatsmiau.dev/message/sendReaction/Marketing01 \
  -H "apikey: KEY" \
  -d '{
  "reactionMessage": {
    "key": { "id": "MSG_ID", "remoteJid": "..." },
    "reaction": "👍"
  }
}'
POST

Marcar como Lido

/chat/markMessageAsRead/:instance_id

Marca todas as mensagens não lidas de um chat como lidas.

Parâmetros

readMessagesobjectObrigatório

Objeto contendo dados da leitura.

remoteJidstringObrigatório

ID do chat (ex: 5511...@s.whatsapp.net).

curl -X POST https://api.whatsmiau.dev/chat/markMessageAsRead/Marketing01 \
  -H "apikey: KEY" \
  -d '{
  "readMessages": {
    "remoteJid": "551199998888@s.whatsapp.net"
  }
}'
POST

Verificar Número

/chat/whatsappNumbers/:instance_id

Verifica se um número está registrado no WhatsApp.

Parâmetros

numbersstring[]Obrigatório

Lista de números para verificar.

curl -X POST https://api.whatsmiau.dev/chat/whatsappNumbers/Marketing01 \
  -H "apikey: KEY" \
  -d '{
  "numbers": ["551199998888"]
}'

Webhooks

Configure uma URL no painel para receber eventos POST em tempo real.

Eventos

messages.upsert

Recebido quando uma nova mensagem chega.

messages.update

Atualização de status (entregue, lido).

Payload de Exemplo

{
  "event": "messages.upsert",
  "instance": "Marketing01",
  "data": {
    "key": {
      "remoteJid": "5511988887777@s.whatsapp.net",
      "fromMe": false,
      "id": "3EB0..."
    },
    "message": {
      "conversation": "Quero saber mais sobre os planos!"
    }
  }
}