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のフィールドは、以下の通り。

フィールド名
必須
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仕様書arrow-up-rightの記載を参照してください。

Functional Description(機能詳細)

Sent by・Resulting state(s)・Request・Response・Example・Error一覧・API固有のフィールド定義などの具体実装はAPI仕様書arrow-up-rightの記載を参照してください。

機能分類
機能概要
説明

利用料モデル

利用料モデル登録・取得・更新・削除

サービス利用に際し、価格情報となる利用料モデルに係る操作を行う。利用料モデルは、データ提供者/データ利用者/交換対象データ毎に定義するものとする。

取引情報

取引可否確認

サービス利用に際し、取引が可能かを確認する。取引可否を確認する際に、取引IDを発行して、その後の取引情報を管理する。

取引情報

データ交換状態登録・更新

データ利用者及びデータ提供者から、取引状態(成功/失敗)を登録する。

取引情報

決済状態取得

データ提供者が取引情報に係る決済状態を確認する。

請求・支払

請求予定額取得

データ提供者の請求予定額を取得する。

請求・支払

支払予定額取得

データ利用者の支払予定額を取得する。

Sequence Diagram(シーケンス図)

利用料モデル登録・更新・取得・削除シーケンス

購入処理シーケンス

購入確定処理シーケンス

  • Loggingからのログ出力タイミングに合わせて、購入確定処理を実行する。

決済処理シーケンス

  • 利用者からのデータ交換ステータスが交換完了、提供者からのデータ交換ステータスが交換完了、データ交換ログのステータスが成功、となったTransactionを請求予定額、支払い予定額の対象とする。

決済状態取得シーケンス

  • データ提供者が、指定したデータ利用者との取引情報について、期間・精算決済状態で絞り込み、取得する。

最終更新