aurimasniekis / gmo-aozora-simple-client
A simple client for accessing your bank information from https://gmo-aozora.com/
Requires
- php: ^7.4||^8.0
- aurimasniekis/gmo-aozora-client: ^1.0
- kriswallsmith/buzz: ^1.1
- nyholm/psr7: ^1.2
Requires (Dev)
This package is auto-updated.
Last update: 2024-11-20 23:22:54 UTC
README
A simple client for accessing your bank information from https://gmo-aozora.com/ based on aurimasniekis/gmo-aozora-client
Install
Via Composer
$ composer require aurimasniekis/gmo-aozora-simple-client
Configuration
There are two ways to define a configuration, one is statically defining values and another is loading from JSON config file which will be updated with authentication token and device token. Device token is required to be preserved to prevent giving notification from a new login.
Static Configuration:
<?php use AurimasNiekis\GmoAozoraClient\Configuration; $config = new Configuration( string $username, string $password, string $deviceToken = null, string $faToken = null, string $serviceType = self::SERVICE_TYPE, // https://bank.gmo-aozora.com/v1 string $ssoDomain = self::SSO_DOMAIN, // https://sso.gmo-aozora.com string $apiDomain = self::API_DOMAIN // https://bank.gmo-aozora.com/v1 );
JSON Config File:
<?php use AurimasNiekis\GmoAozoraClient\JsonFileConfiguration; $config = new JsonFileConfiguration( string $configFile );
{ "username": "1233456", "password": "1233456" }
Available options:
Usage
<?php use AurimasNiekis\GmoAozoraSimpleClient\SimpleClient; use AurimasNiekis\GmoAozoraClient\JsonFileConfiguration; $config = new JsonFileConfiguration(__DIR__ . '/config.json'); $client = new SimpleClient($config);
To get account details
$accountDetails = $client->accountDetails();
^ AurimasNiekis\GmoAozoraClient\Model\AccountDetails^ {#9 -raw: array:27 [ ... ] -customerName: null -customerType: null -lastLoginDatetime: DateTimeImmutable @1584736703 {#10 date: 2020-03-20 20:38:23.626 UTC (+00:00) } -queryDatetime: DateTimeImmutable @1584738476 {#11 date: 2020-03-20 21:07:56.664 UTC (+00:00) } -isLock: null -rankName: "1テックま君" -rankLogoUrl: null -atmFeeFreeCount: 2 -transferFeeFreeCount: 1 -transferLimitAmount: "500000000000" -oneDayTransferLimitAmount: "500000000000" -lastDayTotalBalance: "9999999" -totalBalance: "9999999" -ordinaryDepositTotalBalance: "9999999" -sweepTotalBalance: "" -lastDaySweepTotalBalance: "" -termDepositTotalBalance: "" -fcyOrdinaryDepositTotalJpyBalance: "" -uncollectedAmount: "0" -uncollectedDeducationBalance: null -branchCode: "123" -branchName: "..." -accountNumber: "1234567" -debitPlanList: [] -rateList: array:8 [ 0 => array:16 [ "customerRateId" => "1212321" "currency" => "USD" "ttb" => "110.07" "tts" => "110.11" "ttbRiseOrFall" => "1" "ttmRiseOrFall" => "1" "ttsRiseOrFall" => "1" "isServiceTime" => "1" "isValidRate" => "1" "currencyName" => "米ドル" "displayFractionLength" => 2 "orderFractionLength" => 2 "currencyServiceStatus" => "1" "validSeconds" => 10 "generatedAt" => "20200320210755456" "ttm" => "110.09" ] ... ] -authorityList: [] -statementList: array:5 [ 0 => AurimasNiekis\GmoAozoraClient\Model\PaymentStatementEntry^ {#14 -raw: array:7 [ ... ] -data: DateTimeImmutable @1584706076 {#13 date: 2020-03-20 12:07:56.0 UTC (+00:00) } -remark: "Visa" -memo: null -amount: "400" -balance: "123456789" -accountEntryNumber: "123456" -creditDebitType: "2" } 1 => AurimasNiekis\GmoAozoraClient\Model\IncomeStatementEntry^ {#14 -raw: array:7 [ ... ] -data: DateTimeImmutable @1584706076 {#13 date: 2020-03-20 12:07:56.0 UTC (+00:00) } -remark: "Visa" -memo: null -amount: "123456789" -balance: "123456789" -accountEntryNumber: "123456" -creditDebitType: "1" } ... ] }
Statements
Ordinary Deposit Statements:
$statements = $client->ordinaryDepositStatement( DateTimeInterface $toDate = null, DateTimeInterface $fromDate = null, int $perPage = 2000 )
Foreign Currency Ordinary Deposit Statements:
$statements = $client->foreignOrdinaryDepositStatement( DateTimeInterface $toDate = null, DateTimeInterface $fromDate = null, int $perPage = 2000 )
Term Deposit Statements:
$statements = $client->termDepositStatement( DateTimeInterface $toDate = null, DateTimeInterface $fromDate = null, int $perPage = 2000 )
Sweep Account Statements:
$statements = $client->sweepAccountStatement( DateTimeInterface $toDate = null, DateTimeInterface $fromDate = null, int $perPage = 2000 )
Raw statement:
$statements = $client->rawStatement( string $type, array $options, DateTimeInterface $toDate = null, DateTimeInterface $fromDate = null, int $offset = 0, int $limit = 20 )
Raw statements with all pages fetched:
$statements = $client->rawStatementAll( string $type, array $options, DateTimeInterface $toDate = null, DateTimeInterface $fromDate = null, int $perPage = 2000 )
Results for these functions are the same:
array:100 [ 0 => AurimasNiekis\GmoAozoraClient\Model\PaymentStatementEntry^ {#14 -raw: array:7 [ ... ] -data: DateTimeImmutable @1584706076 {#13 date: 2020-03-20 12:07:56.0 UTC (+00:00) } -remark: "Visa" -memo: null -amount: "400" -balance: "123456789" -accountEntryNumber: "123456" -creditDebitType: "2" }, ... ]
Visa Statements:
$statements = $client->visaStatement( DateTimeInterface $toDate = null, DateTimeInterface $fromDate = null, int $perPage = 2000 )
array:100 [ 0 => AurimasNiekis\GmoAozoraClient\Model\VisaStatementEntry^ {#21 -raw: array:9 [ ... ] -date: DateTimeImmutable @1584274771 {#22 date: 2020-03-15 12:19:31.0 UTC (+00:00) } -usage: "AMAZON.CO.JP" -amount: "1234" -status: "1" -localCurrencyAmount: "0.0" -atmUseFee: null -currency: null -conversionRate: null -approvalNumber: "12345" } ... ]
Testing
Run PHP style checker
$ composer cs-check
Run PHP style fixer
$ composer cs-fix
Contributing
Please see CONTRIBUTING and CONDUCT for details.
License
Please see License File for more information.