/Fiss

Библиотека для строго-типизированного взаимодействия с MOEX ISS

Primary LanguageC#MIT LicenseMIT

RU | English

Fiss

Fiss - библиотека для строго-типизированного взаимодействия с MOEX ISS.

📥 Установка

Установить можно Fiss через NuGet:

Install-Package Fiss

Или через .NET Core command line interface:

dotnet add package Fiss

🔧 Использование

Чтобы начать использовать Fiss необходимо создать IssRequest:

var request = new IssRequest();

Далее необходимо определить путь запроса к ISS MOEX:

var request = request.Engines(Engine.Stock).Markets();

Или

var path = "engines/stock/markets".Split("/");
request.AddPaths(path);

И даже так:

request.AddPathFromFormattedQuery(IssQuery.Acss, "MOEX");

Добавляем параметры к запросу:

request.AddQuery("lang", "en");

Ответ можно получить так:

await request.ConvertToAsync<TResult>(IHttpContentSerializer, HttpClient, CancellationToken);

Если данных много, можно получить так:

var cursor = await request.ToCursor<TResult>(IHttpContentSerializer, cursorTitle, index, total, PageSize, HttpClient, CancellationToken);

Или так

var cursor = await request.ToCursor();

А потом

await foreach (var page in cursor)

🛂 Passport MOEX

Для аутентификации на Московской Бирже необходимо следующее.

Установить пакет Fiss.Client

Install-Package Fiss.Client

Или через .NET Core command line interface:

dotnet add package Fiss.Client

Вызвать для IServiceCollection расширение AddMoexPassportClient

collection.AddMoexPassportClient("NameForMoexPassportClient", IConfigurationSection);

где NameForMoexPassportClient уникальное имя для клиента. IConfigurationSectionконфигурация где хранятся данные для аутентификации на Московской Бирже.

Далее необходимо получить именованный клиент:

var client = IHttpClientFactory.CreateClient("NameForMoexPassportClient");

Далее с помощью этого клиента можно запрашивать данные, которые требуют авторизацию.

MoexPassportClient хранить в себе всегда актуальный токен для авторизации, даже если токен протухнет. MOEX заботливо выдаст новый токен авторизации и клиент снова станет валидным.

Вуаля! Теперь можно запрашивать любые, даже не задокументированные или требующие авторизацию, данные из MOEX.

📝 License

The MIT License (MIT)

Made with love by Kataane 💜