rimbaborne/moota

从 yugo/moota 非官方 Moota.co 包更新 Laravel 框架的 Moota V2 API

v2.0.0 2022-03-12 02:50 UTC

This package is auto-updated.

Last update: 2024-09-12 12:55:24 UTC


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