Documentação do KiraGo

Sessão
Painel Swagger

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, MediaRetry
Grupos e contatos: GroupInfo, JoinedGroup, Picture, BlocklistChange, Blocklist
Conexão e sessão: Connected, Disconnected, ConnectFailure, KeepAliveRestored, KeepAliveTimeout, LoggedOut, ClientOutdated, TemporaryBan, StreamError, StreamReplaced, PairSuccess, PairError, QR, QRTimeout, QRScannedWithoutMultidevice
Privacidade e configurações: PrivacySettings, PushNameSetting, UserAbout
Sincronização e estado: AppState, AppStateSyncComplete, HistorySync, OfflineSyncCompleted, OfflineSyncPreview
Chamadas: CallOffer, CallAccept, CallTerminate, CallOfferNotice, CallRelayLatency
Presença e atividade: Presence, ChatPresence
Outros: 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
countintQtd. de mensagens (1–1000)
chat_jidstringJID do chat
oldest_msg_idstringID da mensagem mais antiga
oldest_msg_from_mebooleanSe a mensagem foi enviada por você
oldest_msg_timestampintTimestamp (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.

← Rotas Próximo: Webhook →