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

Клиентские библиотеки

finlight публикует восемь официальных клиентских библиотек. Каждая из них охватывает тот же набор возможностей REST, WebSocket и вебхуков, что описан на остальных страницах, поэтому вы можете выбрать библиотеку под свой стек вместо того, чтобы писать HTTP-вызовы вручную.

ЯзыкПакетТребованияСтриминг
TypeScript / JavaScriptfinlight-client (npm)Node.jsДа
Pythonfinlight-client (PyPI)Python 3.7+Да
Gogithub.com/callbk/finlight-client-goGo 1.23+Да
.NET / C#Finlight.Client (NuGet).NET 8+Да
Java / Kotlinme.finlight:finlight-client (Maven)Java 17+Да
PHPfinlight/client (Packagist)PHP 8.1+Нет
Rubyfinlight-client (RubyGems)Ruby 3.2+Да
Rustfinlight-client (crates.io)Rust 1.85+Да

Что даёт каждый клиент

Библиотеки построены по одной и той же спецификации, поэтому смена языка не меняет понятий, с которыми вы работаете:

  • REST: поиск статей, получение отдельной статьи по ссылке и список доступных источников — см. Эндпоинты.
  • Стриминг в реальном времени: как расширенная, так и необработанная лента WebSocket, представленная в виде идиоматичного для языка потокового типа (асинхронные итераторы, каналы, Stream). Переподключения, поддержание связи через ping/pong и упреждающая ротация соединений выполняются за вас — см. Основы WebSocket.
  • Отказоустойчивость: повторные попытки с экспоненциальной задержкой при ответах 429 и 5xx, поэтому временные сбои и лимиты запросов не проявляются в вашем коде как ошибки.
  • Проверка вебхуков: проверка подписи HMAC-SHA256 с защитой от повторов, соответствующая разделу Аутентификация вебхуков.
  • Аутентификация: вы передаёте свой ключ API в конструктор, и клиент отправляет его в заголовке X-API-KEY при каждом запросе.

Библиотеки не имеют никаких привилегий: всё, что они делают, доступно по обычному HTTP и WebSocket, поэтому cURL или любой другой HTTP-клиент остаётся полностью поддерживаемым вариантом.


Установка

Каждый клиент читает ваш ключ API из конструктора и отправляет его в заголовке X-API-KEY. Получите ключ в панели управления finlight.

Установка

# npm — также публикуется в JSR как @finlight/client
npm install finlight-client

Если вы собираете проект с помощью Maven, а не Gradle, объявите ту же координату:

<dependency>
    <groupId>me.finlight</groupId>
    <artifactId>finlight-client</artifactId>
    <version>0.1.0</version>
</dependency>

Репозитории исходного кода

Каждый клиент разрабатывается открыто под лицензией MIT. Issues и pull requests приветствуются.

Что дальше?