Эта страница переведена машинным способом. Английская версия является источником и может быть точнее или новее. Открыть на английском

Быстрый старт

WebSocket API finlight.me позволяет получать финансовые новостные статьи в реальном времени по мере их публикации. В отличие от REST API, который требует периодического опроса для получения новых данных, WebSocket API отправляет вам вновь опубликованные статьи в реальном времени, поддерживая вашу актуальность без повторных запросов.

  • Обновления в реальном времени: после подключения вы сначала получаете самую свежую статью, соответствующую вашему запросу. Затем любые вновь опубликованные статьи, соответствующие запросу, отправляются автоматически.
  • Непрерывная потоковая передача: оставайтесь подключёнными столько, сколько нужно. Каждый тариф включает фиксированное число параллельных WebSocket-подключений, которые могут оставаться открытыми весь месяц. Оплаты по использованию нет — вы ограничены только числом одновременных подключений, разрешённых вашим тарифом.
  • Анализ тональности: статьи сопровождаются данными о тональности, помогая быстро оценить настроение рынка.

Зарегистрируйтесь и получите бесплатный ключ API

Если вы ещё этого не сделали, зарегистрируйтесь в панели finlight, чтобы получить бесплатный ключ API. Этот ключ будет использоваться для аутентификации вашего WebSocket-подключения, как и в REST API.

Выберите клиент

Для подключения к WebSocket API finlight.me вы можете использовать наши клиентские библиотеки для Node.js или Python. Эти библиотеки упрощают обработку подключения, аутентификации и механизмов поддержания соединения (ping/pong).

# Install the Node.js client library via npm
npm install finlight-client

Подключитесь и получайте статьи в реальном времени

С ключом API и выбранным клиентом вы теперь можете установить WebSocket-подключение. При подключении вы сразу получите самую свежую статью, соответствующую вашему запросу, а затем новые статьи по мере их поступления. Клиентские библиотеки обрабатывают за вас аутентификацию и механизм поддержания соединения ping/pong.

WebSocket
wss://wss.finlight.me
import { FinlightApi } from 'finlight-client'

const client = new FinlightApi({
  apiKey: 'YOUR_API_KEY',
})

client.websocket.connect(
  { query: 'nvidia', language: 'en' },
  (article) => {
    console.log('New article received:', article)
  },
)

Это подключение остаётся открытым столько, сколько вам нужно, непрерывно доставляя новые статьи, соответствующие вашему запросу. Помните, что оплата основана на длительности подключения, поэтому не забывайте отключаться, когда обновления больше не нужны.

Управление лимитами подключений

Каждый тариф включает фиксированное число параллельных WebSocket-подключений. Если вы достигли лимита и пытаетесь открыть ещё одно подключение, вы можете включить опцию takeover, чтобы автоматически закрыть самое старое подключение:

import { FinlightApi } from 'finlight-client'

const client = new FinlightApi(
  {
    apiKey: 'YOUR_API_KEY',
  },
  {
    // WebSocket-specific options
    takeover: true, // Automatically close oldest connection when limit is reached (default: false)
  },
)

client.websocket.connect(
  { query: 'nvidia', language: 'en' },
  (article) => {
    console.log('New article received:', article)
  },
)

При takeover: true, если вы достигли лимита подключений, новое подключение автоматически заменит самое старое существующее. Это удобно во время разработки или при повторном развёртывании приложений. В продакшене вы, возможно, захотите оставить значение по умолчанию (takeover: false), чтобы сохранить явный контроль над своими подключениями.

Что дальше?

Теперь, когда вы успешно подключились к WebSocket API и получили статьи в реальном времени, вот несколько следующих шагов, которые могут оказаться полезными:

  • Изучите фильтрацию по source или запросы extended, чтобы уточнить получаемые статьи.
  • При необходимости настройте параметры query, чтобы отслеживать разные компании, индексы или финансовые темы.
  • Просматривайте своё использование и минуты подключения в панели finlight, чтобы оставаться в пределах лимитов бесплатного тарифа.