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>&...
ここでは
- <doiName>:解決するDOI名
- <param_i>:DOIプロキシREST APIに渡すパラメータ
例: https://doi.org/api/handles/10.1000/1?type=URL&callback=processResponse
表7は、DOIプロキシREST 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はレスポンスの例です。

レスポンスコード
レスポンスコードは、Handleシステムプロトコルのレスポンスコードを参照する整数です。最も一般的なレスポンスコードの値は以下のとおりです。
- 1 : 成功。(HTTP 200 OK)
- 2 : エラー。DOI名解決中に予期しない問題が発生。(HTTP 500 Internal Server Error)
- 100 : Handleが見つからない。(HTTP 404 Not Found)
- 200 : 値が見つからない。Handleレコードは存在するが、必要値が存在しない。
要素データ
要素は、以下で構成されています。
- index(整数):Handleレコード内の一意な要素識別子
- type(文字列):例えば、URL、記述、IPアドレス、eメールアドレスなど。
- value(データオブジェクト):表8参照
- timestamp(ISO8601形式の文字列):データの最終更新日時
- TTL(整数、または絶対失効時間の場合はISO8601形式の文字列): 情報ソースに再度問い合わせる必要なく、要素値をキャッシュさせられる期間を示す。
表8は、要素データオブジェクトの プロパティ「format」に依存するプロパティ「value」について説明したものです。HS_ADMIN、HS_VLIST、HS_SITEデータについて詳しくは、デジタルオブジェクト識別子解決プロトコル(DO-IRP)仕様を参照してください。
プロパティ「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サービスサイト情報)を表すオブジェクト。 |