Eventos
Definir Websocket
Habilita ou desabilita o WebSocket da instância e define filtro de eventos e mídia em base64
POST
Definir Websocket
Auth:
Envelope:
TokenAccount ou TokenInstance • Rate-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: comoevents é omitido, o cliente recebe os 6 tipos de evento, e mediaBase64 permanece em false.
Filtro estreito
Habilita o WebSocket recebendo somentemessage.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 enviandoenabled: 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 objetowebsocket 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
Nome da instância.
Headers
TokenAccount ou TokenInstance.application/jsonRequest body
Liga/desliga o WebSocket. Quando
false, events e mediaBase64 são zerados antes do save.Filtro. Array vazio = recebe todos os 6 tipos. Valores devem estar em
{message.exchange, message.status, call.update, group.flow, instance.state, label.update}.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
HasClientsantes de qualquer trabalho de serialização). - Sem retry: se o socket cair durante o envio, a mensagem é perdida. Para entrega garantida, use webhook.
enabled=falsenão desconecta clientes já abertos: as conexões existentes em/ws/:instancepermanecem até serem fechadas naturalmente; novas conexões falham com400.- 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/newviawebsocketEnabled,websocketEvents,websocketMediaBase64.
Erros
| HTTP | error.message |
|---|---|
| 400 | Invalid request body |
| 401 | Invalid token |
| 404 | Instance not found |
| 429 | Rate limit exceeded. Try again later. |
| 500 | Failed to get instance |
Próximo
Verificar config WebSocket
GET /api/events/getWebsocket/:instanceConectar via WebSocket
GET /ws/:instance, protocolo, auth, reconexão.