RU | English
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)
Для аутентификации на Московской Бирже необходимо следующее.
Установить пакет 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.
Made with love by Kataane 💜