Pular para o conteúdo principal
Uma sessão WaGo é uma conexão de dispositivo WhatsApp controlada por um token de sessão. A maioria dos endpoints da aplicação exige que a sessão esteja conectada e autenticada.

Ciclo de vida

  1. O administrador cria ou já possui um token.
  2. O cliente chama POST /session/connect com esse token.
  3. Se o dispositivo não estiver autenticado, o cliente chama GET /session/qr.
  4. O usuário escaneia o QR code em “Aparelhos conectados” no WhatsApp.
  5. O cliente consulta GET /session/status até que Connected e LoggedIn sejam verdadeiros.
  6. O mesmo token pode restaurar a sessão posteriormente chamando POST /session/connect novamente.

Endpoints

EndpointAutenticaçãoBodyUso
POST /session/initadmintokenName, Token, OsCria uma linha de token no banco de dados local.
POST /session/connecttokenSubscribe, Immediate, PhoneInicia ou restaura um cliente WhatsApp para o token.
POST /session/pairtokenSubscribe, Immediate, PhoneConecta usando o fluxo de código de pareamento do WhatsApp.
GET /session/qrtokennenhumRetorna o QR code atual como uma data URL.
GET /session/statustokennenhumRetorna o estado de conexão e autenticação.
POST /session/disconnecttokennenhumDesconecta do WhatsApp sem desvincular o dispositivo.
POST /session/logouttokennenhumFaz logout do WhatsApp. Uma nova conexão exigirá novo escaneamento.
GET /session/alladmintokennenhumLista usuários, tokens, webhooks e JIDs armazenados.
POST /session/deleteadmintoken + token alvonenhumExclui um token e os arquivos de sessão locais.
POST /session/scannedadmintokennenhumRetorna sessões que já possuem um JID armazenado.

Criar um token

Para ver o fluxo admin completo de provisionamento, veja Criar um token.
curl -X POST http://localhost:1337/session/init \
  -H "Content-Type: application/json" \
  -H "admintoken: YOUR_ADMIN_TOKEN" \
  -d '{
    "Name": "customer-1",
    "Token": "customer-token-1",
    "Os": "linux"
  }'
O Token é armazenado após a remoção de espaços. Mantenha-o estável, pois ele identifica a sessão em requisições futuras.

Conectar um token

curl -X POST http://localhost:1337/session/connect \
  -H "Content-Type: application/json" \
  -H "token: YOUR_TOKEN" \
  -d '{
    "Subscribe": ["Message", "ReadReceipt", "Presence", "Call"],
    "Immediate": true,
    "Phone": ""
  }'
Subscribe controla as classes de eventos do webhook. Os valores válidos no código são:
Message, ReadReceipt, Presence, HistorySync, ChatPresence, Call, All, Newsletter, LoggedOut
Use ["All"] durante os testes. Em produção, inscreva-se apenas nos eventos que sua aplicação utiliza.

Escanear QR

curl -H "token: YOUR_TOKEN" \
  http://localhost:1337/session/qr
Renderize QRCode como uma imagem. Se a sessão já estiver autenticada, o endpoint retornará um erro em vez de um QR code.

Restaurar uma sessão

Para restaurar após reiniciar o processo, chame POST /session/connect com o mesmo token. Se as credenciais do WhatsApp ainda forem válidas em disco, o WaGo reconecta sem a necessidade de escanear o QR code.

Desconectar vs logout

AçãoMantém o WhatsApp vinculado?Próxima conexão precisa de QR?
POST /session/disconnectSimGeralmente não
POST /session/logoutNãoSim
POST /session/deleteRemove token/sessão localO token deve ser recriado
Use a desconexão para manutenção. Use o logout quando o usuário desejar desvincular o dispositivo.