- Accounts list and balance
- Transaction overview (also for saving accounts)
- Payments import
- Statement list and download
- FX rates
Before making a call to Premium API, you need to register your app at our Developer portal. This is where you get the ClientID that your application must send in the request as X-IBM-Client-Id. This is the key that grants your app access to the API.
However, this may not be enough. Your application needs to use mTLS to call most operations here. Thus, you not only need https but also a client certificate issued by us. The exception is two operations for FX rates that are accessible also without a client certificate.
Each bank client/user can issue several certificates. Each certificate can permit different sets of operations (http methods) on different bank accounts. All this must be configured in Internet Banking first by each bank client/user (bank clients need to look under Settings and do not forget to download the certificate at the last step). The certificate is downloaded in PKCS#12 format as \*.p12 file and protected by a password chosen by the bank client/user. Yes, your app needs the password as well to get use of the *\p12 file for establishing mTLS connection to the bank.
Client certificates issued in Internet Banking for bank clients/users have limited validity (e.g. 5 years). However, each year certificates are automatically blocked and bank client/user must unblock them in Internet Banking. It is possible to do it in advance and prolong the time before the certificate is blocked. Your app should be prepared for these scenarios and it should communicate such cases to your user in advance to provide seamless service and high user-experience of your app.
The number of requests in each API operation is limited to 10 per client per sliding second and 5000 per client per sliding day. The exception is the 'Download Statement' operation with the limits lowered to 5 per client per sliding second and 1500 per client per sliding day. This is because it transports potentially sizeable binary files. The consumer must be able to handle HTTP status 429 in case of exceeding these limits.
Response headers X-RateLimit-Limit-Second and X-RateLimit-Limit-Day show the actual limits configured for the specific operation. Response headers X-RateLimit-Remaining-Second and X-RateLimit-Remaining-Day are returned to help prevent the limits from being exceeded.
Be aware, that in certain error situations, API can return specific error structures along with 5xx status code, which is not explicitely defined below.
Feel free to download a <a href="assets/PremiumApiClient.java" download>simple Java client that gives you quick access to our API.
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 1.1.20240910
- Package version: 1.0.0
- Generator version: 7.13.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
Python 3.9+
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/Vitexus/python-rbczpremiumapi.git(you may need to run pip with root permission: sudo pip install git+https://github.com/Vitexus/python-rbczpremiumapi.git)
Then import the package:
import rbczpremiumapiInstall via Setuptools.
python setup.py install --user(or sudo python setup.py install to install the package for all users)
Then import the package:
import rbczpremiumapiExecute pytest to run the tests.
Please follow the installation procedure and then run the following:
import rbczpremiumapi
from rbczpremiumapi.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.rb.cz
# See configuration.py for a list of all supported configuration parameters.
configuration = rbczpremiumapi.Configuration(
host = "https://api.rb.cz"
)
# Enter a context with an instance of the API client
with rbczpremiumapi.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = rbczpremiumapi.DownloadStatementApi(api_client)
x_ibm_client_id = 'x_ibm_client_id_example' # str | ClientID obtained from Developer Portal - when you registered your app with us.
x_request_id = 'x_request_id_example' # str | Unique request id provided by consumer application for reference and auditing.
accept_language = 'accept_language_example' # str | The Accept-Language request HTTP header is used to determine document language. Supported languages are `cs` and `en`.
request_body = rbczpremiumapi.DownloadStatementRequest() # DownloadStatementRequest |
psu_ip_address = 'psu_ip_address_example' # str | IP address of a client - the end IP address of the client application (no server) in IPv4 or IPv6 format. If the bank client (your user) uses a browser by which he accesses your server app, we need to know the IP address of his browser. Always provide the closest IP address to the real end-user possible. (optional)
try:
api_response = api_instance.download_statement(x_ibm_client_id, x_request_id, accept_language, request_body, psu_ip_address=psu_ip_address)
print("The response of DownloadStatementApi->download_statement:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling DownloadStatementApi->download_statement: %s\n" % e)All URIs are relative to https://api.rb.cz
| Class | Method | HTTP request | Description |
|---|---|---|---|
| DownloadStatementApi | download_statement | POST /rbcz/premium/api/accounts/statements/download | |
| GetAccountBalanceApi | get_balance | GET /rbcz/premium/api/accounts/{accountNumber}/balance | |
| GetAccountsApi | get_accounts | GET /rbcz/premium/api/accounts | |
| GetBatchDetailApi | get_batch_detail | GET /rbcz/premium/api/payments/batches/{batchFileId} | |
| GetFxRatesApi | get_fx_rates | GET /rbcz/premium/api/fxrates/{currencyCode} | |
| GetFxRatesListApi | get_fx_rates_list | GET /rbcz/premium/api/fxrates | |
| GetStatementListApi | get_statements | POST /rbcz/premium/api/accounts/statements | |
| GetTransactionListApi | get_transaction_list | GET /rbcz/premium/api/accounts/{accountNumber}/{currencyCode}/transactions | |
| UploadPaymentsApi | import_payments | POST /rbcz/premium/api/payments/batches |
- CurrencyListSimple
- DownloadStatementRequest
- ExchangeRate
- ExchangeRateList
- GetAccounts200Response
- GetAccounts200ResponseAccountsInner
- GetBalance200Response
- GetBalance200ResponseCurrencyFoldersInner
- GetBalance200ResponseCurrencyFoldersInnerBalancesInner
- GetBalance401Response
- GetBalance403Response
- GetBalance404Response
- GetBalance429Response
- GetBatchDetail200Response
- GetBatchDetail200ResponseBatchItemsInner
- GetBatchDetail200ResponseBatchItemsInnerAccountInfo
- GetBatchDetail400Response
- GetStatements200Response
- GetStatements200ResponseStatementsInner
- GetStatements400Response
- GetStatementsRequest
- GetTransactionList200Response
- GetTransactionList200ResponseTransactionsInner
- GetTransactionList200ResponseTransactionsInnerAmount
- GetTransactionList200ResponseTransactionsInnerBankTransactionCode
- GetTransactionList200ResponseTransactionsInnerEntryDetails
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetails
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsInstructedAmount
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsReferences
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedParties
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedPartiesCounterParty
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedPartiesCounterPartyAccount
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedPartiesCounterPartyOrganisationIdentification
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedPartiesCounterPartyOrganisationIdentificationPostalAddress
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedPartiesCounterPartyPostalAddress
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedPartiesIntermediaryInstitution
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedPartiesIntermediaryInstitutionPostalAddress
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRelatedPartiesUltimateCounterParty
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRemittanceInformation
- GetTransactionList200ResponseTransactionsInnerEntryDetailsTransactionDetailsRemittanceInformationCreditorReferenceInformation
- GetTransactionList400Response
- ImportPayments200Response
- ImportPayments400Response
- ImportPayments413Response
- ImportPayments415Response
Endpoints do not require authorization.