Saltar al contenido principal
Bienvenido a la documentación de la API WebSocket de Benzinga. Esta guía le ayudará a empezar a acceder a los flujos de datos en tiempo real de Benzinga, lo que le permitirá suscribirse a actualizaciones continuas de datos financieros, incluidas cotizaciones de mercado en vivo, operaciones, noticias y otra información clave.

Endpoint de WebSocket

Todas las conexiones WebSocket pueden establecerse mediante el siguiente endpoint:
wss://api.benzinga.com

Autenticación

La API WebSocket de Benzinga requiere autenticación Bearer. Al iniciar una conexión WebSocket, incluye tu token de API en la URL de conexión como parámetro de consulta en el siguiente formato: debes incluir tu token de API en el parámetro de consulta token con el formato token: <token>. Consulta la página de Autenticación para obtener más información sobre cómo obtener y administrar tu token de API.

Suscripción a streams

Una vez conectado, puedes suscribirte a streams de datos específicos según tus necesidades, como cotizaciones de acciones, datos de negociación o actualizaciones de noticias. Cada suscripción requiere un identificador único y parámetros específicos según el tipo de datos.

Ejemplo de mensaje de suscripción

Para suscribirse a un flujo de cotizaciones de acciones en tiempo real, envíe un mensaje JSON con el siguiente formato:
{
  "action": "subscribe",
  "symbol": "AAPL",
  "type": "quote"
}

Mecanismo de latido

Para mantener una conexión estable y garantizar que el cliente y el servidor sigan sincronizados, la API WebSocket de Benzinga incluye un mecanismo de latido.

Heartbeat en el lado del cliente

  • Si envías un mensaje ping como un frame de texto sin formato (por ejemplo, la string “ping”), el servidor responderá con un mensaje pong como texto sin formato (por ejemplo, la string “pong”).
  • Esto se puede usar para verificar que la conexión sigue activa y es receptiva.

Ejemplo

  • El cliente envía: ping
  • El servidor responde: pong

Heartbeat del lado del servidor

  • El servidor enviará automáticamente un frame de ping al cliente cada 10 segundos para asegurarse de que la conexión se mantenga activa.
  • Se espera que el cliente responda a este frame de ping (la mayoría de las bibliotecas de WebSocket lo manejan automáticamente).

Manejo de latidos (heartbeats)

  • La mayoría de las librerías cliente WebSocket (por ejemplo, las de JavaScript, Python o Go) manejan automáticamente los pings entrantes del servidor y responden con un pong.
  • Sin embargo, si estás implementando un cliente WebSocket personalizado, asegúrate de que responda correctamente a las tramas de ping del servidor para evitar que la conexión se cierre.

Limitación de tasa

Tenga en cuenta que la API de Benzinga tiene límites de tasa para evitar abusos y garantizar la estabilidad del servicio. Solo se permite 1 conexión por token de API a la vez. Si excede el límite de tasa, recibirá una respuesta de error.
Esperamos que esta guía le ayude a comenzar con las API de Benzinga. Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de soporte.