📚 Documentação da API
WhatsApp RESTful API - Documentação Completa
v3.0.0Autenticação
Todas as requisições (exceto login) requerem autenticação via Bearer Token no header Authorization.
Autentica o usuário e retorna um token JWT.
Requisição:{
"username": "admin",
"password": "sua_senha"
}
Resposta:
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"username": "admin",
"role": "admin"
}
}
Guarde o token retornado e use-o em todas as próximas requisições no header Authorization: Bearer {token}
Gestão de Sessões
Endpoints para criar, listar e gerenciar sessões do WhatsApp.
Lista todas as sessões disponíveis.
GET /sessions
Authorization: Bearer {token}
Cria uma nova sessão e gera QR Code.
Requisição:{
"sessionName": "minha-sessao"
}
Resposta:
{
"success": true,
"message": "Sessão criada com sucesso",
"qrCode": "data:image/png;base64,..."
}
Deleta uma sessão específica.
DELETE /sessions/minha-sessao
Authorization: Bearer {token}
Envio de Mensagens
Endpoints para enviar diferentes tipos de mensagens.
Envia uma mensagem de texto.
Requisição:{
"to": "5511999999999@c.us",
"text": "Olá! Esta é uma mensagem de teste."
}
Resposta:
{
"success": true,
"message": "Mensagem enviada com sucesso",
"messageId": "msg_id_123456"
}
Envia uma imagem com legenda opcional.
Requisição:{
"to": "5511999999999@c.us",
"imageUrl": "https://exemplo.com/imagem.jpg",
"caption": "Legenda opcional"
}
Envia um áudio.
Requisição:{
"to": "5511999999999@c.us",
"audioUrl": "https://exemplo.com/audio.mp3"
}
Envia um vídeo com legenda opcional.
Requisição:{
"to": "5511999999999@c.us",
"videoUrl": "https://exemplo.com/video.mp4",
"caption": "Legenda opcional"
}
Envia um documento.
Requisição:{
"to": "5511999999999@c.us",
"documentUrl": "https://exemplo.com/documento.pdf",
"filename": "documento.pdf"
}
Gestão de Contatos
Lista todos os contatos.
Resposta:{
"success": true,
"contacts": [
{
"id": "5511999999999@c.us",
"name": "João Silva",
"number": "5511999999999",
"isGroup": false
}
],
"total": 150
}
Obtém detalhes de um contato específico.
Obtém a foto de perfil de um contato.
Gestão de Grupos
Lista todos os grupos.
Resposta:{
"success": true,
"groups": [
{
"id": "120363123456789012@g.us",
"name": "Grupo de Trabalho",
"participants": 25,
"isAdmin": true
}
]
}
Gestão de Mídias
Lista todos os downloads de mídia.
Deleta todos os downloads.
Webhook
Configure um webhook para receber notificações de mensagens e eventos.
Configura o webhook.
Requisição:{
"url": "https://seu-servidor.com/webhook",
"enabled": true,
"events": ["message", "status"]
}
Eventos Recebidos:
{
"event": "message",
"sessionName": "minha-sessao",
"from": "5511999999999@c.us",
"body": "Texto da mensagem",
"hasMedia": false,
"timestamp": 1699999999
}
Logs do Sistema
Obtém os logs do sistema (últimos 1000).
Limpa todos os logs.
WebSocket (Tempo Real)
Conecte-se ao WebSocket para receber eventos em tempo real:
ws://localhost:3000
Eventos Disponíveis:
| Evento | Descrição |
|---|---|
qr_generated |
QR Code foi gerado |
connected |
Sessão conectada |
qr_expired |
QR Code expirou |
log |
Novo log do sistema |
Códigos de Status HTTP
| Código | Status | Descrição |
|---|---|---|
| 200 | OK | Requisição bem-sucedida |
| 201 | Created | Recurso criado com sucesso |
| 400 | Bad Request | Requisição inválida |
| 401 | Unauthorized | Token inválido ou ausente |
| 404 | Not Found | Recurso não encontrado |
| 500 | Internal Server Error | Erro interno do servidor |