Konzultační snídaně Stavíme RESTová API v ASP.NET Core Code Review ASP.NET Core aplikace zdarma

Uvolnil jsem novou verzi FioSDK v2.1.1

Před více než dvěma lety jsem napsal knihovnu FioSdk, která usnadňuje dotazování na bankovní transakce ve FIO Bance. SDK prošlo několika aktualizacemi, které bych chtěl shrnout v tomto článku.

Miroslav Holec

Miroslav Holec

software architect

2. října. 2018

FIO banka API

API může mít v dnešní době celou řadu podob. FIO banka v tomto ohledu zvolila cestu jednoduchého použití za cenu nižší bezpečnosti a určitých omezení z hlediska funkčnosti. Pokud nicméně potřebujete programově spravovat účet a znáte základní pravidla bezpečnosti, pak právě pro Vás FIO nabízí velmi jednoduché rozhraní pro rychlé získání přehledu o stavu účtu a transakcích.

Pro práci s API je potřeba pouze přístupový token, který je možné vygenerovat v internetovém bankingu FIO. Tento token může mít buď práva pro čtení nebo i pro zápis. Generovanému tokenu můžete nastavit libovolnou životnost (doporučuji důkladně zvážit).

Získaný token následně umožňuje sestavit URL ve tvaru

https://www.fio.cz/ib_api/rest/periods/{TOKEN}/{DATE_FROM}/{DATE_TO}/transactions.{FORMAT}

a získat tak přehled o stavu účtu. Přestože je k dispozici celá řada formátů, pro programové zpracování (např.: hledání konkrétních transakcí) je vhodné mít data v objektové formě. Proto jsem napsal FioSdk.

FIO Banka SDK for C# v2.1.1

Před dvěma lety mi bylo potěšením oznámit zveřejnění jednoduchého SDK, s jehož pomocí lze snadno komunikovat s API Fio Banky a získat přehled o bankovních transakcích v čistě objektové formě. SDK prošlo za poslední dva roky rozvojem a od verze 2.0.0 podporuje .NET Standard 1.3. Díky tomu lze SDK použít v celé řadě .NET / .NET Core aplikací.

Poslední update, verze 2.1.1 navíc podporuje asynchronní volání všech klíčových metod API. SDK je nyní zveřejněno pod open-source licencí MIT na GitHubu i v podobě NuGet balíčku.

PM> Install-Package FioSdk

Ukázky použití

Pro přehled o stavu účtu stačí pouze dva řádky kódu:

ApiExplorer explorer = new ApiExplorer("ACCESS_TOKEN");
AccountStatement statement = explorer.Periods(TransactionFilter.LastMonth());

Pro přesnější výběr období lze použít filtr:

var statement = explorer.Periods(TransactionFilter.LastWeeks(8));

Procházení transakcí je intuitivní

foreach (var transaction in statement.TransactionList.Transactions)
{
    Console.WriteLine(transaction + " - " + transaction.Amount.Value);
}

Data jsou k dispozici i v původních formátech

string html = explorer.Periods(TransactionFilter.LastDays(10), Format.Html);
string xml = explorer.Periods(TransactionFilter.LastDays(10), Format.Xml);
string csv = explorer.Periods(TransactionFilter.LastDays(10), Format.Csv);

FioSDK má na GitHubu dva kontributory a pouze 27 commitů. Na NuGet.org si balíček stáhlo 2280 uživatelů.

A jak s takovým API a SDK naložit? Plánujete nebo už jste něco svého napsali? Pochlubte se v diskusi.

Zeptejte se