Cotización en tiempo real
Evento emitido por el backend vía WebSocket para enviar actualizaciones en tiempo real del precio de criptomonedas, utilizando Bybit como fuente de datos.
📈 Cotizaciones en tiempo real
Este evento permite a los clientes recibir el precio actualizado de pares de criptomonedas en tiempo real, sin necesidad de realizar polling.
📤 Emisor del evento
Origen del evento
El evento es emitido por el gateway WebSocket del backend, desde la clase
BybitListenerService.
this.clientSocket.emitEvent('quote_update', quote);
📦 Evento quote_update
quote_update
Evento emitido cada vez que se detecta un cambio de precio en alguno de los símbolos suscritos.
📋 Payload del evento
Formato del payload
{
"symbol": "BTCUSDT",
"price": "67890.12",
"timestamp": 1718655910000
}
Descripción de campos
| Campo | Tipo | Descripción |
|---|---|---|
symbol | string | Par de trading (ej: BTCUSDT, ETHUSDT) |
price | string | Precio actual del par |
timestamp | number | Epoch en milisegundos cuando se emitió el evento |
🧑💻 Cómo escucharlo (Frontend)
Ejemplo con socket.io-client
Ejemplo de cómo escuchar el evento desde el frontend usando JavaScript.
import { io } from 'socket.io-client';
const socket = io('https://tu-backend.com'); // URL del backend
socket.on('quote_update', (data) => {
console.log(`[${data.symbol}] Nuevo precio: $${data.price}`);
// Actualizar estado o UI aquí
});
🔁 Frecuencia de actualización
Frecuencia
Las actualizaciones se envían cada vez que el precio cambia para los símbolos suscritos. La frecuencia depende directamente de la actividad del mercado.
🧾 Símbolos disponibles
Símbolos actualmente suscritos
BTCUSDTETHUSDTSOLUSDTBNBUSDTADAUSDTXRPUSDT
Si se requiere un nuevo par, debe agregarse desde el backend en
BybitListenerService. El frontend no requiere cambios para recibir nuevos símbolos.
⚠️ Consideraciones de implementación
Notas importantes
- El evento puede recibirse varias veces por segundo en momentos de alta volatilidad.
- Se recomienda optimizar renders en UI (throttling / batching).
- Implementar reconexión automática si se pierde la conexión WebSocket.
- El precio se envía como string para preservar precisión decimal.
🔧 Extensibilidad
Extensión del servicio
El backend puede ampliar la lista de símbolos sin modificar el contrato del evento.
El evento quote_update seguirá siendo el mismo para cualquier nuevo par.