Skip to main content

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
}
CampoTipoDescripción
symbolstringPar de trading, ej: BTCUSDT, ETHUSDT
pricestringPrecio actual del par
timestampnumberEpoch (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.