銀行口座をAPIで操作できる、GMOあおぞらネット銀行「sunabar」を使ってみたので、アカウント登録から残高取得API実行までをまとめてみます。
TL;DR
- 利用には口座開設が必要
- API仕様書は充実している
- アカウントが複数必要なので管理に注意
sunabarとは
銀行口座をAPIから操作できるテスト環境です。Web上から入金操作を行って、APIから残高を取得するようなことができます。審査はなく、個人でも無料で利用できます。
操作できるのはテスト用口座のみで、本物の口座は扱えません。
口座開設から残高取得までの流れ
- GMOあおぞらネット銀行口座を開設
- sunabarにログイン
- 開発者ポータルに登録
- 残高照会APIを実行
GMOあおぞらネット銀行口座を開設
申込
sunabarの利用には口座開設が必須です。Webフォームから必要事項を入力し、本人確認書類をアップロードすればOKです。
私がやったときは1週間くらいで開設できました。
開設後
キャッシュカードが郵送されてきたら、銀行公式サイトからログインしてパスワードなどの初期設定を行います。1
sunabarにログイン
ログイン方法
sunabarのログインID、パスワードは銀行公式サイトからのみ確認できます。上部のメニュー「お客様情報(申込・設定)」⇒「開発者向け」タブに表示されます。
定期的にシステム側で更新されるそうなので、少し注意が必要ですね。
sunabarで、できること
sunabarではテスト用口座を使って、API実行や仮想的な入出金が行えます。使える口座の口座番号や、API実行時に必要なアクセストークンもここから確認できます。
開発者ポータルに登録
sunabarではAPIを実行できますが、仕様書は別サイトで公開されています。こちらにも別途登録が必要です。
登録方法
登録は無料ですので、アカウント登録しましょう。
ページ上部の+に○のボタンからアカウントを作成できます。このサイトは口座開設していなくても利用できるようでした。
利用方法
「ドキュメント」のページで利用可能なAPIのリクエスト、レスポンス形式、エラーコードなどを確認できます。
Ruby, Java, Nodeなど各種プログラミング言語での実行例もあり、使いやすいと思いました。
なお、このサイトにはWebhookなどの利用方法も書かれていますが、sunabarでは利用できないそうです。あと、SDKも公開されていますが、認証に必要な情報がないので同様に利用できないと思われます。
残高照会APIを実行
最後に、APIから口座残高を取得したいと思います。
ただ、アカウント登録者のみに公開の情報もあり、どこまで公開してよいのか微妙なのでぼやかして書きます。
sunabarからATM入金
残高0円ではおもしろくないので、適当な金額を口座に仮想的に入金します。
sunabarトップページ⇒入出金シミュレーター⇒ATM入金から操作します。初期状態では個人と法人の2口座ありますが、とりあえず個人口座にしました。2
アクセストークンを確認
API利用時は各口座のアクセストークンが必要です。sunabarトップページ⇒「sunabarサービスサイトで使える銀行口座」⇒「トークン」列のコピーボタンから確認しておきましょう。
API実行
それでは準備が整ったので、APIから残高を取得してみましょう。
# 残高照会API実行
curl -X GET \
'https://api.gmo-aozora.com/ganb/api/simulator/personal/v1/accounts/balances' \
-H 'accept: application/json;charset=UTF-8' \
-H '<アクセストークン>'
レスポンスは下記のようなJSON形式で取得できます。
// 残高照会APIレスポンス
{
"balances": [
{
"accountId": "XXXXXXXX",
"accountTypeCode": "01",
"accountTypeName": "普通預金(有利息)",
"balance": "5800", // <===== 残高
"baseDate": "2020-04-18",
"baseTime": "16:16:00+09:00",
"withdrawableAmount": "5800",
"previousDayBalance": "0",
"previousMonthBalance": "0",
"currencyCode": "JPY",
"currencyName": "日本円"
}
],
"spAccountBalances": [
{
"accountId": "XXXXXXXX",
"odBalance": "5800",
"tdTotalBalance": "0",
"fodTotalBalanceYenEquivalent": "0",
"spAccountFcyBalances": []
}
]
}
このように簡単に残高などの情報を取得できます。
まとめ
sunabarでは銀行APIを無料で利用できます。仕様書も充実しているので使いやすいのかなと思いました。
銀行公式サイト、sunabar、API開発者ポータルとアカウントが複数必要なのがちょっと面倒かなという感じです。