Entenda como funciona o protocolo Multi-Device do WhatsApp e como o Evolution GO o utiliza.
- Visão Geral
- Arquitetura
- Protocolo Signal
- Sincronização de Dados
- Criptografia
- Limitações
- Vantagens
- Comparação com Versão Antiga
WhatsApp Multi-Device é o protocolo que permite conectar até 4 dispositivos simultaneamente, sem necessidade do celular estar online após o pareamento inicial.
Legacy (Antigo - Web WhatsApp):
┌─────────────┐
│ Celular │ ◄── SEMPRE precisa estar online
│ (Primary) │
└──────┬──────┘
│
│ Relay
│
▼
┌──────────────┐
│ WhatsApp Web │ ◄── Depende 100% do celular
└──────────────┘
Multi-Device (Atual):
┌─────────────┐
│ Celular │ ◄── Dispositivo principal
│ (Primary) │
└──────┬──────┘
│
│ Peer-to-Peer Sync
│
├────────────┬────────────┬────────────┐
▼ ▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│WhatsApp │ │Evolution │ │WhatsApp │ │WhatsApp │
│Desktop │ │ GO │ │Web │ │Business │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
Todos funcionam INDEPENDENTEMENTE!
-
Dispositivo Principal (Primary Device)
- Celular com WhatsApp instalado
- Única fonte de verdade para contatos e configurações
- Pode funcionar offline após sincronização inicial
-
Dispositivos Companion (Companion Devices)
- WhatsApp Web, Desktop, Business API, Evolution GO
- Até 4 dispositivos simultâneos
- Funcionam independentemente após pareamento
-
Servidores WhatsApp
- Facilitam comunicação entre devices
- Armazenam mensagens criptografadas temporariamente
- Sincronizam estado entre dispositivos
┌──────────────────────────────────────────────────────────┐
│ WhatsApp Servers │
│ - Message Routing │
│ - State Synchronization │
│ - End-to-End Encryption Relay │
└───────────────────┬──────────────────────────────────────┘
│
┌──────────┼──────────┬──────────┬──────────┐
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
│Primary │ │Device 1│ │Device 2│ │Device 3│ │Device 4│
│(Phone) │ │Desktop │ │Evolution│ │ Web │ │Business│
└────────┘ └────────┘ └────────┘ └────────┘ └────────┘
│ │ │ │ │
└──────────┴──────────┴──────────┴──────────┘
│
Direct Peer Sync
(quando ambos online)
Enviar Mensagem:
- Device 1 (Evolution GO) envia mensagem criptografada para WhatsApp servers
- Servers encaminham para destinatário
- Servers também sincronizam com outros devices do remetente
- Primary device e outros companion devices recebem cópia
Receber Mensagem:
- WhatsApp servers recebem mensagem destinada ao seu número
- Servers replicam para todos os devices conectados simultaneamente
- Cada device descriptografa independentemente
Signal Protocol é o protocolo de criptografia ponta-a-ponta (E2EE) usado pelo WhatsApp Multi-Device.
Criado por: Open Whisper Systems (agora Signal Foundation)
Usado em:
- Signal Messenger
- Facebook Messenger (Secret Conversations)
- Google Messages (RCS)
Cada dispositivo tem um par de chaves únicas:
- Chave Pública: Compartilhada com outros dispositivos
- Chave Privada: Nunca sai do dispositivo, usada para descriptografia
Um conjunto de 100 chaves geradas automaticamente quando você conecta um dispositivo pela primeira vez. Essas chaves permitem que outros dispositivos iniciem conversas criptografadas com você, mesmo quando você está offline.
Renovação: Novas pre-keys são geradas automaticamente conforme necessário.
Uma pre-key especial assinada pela sua chave de identidade, provando autenticidade.
Renovação: A cada 7 dias.
Chaves únicas para cada conversa que mudam automaticamente a cada mensagem enviada (conceito chamado "ratcheting").
Segurança: Se uma chave for comprometida, apenas aquela mensagem específica é afetada - mensagens anteriores e futuras permanecem seguras (Forward Secrecy).
Histórico Inicial:
- Últimos 3 meses de conversas
- Mídia: Apenas thumbnails (mídia completa baixada on-demand)
Novas Mensagens:
- Sincronizadas em tempo real
- Todos os dispositivos recebem simultaneamente
Sincronização:
- Lista completa de contatos do celular
- Atualizada automaticamente quando um contato muda nome ou número
Informações sincronizadas:
- Lista de todos os grupos que você participa
- Metadados (nome, descrição, foto, lista de participantes)
- Configurações (silenciado, fixado)
Estados sincronizados:
- Chats fixados (pinned)
- Chats arquivados (archived)
- Chats silenciados (muted)
- Mensagens lidas/não lidas
Sincronizadas:
- Foto de perfil
- Nome de exibição
- Recado (status text)
- Configurações de privacidade
NÃO sincronizadas:
- Notificações (específico por device)
- Tema/aparência (específico por device)
Solicitação de histórico (implementado via API):
POST /chat/history-sync-request
{
"messageInfo": {
"Chat": "5511999999999@s.whatsapp.net",
"IsFromMe": false,
"IsGroup": false,
"ID": "3EB0C5A277F7F9B6C599",
"Timestamp": "2025-11-11T10:00:00Z"
},
"count": 50
}Parâmetros:
messageInfo: Mensagem de referência (ponto de partida)count: Número de mensagens para buscar (máx 100)
Uso: Carregar mensagens antigas de uma conversa.
Todas as mensagens são criptografadas no dispositivo do remetente e só podem ser descriptografadas no dispositivo do destinatário.
Importante: Os servidores do WhatsApp não conseguem ler o conteúdo das mensagens - eles apenas facilitam a entrega dos dados criptografados.
┌────────────┐ ┌────────────┐
│ Remetente │ │Destinatário│
│ (Device) │ │ (Device) │
└─────┬──────┘ └──────┬─────┘
│ │
│ 1. Mensagem: "Olá!" │
│──────────┐ │
│ │ │
│ 2. Criptografa com Session Key │
│<─────────┘ │
│ │
│ 3. Envia encrypted blob │
│───────────────────────────────────────────────>│
│ (via WhatsApp Servers) │
│ │
│ │ 4. Descriptografa
│ │────────────┐
│ │ │
│ │ 5. "Olá!" │
│ │<───────────┘
│ │
Código de Segurança (Safety Number):
- É um código de 60 dígitos único para cada conversa
- Compara as chaves de identidade dos participantes
- Muda se um dos participantes trocar de dispositivo
Como verificar no WhatsApp:
- Abrir a conversa
- Tocar no nome do contato
- Selecionar "Criptografia"
- Comparar o código com o contato pessoalmente ou por outro canal seguro
Máximo: 4 companion devices + 1 primary device (celular).
Exemplo:
- ✅ Celular (Primary)
- ✅ WhatsApp Web (Device 1)
- ✅ WhatsApp Desktop (Device 2)
- ✅ Evolution GO (Device 3)
- ✅ WhatsApp Business API (Device 4)
- ❌ Outro device → Erro: "Máximo de devices atingido"
Solução: Desconectar um device antes de conectar novo.
Sincronização inicial: Apenas últimos 3 meses.
Mensagens mais antigas:
- Não são sincronizadas automaticamente
- Podem ser buscadas via History Sync Request (se disponíveis)
- Mídia completa não é transferida (apenas thumbnails)
Limitação atual: Evolution GO não suporta atender chamadas de voz/vídeo.
Suportado:
- ✅ Receber notificação de chamada (evento
CALL) - ✅ Rejeitar chamada automaticamente
NÃO suportado:
- ❌ Atender chamada
- ❌ Áudio/vídeo em tempo real
Inatividade: Se device ficar offline por >14 dias, sessão expira.
Solução: Novo pareamento via QR Code necessário.
Evolution GO funciona mesmo com celular offline (após sincronização inicial).
Casos de uso:
- Celular sem bateria
- Celular sem internet
- Viagem internacional (celular desligado)
Todas as mensagens aparecem em todos os devices simultaneamente.
Exemplo:
- Enviar mensagem no Evolution GO
- Aparece instantaneamente no WhatsApp Web
- Aparece no celular
- Aparece no Desktop
Com containers Docker, você pode ter N instâncias do Evolution GO, cada uma conectada a um número WhatsApp diferente:
docker run -d --name evo-vendas evolution-go
docker run -d --name evo-suporte evolution-go
docker run -d --name evo-marketing evolution-goCada container = 1 número WhatsApp separado.
Redundância: Se um device falha, outros continuam funcionando.
Load Balancing: Distribua carga entre múltiplos Evolution GO instances.
| Aspecto | Legacy (Web WhatsApp) | Multi-Device (Atual) |
|---|---|---|
| Celular precisa online? | ✅ Sim, sempre | ❌ Não (após pareamento) |
| Criptografia | E2EE | E2EE (melhorada) |
| Sincronização | Relay via celular | Peer-to-peer + servers |
| Histórico | Depende do celular | 3 meses sincronizados |
| Latência | Alta (2 hops) | Baixa (direto) |
| Devices simultâneos | 1 (Web) | 4 companions |
| Chamadas | Não suportado | Não suportado* |
| Mídia | Relay via celular | Direct download |
*Chamadas não suportadas em companion devices (limitação WhatsApp).
- Conexão QR Code - Processo de pareamento
- Sistema de Eventos - Receber eventos Multi-Device
- Instâncias WhatsApp - Gerenciamento de devices
- Banco de Dados - Armazenamento de sessões
Documentação gerada para Evolution GO v1.0