DOI® HANDBOOK

10.4 DOI REST APIのリクエスト(要求)/レスポンス(応答)フォーマット

  1. DOIハンドブック
  2. 第10章 付録
  3. 10.4 DOI REST APIのリクエスト(要求)/レスポンス(応答)フォーマット

DOIプロキシのREST APIにより、HTTP(S)を使用してDOI名解決にプログラムでアクセスすることができます。

10.4.1 REST APIリクエストフォーマット

REST APIリクエスト(要求)は、の標準HTTPS GET「/api/han-dles/<doiName>」の実行の実行により行うことがでます。

https://doi.org/api/handles/<doiName>?<param_1>&<param_2>&...

ここでは

例: https://doi.org/api/handles/10.1000/1?type=URL&callback=processResponse

表7は、DOIプロキシREST API に送信されるクエリでサポートされるパラメータのリストです。

表7DOI API クエリパラメータ
パラメータ 説明
callback (CORSヘッダの代わりに)JSONPコールバックを使用する。
pretty JSON出力をプリティプリントする。
auth 権限を持つクエリ。DOIプロキシはそのキャッシュを迂回し、権限を持つ(プライマリ)Handleサービスに解決リクエストを送る。
cert 証明済みクエリ。DOI プロキシはHandleサービスに認証済みの応答(レスポンス)を要求する(つまり、DOIプロキシはその応答に署名をすることをHandleサービスに求め、プロキシは署名をチェックしてから、その応答を受け入れる)。
index1) 指定されたインデックス値のDOIレコード要素を解決し、明示的に要求された場合を除き、それ以外の要素は解決しない。繰り返して複数のインデックスを解決することもできる。
type1) 指定されたタイプのDOIレコード要素を解決し、明示的に要求された場合を除き、他の要素を解決しない。繰り返して複数のタイプを解決することもできる。

1)クエリパラメータ「index」と「type」は一緒に使用することができますが、指定された「index」または「type」のいずれかに一致する要素が返されます。

10.4.2 REST APIレスポンスフォーマット

REST APIレスポンス(応答)はJSONオブジェクトです。レスポンスコードと、解決されるHandle識別子のエコーに加え、DOIレコード要素のリストか、エラーの場合にはエラーを記述する文字列であるオプションのメッセージを含みます。図22はレスポンスの例です。

図22REST API レスポンスの例

レスポンスコード

レスポンスコードは、Handleシステムプロトコルのレスポンスコードを参照する整数です。最も一般的なレスポンスコードの値は以下のとおりです。

要素データ

要素は、以下で構成されています。

表8は、要素データオブジェクトの プロパティ「format」に依存するプロパティ「value」について説明したものです。HS_ADMIN、HS_VLIST、HS_SITEデータについて詳しくは、デジタルオブジェクト識別子解決プロトコル(DO-IRP)仕様を参照してください。

表8要素値(オブジェクト「data」)
プロパティ「format」 プロパティ「value」
「string」 UTF-8文字列としてデータを表す文字列。
「base64」 文字列。データはBASE64エンコーディング。
「hex」 文字列。データは16進エンコーディング。
「admin」 プロパティを持つ HS_ADMIN値(Handle管理者)を表すオブジェクト。以下をプロパティとして有する。
「handle」: 管理者の識別に使用されるHandle識別子
「index」:管理者の公開鍵を格納する管理者のHandleレコード値のインデックス
「permissions」:管理者に付与されるHandleレコードへのアクセス権
「vlist」 HS_VLIST値を表すオブジェクト(管理者(Handleレコードの公開鍵)のリストを意味する)。
「site」 HS_SITE値(Handleサービスサイト情報)を表すオブジェクト。