API利用方法

使用するプロトコル

項目

規格

プロトコル

HTTP/1.1 (https)

HTTPメソッド

GET または POST

リクエストパラメータ形式

Query String (GET)

application/x-www-form-urlencoded (POST)

レスポンスフォーマット

JSON または XML

文字コード

UTF-8

タイムアウト

180秒

エンドポイントURL

https://gp.api.iij.jp/json (JSON)

https://gp.api.iij.jp/xml (XML)

APIリクエスト時の共通パラメータ

API呼び出し時に必要なパラメータは、すべてのAPIに共通のパラメータと、API毎に定義される個別のパラメータがあります。

以下に共通パラメータを示します。

パラメータ 必須 意味
AccessKeyId

使用するAccessKey

参照: AccessKey

Action

各APIで規定されるAction

参照: API一覧

APIVersion

APIバージョン

参照: API一覧

Expire

Signatureの有効期間APIリクエストの発行から24時間未満の値が指定可能

書式: YYYY-MM-DDThh:mm:ssZ

SignatureMethod

Singature生成に用いるハッシュアルゴリズム

値: HmacSHA256, HmacSHA1

SignatureVersion

Signature生成ロジックのバージョン

値: 2

Signature リクエストの署名

認証・リクエストの署名

GP-APIを呼び出す際には、認証のためにAccessKeyとSignatureを利用します。

AccessKeyはサービスオンラインの画面から取得することができます。AccessKeyの取得方法はAccessKeyについてを参照してください。Signatureはリクエストパラメータから一定の手順で生成した文字列です。Singatureを生成する際に、AccessKeyと同時に発行されるSecretKeyを利用します。

署名は以下の手順で行います

  1. Signature以外のリクエストパラメータを確定します
  2. リクエストパラメータを以下の手順で正規化し、QueryStringを生成します
    1. パラメータ名をUTF-8の辞書順でソート
    2. パラメータ名と値をURLエンコード(エンコード方法
    3. パラメータ名と値を=で連結
    4. パラメータ名と値のペアを&で連結
  3. HTTPリクエストメソッド、エンドポイント、Query Stringを以下の順序で結合した文字列を生成します

    HTTPリクエストメソッド+\n
    endpointのドメイン部分の小文字+\n
    endpointのパス部分+\n
    正規化したQueryString 
  4. 生成した文字列に対し、SignatureMethodで指定したハッシュアルゴリズムに従いHMACを算出します
    • HMACを算出する際のKeyとしてAccessKeyと同時に取得したSecrectKeyを指定します
  5. 算出したHMACをBase64エンコードします

具体的な生成例は、サンプルプログラムを参考にしてください。

レスポンスパラメータ

APIから返されるレスポンスには、すべてのAPIに共通のフィールドと、API毎に定義される個別のフィールドがあります。

以下に共通のフィールドを示します。

フィールド タイプ 意味
RequestId

String

APIリクエスト毎に割り当てられるユニークなID

非同期に処理されるAPI

API一覧で「非同期」と書かれているAPIは、APIのリクエストと実際の処理が非同期に実行されます。

このようなAPIでは、APIリクエストではパラメータに問題が無いことが確認されると、即座にレスポンスが返却されます。APIリクエスト直後には期待する処理が完了していない可能性があるため、注意して下さい。

処理が完了したかどうかは、それぞれの操作対象に対する情報取得系のAPIを呼び出して確認することができます。