Sessão
Endpoints para gerenciar a conexão com os servidores do WhatsApp.
POST /session/connect
Conecta aos servidores do WhatsApp. Se não houver sessão anterior, será necessário escanear um QR code.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Subscribe | Array[string] |
Lista de tipos de evento para assinar. Recomendado: use ["All"] para receber todos os eventos.
Mensagens e comunicação:
Message, UndecryptableMessage, Receipt, MediaRetryGrupos e contatos:
GroupInfo, JoinedGroup, Picture, BlocklistChange, BlocklistConexão e sessão:
Connected, Disconnected, ConnectFailure, KeepAliveRestored, KeepAliveTimeout, LoggedOut, ClientOutdated, TemporaryBan, StreamError, StreamReplaced, PairSuccess, PairError, QR, QRTimeout, QRScannedWithoutMultidevicePrivacidade e configurações:
PrivacySettings, PushNameSetting, UserAboutSincronização e estado:
AppState, AppStateSyncComplete, HistorySync, OfflineSyncCompleted, OfflineSyncPreviewChamadas:
CallOffer, CallAccept, CallTerminate, CallOfferNotice, CallRelayLatencyPresença e atividade:
Presence, ChatPresenceOutros:
IdentityChange, CATRefreshError, NewsletterJoin, NewsletterLeave, NewsletterMuteChange, NewsletterLiveUpdate, FBMessage, All |
| Immediate | boolean | Se true, retorna imediatamente sem aguardar a confirmação da conexão |
Exemplo de requisição:
{
"Subscribe": ["All"],
"Immediate": true
}
Resposta:
{
"code": 200,
"data": {
"details": "Connected!",
"events": "All",
"jid": "5491155555555.0:53@s.whatsapp.net",
"webhook": "https://some.site/webhook?request=parameter"
},
"success": true
}
POST /session/disconnect
Desconecta dos servidores do WhatsApp sem encerrar a sessão.
Resposta:
{
"code": 200,
"data": {
"Details": "Disconnected"
},
"success": true
}
POST /session/logout
Encerra a conexão e termina a sessão, exigindo novo scan do QR na próxima conexão.
Resposta:
{
"code": 200,
"data": {
"Details": "Logged out"
},
"success": true
}
GET /session/status
Obtém o status atual da conexão e da sessão.
Resposta:
{
"code": 200,
"data": {
"Connected": true,
"LoggedIn": true
},
"success": true
}
GET /session/qr
Obtém o QR code para escanear no app do WhatsApp.
Resposta:
{
"code": 200,
"data": {
"QRCode": "data:image/png;base64,iVBORw0KGgoA..."
},
"success": true
}
POST /session/pairphone
Gera código de pareamento por telefone (sem QR).
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número para pareamento |
Exemplo de requisição:
{
"Phone": "5581999999999"
}
Resposta:
{
"code": 200,
"data": { "LinkingCode": "9H3J-H3J8" },
"success": true
}
POST /session/proxy
Configura ou desativa proxy da sessão. Se estiver conectado, reinicia para aplicar.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| proxy_url | string | Ex.: http://host:port ou socks5://user:pass@host:port |
| enable | boolean | Ativa (true) ou desativa (false) |
Exemplo de requisição:
{
"proxy_url": "socks5://user:pass@host:port",
"enable": true
}
POST /session/proxy/test
Testa conectividade do proxy com o WhatsApp Web.
Exemplo de requisição:
{
"proxy_url": "http://user:pass@proxy.example.com:8080"
}
Resposta:
{
"code": 200,
"data": {
"Details": "Proxy connection test successful",
"ProxyURL": "http://***:***@proxy.example.com:8080",
"LatencyMS": 120
},
"success": true
}
POST GET DELETE /session/s3/config
Configura, consulta ou remove o armazenamento S3 da sessão.
POST (configurar):
{
"enabled": true,
"endpoint": "https://s3.amazonaws.com",
"region": "us-east-1",
"bucket": "my-bucket",
"accessKey": "AKIA...",
"secretKey": "*****",
"publicURL": "https://cdn.meusite.com",
"mediaDelivery": "both"
}
GET (consultar):
{
"code": 200,
"data": { "enabled": true, "endpoint": "https://s3.amazonaws.com", "bucket": "my-bucket" },
"success": true
}
DELETE (remover):
{
"code": 200,
"data": { "Details": "S3 configuration deleted successfully" },
"success": true
}
POST /session/s3/test
Testa a configuração S3 atual.
Resposta:
{
"code": 200,
"data": { "Details": "S3 connection test successful" },
"success": true
}
GET /session/history
Solicita History Sync do WhatsApp para a sessão conectada.
Query params:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| count | int | Qtd. de mensagens (1–1000) |
| chat_jid | string | JID do chat |
| oldest_msg_id | string | ID da mensagem mais antiga |
| oldest_msg_from_me | boolean | Se a mensagem foi enviada por você |
| oldest_msg_timestamp | int | Timestamp (ms) |
POST GET DELETE /session/hmac/config
Configura HMAC para assinatura de webhooks (chave mínima 32 chars).
POST (configurar):
{
"hmac_key": "sua_chave_com_32_caracteres_ou_mais"
}
GET (status):
{ "hmac_key": "***" }
DELETE (remover):
{
"code": 200,
"data": { "Details": "HMAC configuration deleted successfully" },
"success": true
}
POST GET DELETE /session/chatwoot/config
Configura integração com Chatwoot (API e/ou DB).
POST (configurar):
{
"enabled": true,
"groups_enabled": false,
"history_sync_enabled": true,
"base_url": "https://chatwoot.example.com",
"account_id": 1,
"inbox_name": "KiraGo WhatsApp",
"api_token": "cw_pat_***"
}
POST /session/chatwoot/test
Testa conexão com a API do Chatwoot.
POST /session/chatwoot/db/test
Testa conexão com o Postgres do Chatwoot.
GET /session/chatwoot/history/progress
Retorna o progresso da sincronização de histórico.
POST /session/chatwoot/history/sync
Reinicia a sincronização de histórico com Chatwoot.
GET /session/chatwoot/token
Obtém o token da API do Chatwoot (mascarado).
POST /session/chatwoot/sync-history
Sincroniza o histórico interno (message_history) para o Chatwoot.