Tutorial prático para configurar sua primeira instância WhatsApp e enviar mensagens via Evolution GO.
- Evolution GO instalado e em execução
- Chave de API configurada (GLOBAL_API_KEY)
- Smartphone com WhatsApp ativo
Se ainda não instalou, consulte o Guia de Instalação.
Confirme que o servidor está respondendo:
curl http://localhost:4000/server/okResposta esperada:
{
"status": "ok"
}Uma instância representa uma conexão única do WhatsApp. Crie sua primeira:
curl -X POST http://localhost:4000/instance/create \
-H "Content-Type: application/json" \
-H "apikey: SUA-GLOBAL-API-KEY" \
-d '{
"name": "minha-instancia",
"token": "token-secreto-da-instancia"
}'Importante:
apikeyheader: Use aGLOBAL_API_KEYconfigurada no servidortoken: Crie um token único para esta instância (será usado para autenticar requisições desta instância)name: Nome identificador da instância
Resposta:
{
"message": "success",
"data": {
"instanceId": "uuid-gerado",
"name": "minha-instancia",
"token": "token-secreto-da-instancia",
"status": "created"
}
}A instância foi criada mas ainda não está autenticada no WhatsApp.
curl -X POST http://localhost:4000/instance/connect \
-H "Content-Type: application/json" \
-H "apikey: token-secreto-da-instancia"Nota: Agora use o
tokenda instância no headerapikey(não mais a GLOBAL_API_KEY).
Via navegador:
http://localhost:4000/instance/qr
(com o header apikey: token-secreto-da-instancia)
Via API:
curl "http://localhost:4000/instance/qr" \
-H "apikey: token-secreto-da-instancia"- Abra o WhatsApp no smartphone
- Acesse Mais opções (⋮) → Aparelhos conectados
- Toque em Conectar um aparelho
- Escaneie o QR Code exibido
A conexão deve ser estabelecida em aproximadamente 10 segundos.
Confirme que a instância está conectada:
curl "http://localhost:4000/instance/status" \
-H "apikey: token-secreto-da-instancia"Resposta quando conectado:
{
"message": "success",
"data": {
"instanceId": "uuid-da-instancia",
"name": "minha-instancia",
"status": "open",
"profilePictureUrl": "https://...",
"profileName": "Nome do Perfil"
}
}Status possíveis:
created- Instância criada, aguardando autenticaçãoconnecting- Processo de conexão em andamentoopen- Conectado e operacionalclose- Desconectado
curl -X POST http://localhost:4000/send/text \
-H "Content-Type: application/json" \
-H "apikey: token-secreto-da-instancia" \
-d '{
"number": "5511999999999",
"text": "Mensagem de teste via Evolution GO"
}'Nota: A instância é identificada pelo token no header
apikey. Não é necessário enviarinstanceNameno body.
Formato do número:
- DDI + DDD + Número (apenas dígitos)
- Exemplo Brasil:
5511999999999(55=Brasil, 11=São Paulo)
Resposta:
{
"message": "success",
"data": {
"messageId": "3EB0...",
"status": "sent"
}
}curl -X POST http://localhost:4000/send/media \
-H "Content-Type: application/json" \
-H "apikey: token-secreto-da-instancia" \
-d '{
"number": "5511999999999",
"mediaUrl": "https://exemplo.com/imagem.jpg",
"caption": "Legenda da imagem"
}'curl -X POST http://localhost:4000/send/media \
-H "Content-Type: application/json" \
-H "apikey: token-secreto-da-instancia" \
-d '{
"number": "5511999999999",
"mediaUrl": "https://exemplo.com/documento.pdf",
"fileName": "relatorio.pdf"
}'curl "http://localhost:4000/instance/all" \
-H "apikey: SUA-GLOBAL-API-KEY"Nota: Use a
GLOBAL_API_KEYpara listar todas as instâncias.
curl "http://localhost:4000/instance/info/uuid-da-instancia" \
-H "apikey: SUA-GLOBAL-API-KEY"Nota: Use o
instanceId(UUID) da instância na URL.
curl -X POST http://localhost:4000/instance/disconnect \
-H "Content-Type: application/json" \
-H "apikey: token-secreto-da-instancia"curl -X POST http://localhost:4000/instance/reconnect \
-H "Content-Type: application/json" \
-H "apikey: token-secreto-da-instancia"curl -X DELETE "http://localhost:4000/instance/delete/uuid-da-instancia" \
-H "apikey: SUA-GLOBAL-API-KEY"Nota: Use a
GLOBAL_API_KEYe oinstanceId(UUID) para deletar.
Acesse a interface Swagger para explorar e testar todos os endpoints:
http://localhost:4000/swagger/index.html
Passos:
- Clique em Authorize no topo da página
- Insira sua chave de API
- Confirme a autenticação
- Explore e teste os endpoints disponíveis
QR Code possui validade limitada (~60 segundos). Se expirar:
curl -X POST http://localhost:4000/instance/reconnect \
-H "Content-Type: application/json" \
-H "apikey: token-secreto-da-instancia"Verifique se está usando o token correto:
# Listar todas as instâncias
curl "http://localhost:4000/instance/all" \
-H "apikey: SUA-GLOBAL-API-KEY"Verificações:
- Status da conexão:
curl "http://localhost:4000/instance/status" \
-H "apikey: token-secreto-da-instancia"Status deve ser open.
-
Formato do número:
- Apenas dígitos (sem espaços, hífens ou símbolos)
- Incluir DDI e DDD
- Validar se o número existe no WhatsApp
-
Logs do servidor:
docker-compose logs -f evolution-goVerifique se está enviando o header correto:
-H "apikey: sua-chave-aqui"Confirme a chave configurada no docker-compose.yml ou .env.
- API de Mensagens - Todos os tipos de mensagens
- API de Grupos - Gerenciamento de grupos
- API de Usuários - Perfis e contatos
- Referência Completa - Todos os endpoints
- Sistema de Eventos - Webhooks e filas
- Webhooks - Receber notificações
- RabbitMQ - Processamento assíncrono
- MinIO/S3 - Armazenamento de mídia
- Configuração - Variáveis de ambiente
- Docker Deployment - Deploy em produção
- Segurança - Boas práticas de segurança
Documentação Evolution GO v1.0