Miroslav Holec

Software & Cloud Architect

miroslavholec.cz / blog / fio-banka-sdk-pro-csharp-nuget-package

FIO Banka SDK pro C# + NuGet package

Miroslav Holec

Miroslav Holec

Publikován 21. února 2016 , aktualizace: 29. března 2016

Ještě před pár lety by se nad nadpisem tohoto článku leckdo pousmál. Dnes je to realita. FIO banka už delší dobu poskytuje zdarma ke svému bankovnictví API. A od dnešního dne je k dispozici i první verze SDK, určená pro čtení dat (účtu a transakcí).

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ě. S deserializací už nicméně nemusíte ztrácet čas:

FIO Banka SDK for C#, Nuget Package v1.0

Je mi 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 je nyní zveřejněno pod open-source licencí MIT a společně s ním je dostupné i ve formě NuGet balíčku pro .NET 4.5 a novější.

nuget

PM> Install-Package FioSdk

Easy to use

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);

V příštím release bude již dostupné i zapisování transakcí směrem do banky.

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

Potřebujete pomoci?

Líbil se Vám článek? Máte dotaz nebo chcete v této oblasti s něčím pomoci? Neváhejte se na mě obrátit.

mirek@miroslavholec.cz

  • Řešení vývojářských problémů
  • Konzultace
  • Firemní školení a workshopy