銀行マスタ検索API作成に関して
フロントで外部APIを利用する場合:
上記で割りとよさそうな④を利用しようと思ったが、金融機関の候補例が20までが上限だったり色々デメリットもある。
上記で⑥を利用しようと思ったが、上記④のデメリットもカバーできるが個人運営というのが唯一引っかかる。
フロントで外部APIを利用するのは、急に使えなくなるといったことがどれくらいあるのか?
などの懸念もあり結果的にバックエンドで銀行マスタAPIを実装してフロントに渡す結論になった。
バックエンドでAPIを実装する場合:
下記のサイトからマスタのCSVをダウンロードし、CSVをDBに取込する。
http://ykaku.com/ginkokensaku/index.php
上記サイトの『<全データダウンロード・zip形式>リンクよりzipファイルをダウンロード後、解凍しCSVをDBに取込する。
上記のサイトのデータは更新タイミングはルールがなく、
http://ykaku.com/ginkokensaku/ment.html
1ヶ月に3回の時もあれば、更新がない月もあるので、更新周期(月1回)と決めて自動更新を行うようにバッチを実装する。
銀行マスタ検索用API実装
●APIのroot:
メイン銀行API:
Route::any('/bank/{keyWord}', 'ApiBankController@getBank');
銀行API:
Route::any('/main/bank', 'ApiBankController@getMainBank');
支店検索API:
Route::any('/branch/{bankCode}/{keyWord}', 'ApiBankController@getBranch');
●フロントに渡すAPI(例:先頭が「み」の銀行のみ)
検索時はPGで平仮名をカタカタに変換してからDBのカタカタを検索対象にして検索を行う。
①銀行検索用
参考サイト
http://ykaku.com/ginkokensaku/index.php
https://qiita.com/yuki_chrono/items/f03ce8b4036390927d86
https://bankcode-api.appspot.com/
https://bank.teraren.com/