Cotización en tiempo real
Este evento es emitido por el backend vía WebSocket para enviar actualizaciones en tiempo real del precio de criptomonedas, utilizando el WebSocket público de Bybit como fuente.
📤 Emisor
El evento es emitido por el gateway WebSocket del backend desde la clase BybitListenerService:
this.clientSocket.emitEvent('quote_update', quote);
📦 Payload
El evento contiene la cotización actualizada de un par de criptomonedas.
Formato del payload
{
"symbol": "BTCUSDT",
"price": "67890.12",
"timestamp": 1718655910000
}
| Campo | Tipo | Descripción |
|---|---|---|
symbol | string | Par de trading, ej: BTCUSDT, ETHUSDT |
price | string | Precio actual del par |
timestamp | number | Epoch (milisegundos) en el momento del evento |
🧑💻 Cómo escucharlo (Frontend)
Ejemplo usando socket.io-client en JavaScript:
import { io } from 'socket.io-client';
const socket = io('https://tu-backend.com'); // URL de tu servidor
socket.on('quote_update', (data) => {
console.log(`[${data.symbol}] Nuevo precio: $${data.price}`);
// Actualiza el DOM o el estado de la app aquí
});
🔁 Frecuencia de actualización
Las actualizaciones se reciben en tiempo real, cada vez que el precio cambia para los símbolos suscritos. La frecuencia depende de la actividad del mercado.
🧾 Símbolos disponibles
Actualmente, el backend está suscrito a los siguientes símbolos:
- BTCUSDT
- ETHUSDT
- SOLUSDT
- BNBUSDT
- ADAUSDT
- XRPUSDT
⚠️ Si necesitas otro par, contacta al equipo de backend para agregarlo a la suscripción.
⚠️ Consideraciones
- El evento puede recibirse varias veces por segundo en períodos de alta volatilidad.
- Implementa control de rendimiento si actualizas visualizaciones en tiempo real.
- Si el cliente pierde conexión, implementa lógica de reconexión automática.
🛠️ Extensibilidad
Puedes agregar nuevos símbolos desde el backend (BybitListenerService). El frontend no requiere cambios adicionales para recibir nuevos pares: el evento quote_update seguirá enviándose con el symbol correspondiente.