Binding
実際の通信方式(HTTPS、ファイル転送、WebSocket等)に当てはめたときの定義を記述する。 以下に記述する内容は全てNon-normative(例示)である。
Concrete Specification(実装例)
Prerequisites(前提条件)
本プロトコルは HTTPS(TLS 1.2以上)を使用し、REST形式のHTTPリクエスト/レスポンスにより通信を行う。
エンドポイント:指定されたURIに対してHTTPメソッド(GET, POST, PUT, DELETE)を使用
データ形式:リクエストおよびレスポンスの本文はJSON形式
認証・認可:OAuth 2.0ベースのトークン認証を利用
セキュリティ要件:TLS 1.2以上必須、暗号化通信を保証
Field Definitions(フィールド定義)
本プロトコルで使用される各フィールドの定義を記す。
各フィールドについて、以下の情報を記す。
フィールド名:binding内で使用される名称
型:データ型(例:整数、文字列)
必須性:フィールドの利用条件
R = Required(必須)
C = Conditional(条件付き必須)
O = Optional(任意)
Request:リクエストにおいて使用される
Response:レスポンスにおいて使用される
説明:フィールドの意味や利用方法
Headerフィールド定義
Request・Responseのフィールドは、以下の通り。
x-payment-api-key
String
R
✔
クライアントアプリごとに払い出されたAPIKeyを指定する。ODS独自項目
Authorization
String
R
✔
アクセストークンを指定する。例:Bearer < token >
Content-Type
String
R
✔
✔
リクエスト形式を指定する。
User-Agent
String
R
✔
クライアントのユーザーエージェントを指定する。
Accept-Language
String
O
✔
クライアントの受け入れる希望言語を指定する。
X-TrackingID
String
R
✔
✔
リクエストのトレーシングを行う一意なIDを指定する。ODS独自項目
Content-Security-Policy
String
R
✔
コンテンツの読み込み・実行ポリシーを指定し、スクリプトやリソースの許可元を制御する。
X-Content-Type-Options
String
R
✔
ブラウザのMIMEタイプ推測を禁止し、指定されたContent-Typeを強制する。
Strict-Transport-Security
String
R
✔
指定期間、HTTPS接続を強制し、HTTPへのダウングレードを防止する。
Cache-Control
String
R
✔
キャッシュ制御のための方式を指定する。
ETag
String
C
✔
リソースのバージョン識別子を指定する。GETメソッドにおけるレスポンス時の必須項目。
Last-Modified
String
C
✔
リソースの最終更新日時を指定する。GETメソッドにおけるレスポンス時の必須項目。
Payloadフィールド定義
Request・Responseのフィールドは本プロトコルの各機能で異なるため、API仕様書の記載を参照してください。
Functional Description(機能詳細)
Sent by・Resulting state(s)・Request・Response・Example・Error一覧・API固有のフィールド定義などの具体実装はAPI仕様書の記載を参照してください。
利用料モデル
利用料モデル登録・取得・更新・削除
サービス利用に際し、価格情報となる利用料モデルに係る操作を行う。利用料モデルは、データ提供者/データ利用者/交換対象データ毎に定義するものとする。
取引情報
取引可否確認
サービス利用に際し、取引が可能かを確認する。取引可否を確認する際に、取引IDを発行して、その後の取引情報を管理する。
取引情報
データ交換状態登録・更新
データ利用者及びデータ提供者から、取引状態(成功/失敗)を登録する。
取引情報
決済状態取得
データ提供者が取引情報に係る決済状態を確認する。
請求・支払
請求予定額取得
データ提供者の請求予定額を取得する。
請求・支払
支払予定額取得
データ利用者の支払予定額を取得する。
Sequence Diagram(シーケンス図)
利用料モデル登録・更新・取得・削除シーケンス
購入処理シーケンス
購入確定処理シーケンス
Loggingからのログ出力タイミングに合わせて、購入確定処理を実行する。
決済処理シーケンス
利用者からのデータ交換ステータスが交換完了、提供者からのデータ交換ステータスが交換完了、データ交換ログのステータスが成功、となったTransactionを請求予定額、支払い予定額の対象とする。
決済状態取得シーケンス
データ提供者が、指定したデータ利用者との取引情報について、期間・精算決済状態で絞り込み、取得する。
最終更新