📚 Evolution API Documentation

Conexão Direta com Evolution API v2.3

v2.3

🔐 Autenticação

Utilize a API Key da sua instância no header apikey.

curl -X POST "https://seu-servidor-evolution.com/message/sendText/sua-instancia" \
  -H "Content-Type: application/json" \
  -H "apikey: SUA_API_KEY_DA_INSTANCIA" \
  -d '{"number": "5511999999999", "text": "Olá!"}'

🧪 Testar Evolution API

Valide sua conexão enviando uma mensagem de teste.

💬 Mensagens

POST /message/sendText/{instance}

Envia uma mensagem de texto simples.

ParâmetroTipoDescrição
number *obrigatóriostringNúmero do destinatário (ex: 5511999999999)
text *obrigatóriostringConteúdo da mensagem
delaynumberDelay em milisegundos
// Requisição
{
    "number": "5511999999999",
    "text": "Ol\u00e1, esta \u00e9 uma mensagem de teste da Evolution API!"
}
// Resposta de Sucesso (200)
{
    "key": {
        "remoteJid": "5511999999999@s.whatsapp.net",
        "fromMe": true,
        "id": "3EB0..."
    },
    "message": {
        "conversation": "Ol\u00e1..."
    },
    "messageTimestamp": 1703847600,
    "status": "PENDING"
}
POST /message/sendMedia/{instance}

Envia imagem, vídeo ou documento via URL ou Base64.

ParâmetroTipoDescrição
number *obrigatóriostringNúmero do destinatário
mediatype *obrigatóriostringimage, video ou document
media *obrigatóriostringURL da mídia ou Base64
fileNamestringNome do arquivo
captionstringLegenda da mídia
// Requisição
{
    "number": "5511999999999",
    "mediatype": "image",
    "media": "https://exemplo.com/imagem.png",
    "fileName": "projeto.png",
    "caption": "Veja o novo design!"
}
// Resposta de Sucesso (200)
{
    "success": true
}
POST /message/sendWhatsAppAudio/{instance}

Envia um áudio como se tivesse sido gravado na hora.

ParâmetroTipoDescrição
number *obrigatóriostringNúmero do destinatário
audio *obrigatóriostringURL do .mp3/.ogg ou Base64
// Requisição
{
    "number": "5511999999999",
    "audio": "https://exemplo.com/audio.mp3"
}
// Resposta de Sucesso (200)
{
    "success": true
}
POST /message/sendSticker/{instance}

Envia uma figurinha (sticker).

ParâmetroTipoDescrição
number *obrigatóriostringNúmero do destinatário
sticker *obrigatóriostringURL da imagem ou Base64
// Requisição
{
    "number": "5511999999999",
    "sticker": "https://exemplo.com/sticker.png"
}
// Resposta de Sucesso (200)
{
    "success": true
}
POST /message/sendReaction/{instance}

Reage a uma mensagem específica com um emoji.

// Requisição
{
    "key": {
        "remoteJid": "5511999999999@s.whatsapp.net",
        "fromMe": false,
        "id": "MESSAGE_ID"
    },
    "reaction": "\ud83d\ude80"
}
// Resposta de Sucesso (200)
{
    "success": true
}

⚙️ Gerenciamento de Instância

GET /instance/fetchInstances

Retorna uma lista de todas as instâncias ou de uma específica.

ParâmetroTipoDescrição
instanceNamestringFiltra por nome da instância
// Resposta de Sucesso (200)
[
    {
        "instanceName": "minha-instancia",
        "status": "open",
        "owner": "5511999999999@s.whatsapp.net"
    }
]
GET /instance/connect/{instance}

Retorna o status da conexão ou o base64 do QR Code para escaneamento.

// Resposta de Sucesso (200)
{
    "status": "qrcode",
    "base64": "data:image/png;base64,..."
}
GET /instance/connectionState/{instance}

Verifica se a instância está conectada ou desconectada.

// Resposta de Sucesso (200)
{
    "instance": {
        "instanceName": "teste",
        "state": "open"
    }
}
POST /instance/restart/{instance}

Reinicia o serviço da instância.

// Resposta de Sucesso (200)
{
    "success": true
}
DELETE /instance/logout/{instance}

Desconecta o WhatsApp da instância.

// Resposta de Sucesso (200)
{
    "success": true
}