rimbaborne / moota
从 yugo/moota 非官方 Moota.co 包更新 Laravel 框架的 Moota V2 API
Requires
- guzzlehttp/guzzle: ^7.0
- laravel/framework: >=5.2
Requires (Dev)
- phpunit/phpunit: ^7.3
README
Moota.co 是一个用于在单一仪表板中管理银行变动并自动检查交易的服务。Moota.co 支持多家本地银行,如 Mandiri、BCA、BNI、Bank Muamalat 和 Bank BRI。
此存储库提供了针对 Laravel 框架的包(非官方),旨在方便用户使用 Moota.co API 提供的服务。
包中提供的功能
- 检查个人资料。
- 检查余额(用户余额)。
- 已注册的银行。
- 注册银行的详细信息。
- 本月的变动。
- 最近的变动。
- 根据金额搜索变动。
- 根据描述搜索变动。
系统需求
- Laravel 框架版本 >= 5.2。
- PHP 版本 >= 7.0。一些代码使用了 返回类型声明,这仅在 PHP 7 中可用。
安装
通过运行以下命令将 Moota 包添加到 Laravel
composer require yugo/moota -vvv
Laravel 具有功能 Package Discovery,它允许自动注册包。因此,您可以使用 Moota facade 而无需在配置中注册它。
如果您收到 Moota 类未找到的错误消息,请手动在 config/app.php
文件中注册 Moota provider 和 facade。
/*
* Package Service Providers...
*/
Yugo\Moota\Providers\MootaServiceProvider::class,
如果需要,还可以添加 Moota facade 的别名。
/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/
`Moota` => Yugo\Moota\Facades\Moota::class,
在 .env
文件中,添加以下配置
MOOTA_HOST="https://app.moota.co/api/v1/"
MOOTA_TOKEN="token-kamu"
MOOTA_TIMEMOUT=30
可以通过以下菜单获取令牌: https://app.moota.co/settings?tab=api。
MOOTA_HOST
配置是可选的,如果 .env
文件中不可用,则将自动使用最新端点。
MOOTA_TIMEOUT
配置也是可选的。此配置指示应用程序在最终返回异常之前调用 Moota API 的持续时间(以秒为单位)。请确保您以整数类型填充此值。
使用
安装包成功后,首先导入 Moota facade。
use Yugo\Moota\Facades\Moota;
// atau cukup seperti di bawah jika didaftarkan sebagai alias pada config/app.php
use Moota;
接下来,可以使用 Moota facade 从 Moota.co 提供的 API 获取信息。以下是一些提供的函数示例。
获取用户个人资料
可以用于查看您的个人资料详细信息。
Moota::profile();
获取用户余额
可以用于查看您拥有的余额(在扣除费用之前)。
Moota::balance();
获取所有已注册的银行
Moota::banks();
根据 ID 获取一个银行的详细信息
银行 ID 可在上述函数获取银行数据时查看。
Moota::bank($bankId = 'XXX123');
获取本月的变动数据
要获取银行的变动,则需要银行 ID 作为函数参数。例如
Moota::mutation($bankId = 'XXX123')->month();
获取某银行的最后变动
此函数也需要银行 ID 作为参数。
Moota::mutation($bankId = 'XXX123')->latest();
// menampilkan mutasi terakhir dengan jumlah tertentu
Moota::mutation($bankId = 'XXX123')->latest(15);
搜索变动
也可以根据交易金额和描述搜索变动。与上述两个函数一样,此函数也需要银行 ID 作为参数。
// cari mutasi berdasar nominal
Moota::mutation($bankId = 'XXX123')->amount(10000);
// cari mutasi berdasar deskripsi
Moota::mutation($bankId = 'XXX123')->description('Transfer dari...');
上述函数的所有返回值都是Laravel 集合的形式。其数据格式与Moota.co API的响应格式完全相同。
如果你需要以数组形式返回,只需在函数调用链的末尾添加toArray()
方法。例如
Moota::profile()->toArray();
// contoh nilai kembalian dalam bentuk array
array:5 [▼
"name" => "Dedy Yugo Purwanto"
"email" => "xx-sample@email-fake.com"
"address" => null
"city" => null
"join_at" => "2018-09-19 16:47:42"
]
is_array(Moota::mutation($bankId)->month()->toArray()) // true
缓存
一些facade方法支持缓存。这使得API的响应可以被保存在本地服务器的缓存中。当相同的函数被多次调用时,应用程序不需要直接调用Moota API。
为了启用缓存功能,你只需在特定方法的调用中添加cache()
方法。例如
Moota::cache()->profile();
// cache selama 24 jam
Moota::cache(60 * 24)->banks();
// cache selama 15 menit
Moota::cache(15)->bank($bankId = 'XXX123');
cache的第一个参数是整数类型,表示数据将在缓存中保存多长时间(以分钟为单位)。
特别地,对于amount()
和description()
方法不支持缓存功能。当然,你可以使用Laravel自带缓存手动保存它们。
许可证
MIT。
Moota API V2更新
- 检查个人资料。
- 已注册的银行。
- 注册银行的详细信息。
- 最近的变动。
- 根据金额搜索变动。
- 根据描述搜索变动。
V2安装
通过运行以下命令将 Moota 包添加到 Laravel
composer require rimbaborne/moota