Skip to main content

WebSocket em tempo real

Para receber atualizações ao vivo (sem polling) das mudanças de estado das entidades, conecte-se ao endpoint WebSocket do Portal.

Endpoint

Autenticação

O WebSocket usa um fluxo de autenticação em duas etapas: primeiro você conecta, depois envia uma mensagem auth com o token.
O WebSocket atual aceita OAuth access token (JWT do Logto). PAT (pat_...) não funciona neste endpoint. Para integrações via WebSocket use o fluxo OAuth oficial — entre em contato com o suporte para receber as credenciais OAuth client.

Fluxo básico (JavaScript)

Tipos de mensagem

Enviadas pelo cliente

Recebidas do servidor

Quando NÃO usar WebSocket

  • Você so precisa do estado atual uma vez — use /v1/states/{entity_id}.
  • Você quer histórico — use /v1/history.
  • Você roda em ambiente sem WebSocket persistente (lambda, edge function) — prefira polling ou webhooks de saida.

Reconexao e robustez

WebSockets caem. Sua integração deve:
  1. Reconectar com backoff exponencial ao perder conexão.
  2. Re-autenticar após a reconexao.
  3. Re-sincronizar estado: depois de reconectar, busque /v1/entities/states para não perder mudanças que ocorreram durante o gap.
Para uso massivo (sistemas multi-tenant, dashboards de muitos clientes), considere uma camada própria de cache que assina o WebSocket uma vez por conta e revende as atualizações aos seus clientes — em vez de cada cliente abrir sua própria conexão.