Eventos
Configurar Websocket
Habilita o deshabilita el WebSocket de la instancia y define el filtro de eventos y media en base64
POST
Configurar Websocket
Auth:
Envoltorio:
TokenAccount o TokenInstance • Rate limit: Global (100/min) • Idempotente: sí (upsert)
Descripción
Habilita / deshabilita el canal WebSocket de la instancia y define el filtro de eventos. A diferencia del webhook, hay una única configuración por instancia (sinlabel). Este endpoint no abre una conexión, solo autoriza el upgrade posterior en GET /ws/:instance.
Ejemplos
Habilitar todo
Activa el WebSocket sin ningún filtro: comoevents se omite, el cliente recibe los 6 tipos de eventos, y mediaBase64 permanece como false.
Filtro estrecho
Habilita el WebSocket recibiendo solomessage.exchange y message.status y activa mediaBase64: true para que los frames con media ya incluyan el contenido binario codificado en base64.
Deshabilitar el websocket
Desactiva el WebSocket enviandoenabled: false. La fila de configuración se preserva, events y mediaBase64 se limpian, y las nuevas conexiones a /ws/:instance empiezan a ser rechazadas.
Respuesta exitosa
La respuesta retorna el objetowebsocket con la configuración efectivamente persistida (enabled, events, mediaBase64), refleja el body de la solicitud después del upsert. Cuando enabled=false, events y mediaBase64 regresan limpios; las conexiones ya abiertas en /ws/:instance se mantienen hasta cerrarse naturalmente, pero las nuevas conexiones empiezan a ser rechazadas con 400.
200 OK
Parámetros de ruta
Nombre de la instancia.
Cabeceras
TokenAccount o TokenInstance.application/jsonCuerpo de la solicitud
Activa/desactiva el WebSocket. Cuando es
false, events y mediaBase64 se limpian antes de guardar.Filtro. Array vacío = recibir los 6 tipos. Los valores deben estar en
{message.exchange, message.status, call.update, group.flow, instance.state, label.update}.Cuando es
true, los eventos message.exchange con media incluyen media.base64 en los frames del WS.Notas
- No persiste eventos: el WebSocket es efímero. Si nadie está conectado en el momento del evento, se descarta (fast-path
HasClientsantes de cualquier trabajo de serialización). - Sin retry: si el socket cae durante el envío, el mensaje se pierde. Para entrega garantizada, usa webhook.
enabled=falseno desconecta clientes ya abiertos: las conexiones existentes en/ws/:instancese mantienen hasta cerrarse naturalmente; las nuevas conexiones fallan con400.- No hay límite de conexión documentado: cada instancia puede tener N clientes simultáneos (broadcast). El hub mantiene un buffer de 256 mensajes por cliente; los clientes lentos son desconectados automáticamente.
- Configuración al momento de la creación: el mismo bloque puede pasarse a
POST /api/instance/newvíawebsocketEnabled,websocketEvents,websocketMediaBase64.
Errores
| 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 |
Siguiente
Consultar configuración del WebSocket
GET /api/events/getWebsocket/:instanceConectar vía WebSocket
GET /ws/:instance, protocolo, autenticación, reconexión.