APIの設計思想について

作成者:APIteam1 作成日:

三菱UFJ銀行 API事務局です。
第2回目は「APIの設計思想」をテーマに 18インチ サマータイヤ セット【適応車種:シビックセダン(FC1)】A-TECH シュナイダー SQ27 メタリックブラック 7.0Jx18ZIEX ZE914F 215/45R18、当行APIの考え方を紹介します。

システムを開発する上で、クラスなどのモジュール設計(モジュールの単位や関係性などの設計)は欠かせません。当行APIにおいても、どのような粒度で開発するかを様々な観点で検討しました。
今回は 16インチ サマータイヤ セット【適応車種:アテンザセダン(GH系)】WEDS ウェッズスポーツ SA-20R ウォースブラッククリア 7.0Jx16エナセーブ EC202L 205/60R16、APIの粒度とそれを決定した経緯、APIのURI(エンドポイント)設計の考え方について、銀行APIとして工夫した点を交えて紹介します。

1. 当行APIで提供しているサービスの粒度(単位)

当行のAPIは、インターネットバンキング(三菱UFJダイレクト、BizSTATION)で提供している複数のサービスから選んだ一部のサービスをAPIとして提供しています。
各APIでは ●送料無料●(離島等除く)●アールエスアール / RS-R●ダウンサス レクサス GS450h GWS191 3500 HB [18/3~] Ti2000 DOWN フロントのみ、

、例えば「口座API」の場合、お客さまの残高照会、入出金明細照会などを取得することができます。インターネットバンキングで提供しているサービスを踏まえたAPIの粒度となっています。

2. APIの設計方法とURI(エンドポイント)の考え方

MANARAY SPORT/EuroSpeed C-07 アルミホイール 4本セット ハスラー MR系 【15×4.5J 5ドア 4-100 83年-88年 INSET45 メタリックシルバー】

APIの設計にあたり、使い勝手を重視しRESTfulでシンプルな設計を行うという方針のもと、開発を行いました。APIの設計では、オブジェクト指向の考え方を採用しており、API化するサービスをクラス、プロパティ(フィールド)、メソッドに落とし込んで、設計を進めました。例えば、残高照会や入出金明細照会を行う口座APIの場合、「口座」というクラスに対して、「残高情報」、「入出金明細情報」といったプロパティが存在します。これらの情報(プロパティ)を取得するために ディクセル ブレーキローター PD(プレーンディスク) フロント左右セット ラウム NCZ20/NCZ25 3119161 DIXCEL ディスクローター ブレーキディスク【店頭受取対応商品】、HTTPメソッドのGET/POSTを使用して、APIを呼び出すシンプルな設計としました。
また、API数を不必要に増やさないために、1つのAPI(=リソース)に対し、複数のオペレーションが含まれる作りとしています。例えば、法人APIの一つである「口座API」には「口座残高照会」、「入出金明細照会」、「振込入金明細照会」の3つのオペレーションが含まれます。

(2) URI(エンドポイント)の考え方

APIのリクエスト先であるURI(エンドポイント)には、APIのバージョン、API名称、リクエストパラメータなどが含まれています。URIをHTTP(GET/POST)で呼び出すことで、APIの応答を実現しています。上記のオブジェクト指向の考え方を踏まえた、URIとしています。 URIの構造など、くわしくはAPI仕様を当開発者ポータルに記載しています。(画面上部の メニュー>API をクリック)

3. 開発で工夫した点

当行APIの特徴は前述したとおりですが、ここでは実際のシステム開発時における工夫した点を紹介します。
プロジェクトの初期段階では 、検討中のAPIが実際に使えるものなのか不明確だったため、ベータ版として当行APIの利用が見込まれる事業者の皆さまに仕様やテスト環境を提供し、フィードバックを頂くプロセスを経て、最終的に公開するAPIのURIやオブジェクトの設計を進めました。
例えば、「入出金情報は履歴のサイズ(明細数)が大きくなるため、工夫が必要ではないか」という声を受け、1件のリクエストに対して、履歴件数の上限を設けることにしました。一定の履歴件数を超える場合は、「次の明細開始番号」を返却し、次のAPIリクエスト時に開始番号を指定する設計としました。その他にも、テストデータやエラーレスポンスに関するご要望に対する取り込みも行っています。
また、2017年7月に全国銀行協会にて纏められた「オープンAPIのあり方に関する検討会報告書」の仕様標準にも準拠する形としています。

以上、当行APIの粒度や考え方について、紹介しました。
当開発者ポータルでは KONI Classic [Renault R8 R1134・R1135 Gordini リアは4本使用します] KONIショックアブソーバー 代引き手数料無料&送料無料、テスト用のAPIを実際にお試しいただけます。(画面上部の メニュー>API をクリック)APIの仕様やテスト用データも掲載しているので、ぜひご活用ください!
(APIを提供する上での各システムの役割は、ブログ記事「 APIに関連するシステムの役割について」をご参照ください)

タグ: 

最新記事

電子決済等代行業登録企業に聞く!電代業登録への道のり
APIを使った安全・安心なサービスを提供するために必要なこと
会計クラウドサービスを幅広く展開、

MANARAY SPORT/EuroSpeed C-07 アルミホイール 4本セット ハスラー MR系 【15×4.5J 4-100 INSET45 メタリックシルバー】

、freee様に聞くAPI活用法とは?
APIのレスポンスデータ設計とは?