socket.io para emitir eventos en tiempo real, aprovechando la tecnología WebSocket. Esto hace que el desarrollo de integraciones sea más eficiente y directo para los desarrolladores. El WebSocket proporciona un canal de comunicación full-duplex sobre una única conexión duradera, permitiendo el flujo de datos en tiempo real entre el cliente y el servidor.
Para activar los WebSockets, defina la variable de entorno
WEBSOCKET_ENABLED como true. Vea más detalles en Variables de Entorno.Modos de Operación del WebSocket
Modo Global
En el modo global, la variable de entornoWEBSOCKET_GLOBAL_EVENTS debe definirse como true. En este modo, el WebSocket se inicializa al inicio del servicio y envía eventos de todas las instancias, independientemente de los canales. Esto significa que cualquier cliente conectado al WebSocket recibirá eventos globales, abarcando todas las instancias de la Evolution API configuradas en el sistema.
-
Activación: Configure en el archivo
.env: - Funcionamiento: Ideal para escenarios donde desea monitorear o procesar eventos de todas las instancias simultáneamente, sin necesidad de establecer una conexión separada para cada instancia.
-
Conexión: En el modo global, la conexión al WebSocket no requiere el uso de
/nombre_instanciaen la URL. La URL de conexión será simplemente:
Modo Tradicional
En el modo tradicional, el WebSocket solo puede conectarse después de la ejecución del comandoset en la instancia. Esto permite que el WebSocket sea específico para cada instancia, y la comunicación en tiempo real se restringe a esa instancia.
-
Activación: Asegúrese de que
WEBSOCKET_GLOBAL_EVENTSesté definido comofalseo no esté configurado, y siga el flujo tradicional de configuración de la instancia. - Funcionamiento: Ideal para escenarios donde desea una comunicación en tiempo real más aislada, enfocada en una única instancia, permitiendo mayor control y segmentación de los eventos.
-
Conexión: En el modo tradicional, la conexión al WebSocket requiere el uso de
/nombre_instanciaen la URL:
Conexión al WebSocket
Modo Global
En el modo global, la URL de conexión es más simple y no requiere el nombre de la instancia:Modo Tradicional
En el modo tradicional, utilice el siguiente formato de URL:api.susitio.com por el dominio real de su API y nombre_instancia por el nombre de su instancia específica.
Ejemplo de Establecimiento de Conexión WebSocket
Aquí hay un ejemplo básico de cómo establecer una conexión WebSocket usando JavaScript:nombre_evento por el evento específico que desea escuchar.
Manejo de Eventos
Una vez conectado, puede escuchar varios eventos emitidos por el servidor. Cada evento puede transportar datos relevantes para el contexto del evento. Por ejemplo, si está escuchando actualizaciones de mensajes, puede recibir datos que contengan el contenido del mensaje actualizado y metadatos.Cierre de la Conexión
Para cerrar la conexión WebSocket, utilice el métododisconnect: