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 💜