Skip to main content
POST
Definir Websocket
Auth: TokenAccount ou TokenInstanceRate-limit: Global (100/min) • Idempotente: sim (upsert)

Descrição

Habilita / desabilita o canal WebSocket da instância e define o filtro de eventos. Diferente do webhook, existe uma única configuração por instância (não há label). Esse endpoint não abre conexão, apenas autoriza o upgrade posterior em GET /ws/:instance.

Exemplos

Habilitar tudo

Liga o WebSocket sem filtro: como events é omitido, o cliente recebe os 6 tipos de evento, e mediaBase64 permanece em false.

Filtro estreito

Habilita o WebSocket recebendo somente message.exchange e message.status e ativa mediaBase64: true para que os frames com mídia já tragam o conteúdo binário codificado em base64.

Desativar o websocket

Desliga o WebSocket enviando enabled: false. A linha de configuração é preservada, events e mediaBase64 são zerados, e novas conexões em /ws/:instance passam a ser rejeitadas.

Resposta de sucesso

A resposta devolve o objeto websocket com a configuração efetivamente persistida (enabled, events, mediaBase64), espelha o body do request após o upsert. Quando enabled=false, events e mediaBase64 voltam zerados; conexões já abertas em /ws/:instance permanecem até serem fechadas naturalmente, mas novas conexões passam a ser rejeitadas com 400.
200 OK

Parâmetros de rota

string
obrigatório
Nome da instância.

Headers

string
obrigatório
TokenAccount ou TokenInstance.
string
obrigatório
application/json

Request body

boolean
obrigatório
Liga/desliga o WebSocket. Quando false, events e mediaBase64 são zerados antes do save.
string[]
padrão:"[]"
Filtro. Array vazio = recebe todos os 6 tipos. Valores devem estar em {message.exchange, message.status, call.update, group.flow, instance.state, label.update}.
boolean
padrão:"false"
Quando true, eventos message.exchange com mídia incluem media.base64 nos frames WS.

Notas

  • Não persiste eventos: WebSocket é efêmero. Se ninguém estiver conectado no momento do evento, ele é descartado (fast-path HasClients antes de qualquer trabalho de serialização).
  • Sem retry: se o socket cair durante o envio, a mensagem é perdida. Para entrega garantida, use webhook.
  • enabled=false não desconecta clientes já abertos: as conexões existentes em /ws/:instance permanecem até serem fechadas naturalmente; novas conexões falham com 400.
  • Sem limite documentado de conexões: cada instância pode ter N clientes simultâneos (broadcast). O hub mantém buffer de 256 mensagens por cliente, clientes lentos são desconectados automaticamente.
  • Configuração na criação: o mesmo bloco pode ser passado em POST /api/instance/new via websocketEnabled, websocketEvents, websocketMediaBase64.

Erros

Envelope:

Próximo

Verificar config WebSocket

GET /api/events/getWebsocket/:instance

Conectar via WebSocket

GET /ws/:instance, protocolo, auth, reconexão.