Skip to content

Latest commit

 

History

History
198 lines (144 loc) · 11.2 KB

File metadata and controls

198 lines (144 loc) · 11.2 KB

Raiffeisenbank Premium API client library

Library Logo

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:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/VitexSoftware/php-vitexsoftware-rbczpremiumapi.git"
    }
  ],
  "require": {
    "vitexsoftware/php-vitexsoftware-rbczpremiumapi": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/Raiffeisenbank Premium API client library/vendor/autoload.php');

Getting Started

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

CERT_FILE=examples/test_cert.p12
CERT_PASS=test12345678
XIBMCLIENTID=FbboLD2r1WHDRcuKS4wWUbSRHxlDloWL
API_DEBUG=True

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

When the RBAPI_RATE_WAIT_MODE is not set, the RateLimitExceededException is throwed. The 'true' value wait till the next day, to continue.

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');





$apiInstance = new VitexSoftware\Raiffeisenbank\Api\DownloadStatementApi(
    // If you want use custom http client, pass your client which implements 
    // `GuzzleHttp\ClientInterface`.
    // This is optional, Internal `ApiClient` will be used as default.
    // Else you must call setXIBMClientId($lientID) and $this->setSUIPAddress($clientPubIP) 
    // methods to set API call properly      

    new \VitexSoftware\Raiffeisenbank\ApiClient(['clientpubip'=> \VitexSoftware\Raiffeisenbank\ApiClient::getPublicIP() ,'debug'=>true])
);


$xRequestId = 'xRequestId_example'; // string | Unique request id provided by consumer application for reference and auditing.
$acceptLanguage = 'acceptLanguage_example'; // string | The Accept-Language request HTTP header is used to determine document  language. Supported languages are `cs` and `en`.
$requestBody = new \VitexSoftware\Raiffeisenbank\Model\DownloadStatementRequest(); // \VitexSoftware\Raiffeisenbank\Model\DownloadStatementRequest

try {
    $result = $apiInstance->downloadStatement( $xRequestId, $acceptLanguage, $requestBody, $pSUIPAddress);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling DownloadStatementApi->downloadStatement: ', $e->getMessage(), PHP_EOL;
}

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.

  • RateLimiter: Handles rate limit logic and enforces waiting or error on limit exceed.
  • RateLimitStoreInterface: Interface for storing rate limit state per client and window (second/day).
  • SqlDialect: Interface for SQL dialects used in rate limit storage implementations.

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:

composer install
vendor/bin/phpunit

Author

info@vitexsoftware.cz

About this package

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

  • API version: 1.1.20240910
    • Package version: 1.3.1
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen

Library is Used by: