Guia Rápido
Siga estes passos para configurar e receber webhooks do Evolution Go.Pré-requisitos
Antes de configurar webhooks, você precisa:- Ter o Evolution Go instalado e rodando — veja o guia de instalação
- Ter uma instância criada — veja Configuração Inicial
- Ter sua API Key (
GLOBAL_API_KEYconfigurada no.env) - Ter uma URL acessível para receber os eventos
Passo 1: Conectar a instância com webhook
Configure o webhook ao conectar sua instância enviando uma requisição para o endpoint de conexão.Método
Header
Body
Exemplo com cURL
Exemplo com JavaScript
Exemplo com Python
Passo 2: Parear com o WhatsApp
Após a conexão, você receberá um eventoQRCode no seu webhook com a imagem do QR Code em base64:
- Abra o WhatsApp no celular
- Vá em Configurações > Dispositivos conectados > Conectar dispositivo
- Escaneie o QR Code recebido no webhook (decodifique o campo
qrcodebase64 para exibir a imagem)
Se preferir usar Pairing Code ao invés de QR Code, envie o campo
phone no body:Passo 3: Confirmar a conexão
Após o pareamento bem-sucedido, você receberá uma sequência de eventos:PairSuccess → Connected → OfflineSyncCompleted. Se recebeu esses 3 eventos, seu webhook está configurado corretamente.
Passo 4: Receber mensagens
A partir de agora, toda mensagem recebida no WhatsApp será enviada como eventoMessage para sua URL.
Processando no seu servidor
Configuração Detalhada
A configuração de webhooks é feita no momento da conexão da instância, através do endpointPOST /instance/connect.
Webhook por Instância
Ao conectar uma instância, você pode definir a URL do webhook e os eventos que deseja receber:POST /instance/connect
Parâmetros
Webhook Global
Você pode definir um webhook global via variável de ambiente. Ele receberá eventos de todas as instâncias, além dos webhooks individuais de cada instância..env
Quando configurados, ambos os webhooks são acionados: o global (definido por
WEBHOOK_URL) e o da instância (definido em webhookUrl). Isso permite ter um sistema centralizado de monitoramento junto com integrações específicas por instância.Tipos de Eventos
Ao configurar o webhook, você pode se inscrever nos seguintes tipos de eventos:Estrutura do Payload
Todos os webhooks são enviados como requisiçõesHTTP POST com Content-Type: application/json. A estrutura base do payload é:
Payloads por Evento
QRCode
Emitido quando um novo QR Code é gerado para pareamento.PairSuccess
Emitido quando o pareamento do dispositivo é concluído com sucesso.Message
Emitido quando uma mensagem é recebida. O payload varia conforme o tipo de mensagem. Todos os eventos de mensagem compartilham a mesma estrutura base emdata, com o objeto Info contendo metadados e Message contendo o conteúdo.
Campos comuns do objeto Info
Campos comuns adicionais
Text
Image
QuandoWEBHOOK_FILES=true (padrão), o campo base64 contém a imagem codificada. Caso contrário, mediaUrl apontará para o armazenamento MinIO/S3.
Video
Audio
Document
Quando
WEBHOOK_FILES=true (padrão), mensagens com mídia incluem o conteúdo do arquivo como base64 dentro do objeto Message. Se o MinIO/S3 estiver configurado, o campo mediaUrl será adicionado em vez do base64.Receipt
Emitido para confirmações de leitura e entrega. O campostate no nível raiz indica o tipo: Read, ReadSelf ou Delivered.