ノードAPI ヘルプ

認証キーの取得方法

ノードAPIを利用するためには認証キーを取得する必要があります。
認証キーにはAccessKeyとSecretAccessKeyがあります。

  1. NodeMasterへ管理権限を持ったユーザでログインします。
  2. 画面右上の「管理メニュー」 → 「ノードAPIの設定」 を選択します。
  3. 「認証キーを更新」ボタンを押下します。
  4. 作成されたAccessKeyとSecretAccessKeyの文字列をコピーします。

通信方式

APIゲートウェイ https://[ご利用のサブドメイン].node-master.jp/api? ※1
通信メソッド GET
戻り値フォーマット JSON
文字コード UTF-8 ※2

※1……SSL通信が必要となります。
※2……値(VALUE)については、URLエンコードが必要となります。
例)[field_1 = テスト] のとき「field_1=%E3%83%86%E3%82%B9%E3%83%88」となります。

パラメータ

パラメータ(key) 説明 サンプル値(VALUE)
action

APIへのリクエスト種別。

  • DescribeNodeInfo……ノード情報取得
  • UpdateNodeInfo……ノード情報更新
(詳細については別途記載)
DescribeNodeInfo
access_key 「ノードAPIの設定」で取得したAccessKey IhHGuQ7GIF13WZuPf7lII
timestamp UNIXエポック(UNIX時間) 1389161578
signature 認証のための文字列。
(生成ロジックは別途記載)
-
アクション固有パラメータ APIへのリクエスト種別等により決定されます。
(詳細については別途記載)
-

シグネチャ(signature)の生成方法

  1. アクション固有パラメータ(KEY)を自然順で並び替えます。
  2. 並び替えたアクション固有パラメータ(KEY)とURLエンコードされたVALUEを"="で繋ぎ、それらのセット同士を"&"でつなぎます。
    例)&field_1=[URLエンコードされたVALUE]&field_3=[URLエンコードされたVALUE]&field_10=[URLエンコードされたVALUE]&key=test-0001
  3. SecretAccessKeyを使用してHMAC-SHA1で"①"の値をハッシュ化します。

認証方法

下記すべての認証に成功すると、リクエスト内容に応じたAPI処理が開始されます。

有効時間 timestampの値として受け取ったUNIXエポックが、現在時刻±30秒の範囲内であれば、認証成功と判断します。
認証キー access_keyの値として受け取ったAccessKeyが、正しく取得された値と一致した場合に認証成功と判断します。
シグネチャ 受け取ったsignatureの値とAPIが生成したシグネチャの値が一致すると認証成功と判断します。

リクエスト種別一覧

DescribeNodeInfo

概要

指定したノードKeyの情報を取得します。
ノードkeyで取得したいノード、フィールド番号で対象の情報を特定します。
1回のリクエストで複数のノード情報を取得できます。

使用するパラメータ

すべてのパラメータ指定が必須となります。

パラメータ(key) 説明 サンプル値(VALUE)
key ノードkeyを指定。
複数のノードkeyを指定する場合には、カンマ区切りで続けて記載。
1311-0001,1311-0002,srv-0090
field 取得対象としたフィールド番号を数値で指定。
(フィールド番号=フィールドの表示順)
複数のノードkeyを指定する場合には、カンマ区切りで続けて記載。
2,3,5,7
応答
応答 対象のノードKeyを格納 サンプル値
[ノードkey] 取得対象のノードkey 1311-0001
[ノードkey] [数値] 応答したフィールド数の通番(0~N) 0
[数値] sort フィールドの表示順 3
fieldname フィールド名称 ホスト名
value フィールドの値 www.node-master.com
result "success"もしくは"fail"。
成功="success"
失敗="fail"
success
error_msg result=failの場合にのみ存在。
エラーメッセージ。
access_key is failed.
サンプル

リクエスト

URL: https://memg2.mp-si.jp/api?action=DescribeNodeInfo&timestamp=1377599641&signature=ZGMzNmEyMTVmMTMzNzg2NjBhYzcyY2I0MmFkMDQ1YTc1YjhhZjMzZA==&access_key=T7nMGhl0439kozHxGrddX&field=2%2C4&key=1311-00002%2C1311-00003

応答

