Download the PHP package vitexsoftware/rbczpremiumapi without Composer

On this page you can find all versions of the php package vitexsoftware/rbczpremiumapi. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package rbczpremiumapi

Raiffeisenbank Premium API client library

Packaging: deb

php client library for rbczpremiumapi

Installation & Usage

Requirements

Should with PHP 8+.

Composer

To install the bindings via Composer, add the following to composer.json:

Then run composer install

Manual Installation

Download the files and include autoload.php:

Getting Started

Example environment or contents of .env file for basic library configuration

Set the RBAPI_RATE_LIMIT_JSON_FILE to override default /tmp/rbczpremiumapi_rates.json

Set the RBAPI_RATE_LIMIT_LOCK_DIR to override the default directory (system temp dir) used for the per-certificate lock files that serialize concurrent requests.

When the RBAPI_RATE_WAIT_MODE is not set, the RateLimitExceededException is throwed. The 'true' value waits for the window to reset, up to RBAPI_RATE_MAX_WAIT_SECONDS (see below).

RateLimitExceededException extends ApiException, so any code that already catches ApiException around API calls catches rate-limit errors too, with getCode() === 429.

Set RBAPI_RATE_MAX_WAIT_SECONDS (default 300) to cap how long wait mode will ever sleep() for. The day-window reset can be up to 24h away; without a cap, wait mode would block the caller for that long. When the required wait exceeds this cap, RateLimitExceededException is thrown instead, even in wait mode.

Set RBAPI_GLOBAL_RATE_LIMIT_PER_SECOND (or pass global_rate_limit_per_second in the client config) to cap requests per second host-wide, across all certificates sharing the rate limit store — not just the one making the current request. This is disabled by default (0). It exists because RB's rate-limit response headers only ever report the remaining quota for the certificate that made the request: if the gateway enforces a shared limit above the per-certificate level (e.g. per source IP or per account-holder), many certificates can each still show plenty of per-certificate headroom while collectively exceeding that shared limit — none of them can see it coming from the headers alone. This setting is a client-side, self-tracked cap (counted by the library itself, not derived from RB's headers) rather than a fix for a specific documented RB limit, so pick a conservative value for your deployment.

Please follow the installation procedure and then run the following:

API Endpoints

All URIs are relative to https://api.rb.cz

Class Method HTTP request Description
DownloadStatementApi downloadStatement POST /rbcz/premium/api/accounts/statements/download
GetAccountBalanceApi getBalance GET /rbcz/premium/api/accounts/{accountNumber}/balance
GetAccountsApi getAccounts GET /rbcz/premium/api/accounts
GetBatchDetailApi getBatchDetail GET /rbcz/premium/api/payments/batches/{batchFileId}
GetFxRatesApi getFxRates GET /rbcz/premium/api/fxrates/{currencyCode}
GetFxRatesListApi getFxRatesList GET /rbcz/premium/api/fxrates
GetStatementListApi getStatements POST /rbcz/premium/api/accounts/statements
GetTransactionListApi getTransactionList GET /rbcz/premium/api/accounts/{accountNumber}/{currencyCode}/transactions
UploadPaymentsApi importPayments POST /rbcz/premium/api/payments/batches

Models

Authorization

All endpoints do not require authorization.

Rate Limiting

This library implements a rate limiting mechanism in the VitexSoftware\Raiffeisenbank\RateLimit namespace. It automatically tracks and respects API rate limits using response headers, and can pause or throw exceptions if limits are exceeded.

ApiClient::send() recovers the HTTP response from Guzzle's RequestException on 4xx/5xx status codes (Guzzle's default http_errors behavior would otherwise throw before the 429 handling ever runs), so a 429 always reaches the rate-limit logic instead of leaking a raw Guzzle exception.

Rate limits are enforced per certificate. Since several independent processes (e.g. one per bank account under the same company certificate) can call the API concurrently using the same certificate, ApiClient::send() serializes the whole check-send-update cycle per certificate fingerprint with an exclusive file lock (RateLimiter::acquireLock()/releaseLock()), preventing concurrent processes from racing past each other's stale rate-limit counters and all landing in the same request window.

Per-certificate enforcement has a blind spot: it can't see a rate limit the gateway enforces above the certificate level (e.g. per source IP or per account-holder), since RB's response headers only ever report the calling certificate's own remaining quota. RateLimiter::checkGlobalBeforeRequest() closes that gap with an opt-in, self-tracked host-wide cap (RBAPI_GLOBAL_RATE_LIMIT_PER_SECOND, see above) — counted locally by the library across all certificates sharing the store, independent of what any single certificate's headers report.

The rate limiting mechanism ensures compliance with the API's restrictions and helps prevent accidental overuse. See the source code in lib/RateLimit/ for details and extension options.

Tests

To run the tests, use:

Author

[email protected]

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

Library is Used by:


All versions of rbczpremiumapi with dependencies

PHP Build Version
Package Version
Requires php Version >= 8.1
ext-curl Version *
ext-json Version *
ext-mbstring Version *
guzzlehttp/guzzle Version ^7.4
guzzlehttp/psr7 Version ^1.8 || ^2.4
vitexsoftware/ease-core Version ^1.49
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package vitexsoftware/rbczpremiumapi contains the following files

Loading the files please wait ...