Skip to content

Commit 803699a

Browse files
committed
Updates Statementor to use account UUIDs and improve formatting
Replaces account number-based operations with account UUIDs for better consistency and identification. Adds '@no-named-arguments' annotation for stricter method argument naming. Improves code formatting and fixes minor typos in comments. Enhances debug messages to include statement format for better traceability.
1 parent e3cf227 commit 803699a

File tree

8 files changed

+185
-14
lines changed

8 files changed

+185
-14
lines changed

.openapi-generator/templates/Statementor.mustache

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ namespace SpojeNet\CSas;
1919
* Description of Statementor.
2020
*
2121
* @author vitex
22+
*
23+
* @no-named-arguments
2224
*/
2325
class Statementor extends \Ease\Sand
2426
{
@@ -39,11 +41,11 @@ class Statementor extends \Ease\Sand
3941
private string $scope;
4042
private string $accountNumber = '';
4143
private string $accountUuid = '';
42-
44+
4345
public function __construct(string $accountUuid, string $accountNumber = '', string $scope = '')
4446
{
4547
$this->setAccountUuid($accountUuid);
46-
48+
4749
if ($accountNumber) {
4850
$this->setAccountNumber($accountNumber);
4951
}
@@ -78,12 +80,11 @@ class Statementor extends \Ease\Sand
7880
$apiInstance = new \SpojeNet\CSas\Accounts\DefaultApi();
7981
$page = 0;
8082
$statements = [];
81-
$this->addStatusMessage(sprintf(_('Request statements from %s to %s'), $this->since->format(self::$dateFormat), $this->until->format(self::$dateFormat)), 'debug');
83+
$this->addStatusMessage(sprintf(_('Request %s statements from %s to %s'), $format, $this->since->format(self::$dateFormat), $this->until->format(self::$dateFormat)), 'debug');
8284
8385
try {
8486
do {
85-
86-
$result = $apiInstance->getAccountStatements($this->getAccountNumber(), $this->getSince()->format('Y-m-d'), $this->getUntil()->format('Y-m-d'), $format);
87+
$result = $apiInstance->getAccountStatements($this->getAccountUuid(), $this->getSince()->format('Y-m-d'), $this->getUntil()->format('Y-m-d'), $format);
8788
8889
if ($result->getAccountStatements()) {
8990
$statements = array_merge($statements, $result->getAccountStatements());
@@ -242,9 +243,8 @@ class Statementor extends \Ease\Sand
242243
$this->getAccountNumber().'_'.
243244
$statement->getAccountStatementId().'_'.
244245
$this->currency.'_'.$statement->getDateFrom()->format('Y-m-d').'.'.$format;
245-
246+
246247
$pdfStatementRaw = $apiInstance->downloadAccountStatement($this->getAccountUuid(), $statement->getAccountStatementId(), $format);
247-
248248
249249
if (file_put_contents($saveTo.'/'.$statementFilename, $pdfStatementRaw->fread($pdfStatementRaw->getSize()))) {
250250
$saved[$statementFilename] = $saveTo.'/'.$statementFilename;
@@ -291,11 +291,9 @@ class Statementor extends \Ease\Sand
291291
}
292292

293293
/**
294-
* IBAN=>UUID listing of accounts
294+
* IBAN=>UUID listing of accounts.
295295
*
296-
* @param Accounts\DefaultApi $apiInstance
297-
*
298-
* @return array<string,string>
296+
* @return array<string, string>
299297
*/
300298
public static function getAccountIDs(Accounts\DefaultApi $apiInstance): array
301299
{
@@ -316,10 +314,12 @@ class Statementor extends \Ease\Sand
316314
{
317315
$accountsRaw = $apiInstance->getAccounts()->getAccounts();
318316
$accId = null;
317+
319318
if (isset($accountsRaw) && \is_array($accountsRaw)) {
320319
foreach ($accountsRaw as $account) {
321320
if ($account->getIdentification()->getIban() === $iban) {
322321
$accId = $account->getId();
322+
323323
break;
324324
}
325325
}
@@ -328,10 +328,11 @@ class Statementor extends \Ease\Sand
328328
return $accId;
329329
}
330330

331-
public static function getAccountByIban(Accounts\DefaultApi $apiInstance, string $iban): ?\SpojeNet\CSas\Model\Account
331+
public static function getAccountByIban(Accounts\DefaultApi $apiInstance, string $iban): ?\SpojeNet\CSas\Model\Account
332332
{
333333
$accountsRaw = $apiInstance->getAccounts()->getAccounts();
334334
$account = null;
335+
335336
if (isset($accountsRaw) && \is_array($accountsRaw)) {
336337
foreach ($accountsRaw as $account) {
337338
if ($account->getIdentification()->getIban() === $iban) {
@@ -359,4 +360,5 @@ class Statementor extends \Ease\Sand
359360
return $account;
360361
}
361362

363+
362364
}

doc/Official PHP Logo.svg

Lines changed: 96 additions & 0 deletions
Loading

doc/tutorial-postman-sandbox.cz.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Česká spořitelna: Příručka API
2+
3+
## Obsah
4+
1. Úvod
5+
2. Jak se připojit k API České spořitelny
6+
3. Povolení aplikace do produkční fáze
7+
4. Kdo se může připojit k našemu API
8+
5. Informace pro vývojáře
9+
6. Definice
10+
11+
## Úvod
12+
Děkujeme, že jste si vybrali API České spořitelny. Tento text vám poskytne základní informace o práci s naším API. Česká spořitelna vyvinula API nejen pro ty, kteří mají licenci od České národní banky (ČNB), ale také pro ty, kteří chtějí používat API jako další způsob přístupu ke svým bankovním účtům. Pro více informací nás kontaktujte na emailu: api@csas.cz.
13+
14+
## Jak se připojit k API České spořitelny
15+
Než se připojíte k našemu API, prozkoumejte svět ČS API a kontaktujte tým ČS API na emailu: api@csas.cz. Poté postupujte následovně:
16+
1. Registrujte se na Erste Developer Portal (EDP)
17+
2. Vytvořte aplikaci a vyberte API České spořitelny
18+
3. Generujte testovací API klíč na Sandboxu (testovací prostředí)
19+
4. Vyvíjejte a testujte aplikaci pomocí Sandboxu
20+
5. Požádejte o přístup do produkčního prostředí pro vaši aplikaci
21+
22+
## Povolení aplikace do produkční fáze
23+
Pro povolení aplikace do produkční fáze je třeba projít několika kroky, které se mohou lišit podle API a účelu připojení. Tým ČS API vás provede celým procesem.
24+
25+
## Kdo se může připojit k našemu API
26+
Nabízíme API širokému spektru zákazníků pro různé účely. Rozdělujeme je do dvou základních kategorií:
27+
- Poskytovatelé třetích stran (TPP)
28+
- Koneční uživatelé API (FAC)
29+
30+
## Informace pro vývojáře
31+
32+
### Dokumentace API
33+
34+
Po registraci a interním schválení bankou získáte vzdálený přístup k dokumentaci API. Dokumentace API může obsahovat technické informace o API.
35+
36+
### Testovací prostředí vývojáře
37+
38+
Po získání přístupu k dokumentaci API získáte přístup k našemu Sandboxu, který podporuje až 10 testovacích účtů pro testovací účely.
39+
40+
### Produkční prostředí vývojáře
41+
42+
Prostřednictvím produkčního API může uživatel přistupovat k obsahu a po autentizaci klienta k datům klienta. Produkční API používá jinou sadu přihlašovacích údajů než testovací prostředí API.
43+
44+
### Stažení veřejné části certifikátu
45+
46+
Veřejnou část certifikátu můžete stáhnout na následující URL:
47+
- [public-key-xxxxxx.pem](https://webapi.developers.erstegroup.com/api/csas/sandbox/v1/sandbox-idp/public-key-xxxxxx.pem)
48+
- [private-key-xxxxxx.pem](https://webapi.developers.erstegroup.com/api/csas/sandbox/v1/sandbox-idp/private-key-xxxxxx.pem)
49+
50+
## Definice
51+
52+
- API: webové aplikační programovací rozhraní dostupné registrovaným vývojářům.
53+
- API Call: požadavek uživatele prostřednictvím aplikace na API.
54+
- API dokumentace: jakákoli dokumentace související s API poskytovaná bankou.
55+
- API nástroje: API, API dokumentace a další nástroje a informace o API poskytované bankou.
56+
- Aplikace: softwarová aplikace, webová stránka nebo produkt, který vytvoříte, vlastníte nebo provozujete pro interakci s API.
57+
- Autentizace: autentizace klienta prostřednictvím aplikace pro ověření oprávnění k přístupu k datům klienta nebo provádění určitých funkcí.
58+
- Banka: Česká spořitelna, a.s.
59+
- Klient: uživatel, který uzavřel smlouvu o poskytování služeb s bankou nebo členem skupiny banky.
60+
- Data klienta: jakákoli data o klientovi zpracovávaná bankou.
61+
- Obsah: jakákoli veřejně dostupná data nebo obsah z našich stránek nebo data, která zpřístupňujeme pro použití vaší aplikací prostřednictvím API.
62+
- Přihlašovací údaje: nezbytné bezpečnostní klíče, hesla a další přihlašovací údaje pro přístup k API, obsahu nebo datům klienta.
63+
- Konečný uživatel API (FAC): firemní nebo maloobchodní klient nebo neklient, který se chce připojit k našemu API za účelem přístupu ke svým bankovním účtům nebo veřejně dostupným informacím poskytovaným bankou.
64+
- Poskytovatel třetích stran (TPP): firemní klient nebo neklient, který chce umožnit svým klientům přístup k jejich bankovním účtům v České spořitelně prostřednictvím aplikace TPP.
65+
- Tokeny: přihlašovací údaje používané k ověření, že klient může přistupovat k datům klienta prostřednictvím aplikace.
66+
- Uživatel: koncový uživatel vaší aplikace.

0 commit comments

Comments
 (0)