API利用方法

P2PUB-APIの利用方法

P2PUB-APIはREST APIとしてデザインされており、URLとHTTPリクエストヘッダ、HTTPリクエストボディでパラメータを指定して利用します。お客様が作成されたクライアントプログラムから、以下の要領で、アクセスURLに対してリクエストしてください。


使用するプロトコル
項目規格

プロトコル

HTTP/1.1 (https)

HTTPメソッド

GET、POST、PUT、DELETEのいずれか

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

application/json

レスポンスフォーマット

JSON

文字コード

UTF-8

タイムアウト

180秒

エンドポイントURL

https://p2pub.api.iij.jp/

  • P2PUB-APIを呼び出す際には、HTTP/1.1 (https) を利用します。お客様が作成されたクライアントプログラムから、エンドポイントURLに対してリクエストしてください。

  • httpでのリクエストは受け付けません。必ずhttpsを使用してください。APIを呼び出すプログラムは、リクエスト先が正当なものであることを確認するため、SSL証明書を検証することを推奨いたします。

  • P2PUB-APIはREST APIとしてデザインされており、リクエストはGET、POST、PUT、DELETEメソッドを用います。APIによって使用するメソッドが決まります

  • リクエストパラメータとレスポンスは、いずれもjson形式で表現されます

  • 短期間に極めて多数のAPIリクエストが行われた場合、サービスの健全性を保つためにAPIのリクエストを制限する場合があります。


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

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

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

パラメータ必須意味
AccessKeyId

使用するAccessKey

参照: AccessKey

APIVersion

APIバージョン

参照: API一覧  

Expire

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

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

SignatureMethod

Singature生成に用いるオブジェクトアルゴリズム 

 値: HmacSHA256, HmacSHA1

SignatureVersion

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

 値: 2

Signature

リクエストの署名

参照: 認証・リクエストの署名

  • 個別のパラメータはAPI一覧を参照してください


認証・リクエストの署名

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

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

PUT /r/(APIVersion)/(個別パラメータ)/(API名).json
Host: p2pub.api.iij.jp
Content-Type: application/json
Date: Mon, 20 Jan 2014 12:34:56 GMT
x-iijapi-Expire: (Expire)
x-iijapi-SignatureMethod: (SignatureMethod)
x-iijapi-SignatureVersion: (SignatureVersion)
Authorization: IIJAPI (AccessKeyId):(Signature)

(HTTPリクエストボディ: JSON形式のAPI個別のパラメータ)

具体的な生成例は、サンプルコードを参考にしてください。


レスポンスパラメータ

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

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

フィールドタイプ意味
RequestId

String

APIリクエスト毎に割り当てられるユニークなID
  • 個別のパラメータはAPI一覧を参照してください


非同期に処理されるAPI

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

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

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