object(stdClass)#1 (2) {
  ["1311-00002"]=>
  object(stdClass)#2 (3) {
    ["0"]=>
    object(stdClass)#3 (3) {
      ["sort"]=>
      string(1) "2"
      ["fieldname"]=>
      string(12) "ホスト名"
      ["value"]=>
      string(22) "www2.masterpiece.co.jp"
    }
    ["1"]=>
    object(stdClass)#4 (3) {
      ["sort"]=>
      string(1) "4"
      ["fieldname"]=>
      string(18) "ロケーション"
      ["value"]=>
      string(24) "東京データセンタ"
    }
    ["result"]=>
    string(7) "success"
  }
  ["1311-00003"]=>
  object(stdClass)#5 (3) {
    ["0"]=>
    object(stdClass)#6 (3) {
      ["sort"]=>
      string(1) "2"
      ["fieldname"]=>
      string(12) "ホスト名"
      ["value"]=>
      string(22) "www3.masterpiece.co.jp"
    }
    ["1"]=>
    object(stdClass)#7 (3) {
      ["sort"]=>
      string(1) "4"
      ["fieldname"]=>
      string(18) "ロケーション"
      ["value"]=>
      string(24) "東京データセンタ"
    }
    ["result"]=>
    string(7) "success"
  }
}

UpdateNodeInfo

概要

指定したノードKeyの情報を更新します。
ノードKeyで更新対象のノード、フィールド番号と値で更新対象の情報を特定します。
1回のリクエストで1ノードの情報を更新します。

使用するパラメータ

すべてのパラメータ指定が必須となります。

パラメータ(key) 説明 サンプル値(VALUE)
key ノードkeyを指定。
単体のノードkeyのみ指定可能。
1311-0001
field_[N] "N"には更新対象のフィールド番号を数値で指定。
(フィールド番号=フィールドの表示順)
www.node-master.com
192.168.1.1
ECサイトプロジェクト
応答
応答 対象のノードKeyを格納 サンプル値
result "success"もしくは"fail"。
成功="success"
失敗="fail"
success
error_msg エラーメッセージ。
result=failの場合は空の値。
field_17 is invalid.
サンプル

リクエスト

http://memg2.mp-si.jp/api?action=UpdateNodeInfo&timestamp=1377599716&signature=MTA1MjY4MzZhYjAzYTJhNDk5NDlkZWMwZDM1YjliNmM3Y2JjZTEyYQ==&access_key=T7nMGhl0439kozHxGrddX&field_12=192.168.1.1&field_5=Red+Hat+Enterprise+Linux+Server+release+6.1&key=1311-00001

応答

object(stdClass)#1 (2) {
  ["result"]=>
  string(7) "success"
  ["error_msg"]=>
  string(0) ""
}

エラーコード

共通
エラーコード 原因 対策
[ACTION] is not etixts. [ACTION]=actionの値。
パラメータactionに指定されているリクエスト種別を識別できない。
actionパラメータに正しい情報を指定する。
access_key is failed. パラメータaccess_keyに指定されている認証キーが誤っている。 access_keyパラメータに正しい情報を指定する。
timestamp is invalid. パラメータtimestampに指定されているUNIXエポックが有効期限の範囲外。 APIリクエスト時にUNIXエポックを±30秒以内に収める。
signature is failed. シグネチャ(signature)の不一致。 signatureパラメータの内容を確認する。
[NODEKEY] is not exits. [NODEKEY]=keyの値。
パラメータkeyに指定されているノードkeyを識別できない。
keyパラメータに存在するノードKeyを指定する。
DescribeNodeInfo固有

DescribeNodeInfoリクエストに固有のエラーコードはありません。
存在しないフィールド番号を指定した場合には、何も情報を返しません。

UpdateNodeInfo固有
エラーコード 原因 対策
[FIELD] is not exists. [FIELD]=field_[N]の値。
パラメータfield_[N]に指定されているフィールドを特定できない。
field_[N]パラメータに存在するフィールド表示順を指定する。
field_[N] is invalid. パラメータfield_[N]に指定されている値で更新できなかった。 field_[N]へ対して書式、オプション通りの値を指定する。
field_[N] is not editable. パラメータfield_[N]を更新できないフィールド。 field_[N]のフィールド属性=区切りの場合は更新不可。
field_[N] does not allow duplicate. パラメータfield_[N]は重複を許可していないにも関わらず、重複する値が存在する。 field_[N]をすべてのノードKey間でユニークな値で指定する。
field_[N] select from the list. パラメータfield_[N]をリストにない値で更新しようとしている。 field_[N]はリスト選択のためリスト一覧に存在する値を指定する。
field_[N] select from (0 or 1) パラメータfield_[N]を"0"または"1"以外の値では更新できない。 field_[N]はチェックボックのため、"0"(チェックなし)、"1"(チェック有り)のいずれかを指定する。

サンプルコード

DescribeNodeInfoリクエスト(PHP)

UpdateNodeInfoリクエスト(PHP)

PAGE TOP