Altairis.FioBankApi 1.2.0

dotnet add package Altairis.FioBankApi --version 1.2.0                
NuGet\Install-Package Altairis.FioBankApi -Version 1.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Altairis.FioBankApi" Version="1.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Altairis.FioBankApi --version 1.2.0                
#r "nuget: Altairis.FioBankApi, 1.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Altairis.FioBankApi as a Cake Addin
#addin nuget:?package=Altairis.FioBankApi&version=1.2.0

// Install Altairis.FioBankApi as a Cake Tool
#tool nuget:?package=Altairis.FioBankApi&version=1.2.0                

Knihovna FioBanka-API

This is API for reading list of transactions of Czech bank Fio Banka. The documentation is in Czech, as I expect the audience to know the language.

However, the API itself is in English and contains XML comments in English. Also, it's pretty simple and I believe also quite self-explanatory.

Klient pro načítání seznamu pohybů z API bankovnictví Fio banky.

Instalace

NuGet Status

Knihovna je k dispozici na NuGetu jako balíček Altairis.FioBankApi.

Právní doložky

API reference

  • Logika pojmenování i chování metod vychází z (ne vždy zcela srozumitelné) logiky API Fio banky.
  • Pokud API vrátí chybu, vyhodí příslušná metoda HttpRequestException.
  • Všechny metody jsou asynchronní a vracejí Task nebo Task<T>.

Třída FioClient

Pro načtení dat z API slouží metody třídy FioClient. Tato třída má jeden konstruktor, který jako argument dostává token, přístupový token k API.

Tato třída spravuje instanci System.Net.Http.HttpClient. Vzhledem k předpokládanému režimu použití (API bude voláno relativně zřídka a ne z několika vláken současně) nepředpokládám problémy popsané v článku HttpClient Guidelines for .NET. Postačuje před použitím vytvořit instanci a po použití ji zase zlikvidovat.

Metoda GetTransactions

Načte seznam transakcí za zvolené období. Všechny overloady jsou asynchronní a vracejí Task<TransactionList>.

  • GetTransactions() - vrací seznam transakcí od poslední zarážky.
  • GetTransactions(DateOnly dateBegin) - vrací seznam transakcí od určitého data.
  • GetTransactions(DateOnly dateBegin, DateOnly dateEnd) - vrací seznam transakcí od-do určitého data.

Na volání této metody je uplatňován rate limiting a mezi jednotlivými voláními musí být přestávka nejméně 30 sekund. Jinak je vrácen stavový kód 409 Conflict a vyhozena HttpRequestException. Typické ošetření tohoto stavu:

try {
    var tl = await api.GetTransactions();
    Console.WriteLine($"OK, account IBAN {tl.Iban}");
} catch (HttpRequestException ex) when (ex.StatusCode == System.Net.HttpStatusCode.Conflict) {
    Console.WriteLine("Too many requests - API supports only one request per 30 seconds.");
}

Metoda SetCursor

Nastaví zarážku na určenou hodnotu. Je asynchronní a vrací Task.

  • SetCursor(string lastKnownId) - nastaví zarážku na ID posledního úspěšně načteného pohybu.
  • SetCursor(DateOnly lastFailedDate) - nastaví zarážku na datum posledního neúspěšně načteného dne.

Třída TransactionList

Obsahuje informace o seznamu transakcí (pohybů).

Vlastnost Typ Význam
AccountId string Číslo účtu
BankId string Kód platebního styku (kód banky)
Currency string Kód měny (např. CZK)
Iban string Číslo účtu ve formátu IBAN
BIC string Kód banky ve formátu BIC
IdFrom string ID první transakce v seznamu
IdTo string ID poslední transakce v seznamu
OpeningBalance decimal Počáteční zůstatek (za období v seznamu)
ClosingBalance decimal Konečný zůstatek (za období v seznamu)
DateStart DateOnly Počáteční datum
DateEnd DateOnly Konečné datum
IdLastDownload string? ID posledního staženého pohybu; je null při volání s určenými datumy
Items ICollection<TransactionInfo> Seznam pohybů

Record TransactionInfo

Obsahuje informaci o konkrétní transakci (pohybu).

Vlastnost Typ Význam
Id string ID pohybu
Date DateOnly Datum
Amount decimal Částka
Currency string Kód měny (např. CZK)
OtherAccountNumber string Číslo protiúčtu
OtherAccountName string Název protiúčtu
OtherAccountBankCode string Kód platebního styku (kód banky) protiúčtu
OtherAccountBankName string Název banky protiúčtu
KS string Konstantní symbol
VS string Variabilní symbol
SS string Specifický symbol
UserIdentification string Uživatelská identifikace
MessageForRecipient string Zpráva pro příjemce
Type string Typ operace
Person string Osoba, která operaci provedla
Details string Detaily operace
Comments string Poznámka
BIC string BIC kód banky protiúčtu
OrderId string ID příkazu
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.0 116 5/31/2024
1.1.0 154 2/5/2024
1.0.0 231 1/22/2023