APIについて
API概要
Fらくねっとは、ノースバウンドAPI(Northbound Application Programming Interface)を提供します。Fらくねっとコントローラに対して、コマンドライン実行により、機器情報の取得や操作を行うことが可能です。お客様のネットワーク管理ツール等と連携させてご活用ください。
Fらくねっとノースバウンド API は、RESTful API 設計に従って提供されており、標準の HTTP メソッドを使用して機器情報の取得や操作を行うことが可能です。 API を実行するためには、後述のログイン処理を実行しトークンを取得する必要があり、トークンを取得したユーザが持つ実行権限と同一の機能について、API 実行が可能です。また、トークンの有効期間はデフォルトで、120分となります。
API の操作について
Fらくねっとノースバウンド API の各機能については、Fらくねっとノースバウンド API ドキュメントページをご参照ください。
本項では、Fらくねっとノースバウンド API ドキュメントページの説明を記載します。
API リクエスト
項目 | 説明 |
---|---|
① HTTP メソッド | API 実行する際の HTTP メソッドを表します。 |
② URI | API 実行する際の URI を表します。 |
③ リクエストパラメータ | API 実行する際のリクエストパラメータを表します。 このうち「* required」と記載されたものは、必須パラメータです。 |
④ Try it out | こちらを押下いただくと、APIドキュメント画面で API を実行できます。 その際には後述の「⑤ authorization」でトークン情報をご入力ください。 |
⑤ authorization | こちらを押下いただくと、authorization ダイアログが開きます。 トークン情報を入力いただくことで、API 実行が可能になります。 |
【注意】リクエストパラメータのName列が「router_id_list」となっている箇所は、curlコマンドによる入力に対応しておりません(APIドキュメント画面の ④Try it out ではエラーします)。python等での実行をお願いいたします。
API レスポンス
項目 | 説明 |
---|---|
① ステータスコード | API 実行結果のステータスコードを表します。 |
② レスポンスボディ | API 実行結果の例を表します。 「Model」を押下いただくことで、各パラメータの説明をご確認いただけます。 |
認証ダイアログ
項目 | 説明 |
---|---|
① 認証情報入力欄 | 「Bearer {トークン情報}」を入力し、「② Authorize」を押下いただくことで、 認証が完了します。 |
② Authorize | こちらが「Authorize」と記載されている場合は、未認証状態です。 こちらが「Logout」と入力されている場合は、認証情報が入力された状態です。 |
API 実行例、実行結果
項目 | 説明 |
---|---|
① Curl コマンド実行例 | Curl コマンドを使った場合の、API 実行コマンドを表します。 |
② API 実行結果 | 「① Curl コマンド実行例」の実行結果を表します。 |
API実行例
ログイン
入力(curl):
curl -X 'POST' \
'https://f-rakunet.jp/api/v1/user-auth/login/token?client_id={テナントID}&uid={ユーザー名}&password={パスワードのMD5ハッシュ(*)}' \
-H 'accept: application/json' \
-d ''
* パスワードのMD5ハッシュは、「echo -n "パスワード" | md5sum」により確認できます。
出力:
{
"clientType": "TENANT",
"clientName": "TestTenant", /// テナント名を出力
"serviceLevel": "BASIC", /// サービスレベルを出力
"mngdDeviceNum": 10, /// 契約台数を出力
"ztpDeviceNum": 10, /// ZTP契約機器数を出力
"unuseZtpPass": false,
"priviledge": 2,
"accessToken": "{トークン情報}" /// トークン情報を出力★以後トークン情報を利用して、情報取得や操作を行うことができます。
}
機器一覧を表示
入力(curl):
curl -X 'GET' \
'https://f-rakunet.jp/api/v1/tenants/{テナントID}/routers' \
-H 'accept: application/json' \
-H 'authorization: Bearer {トークン情報}'
出力:
{
"data": [
{
"routerId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceId": "",
"group": "", /// グループを出力
"frakuName": "F71-FNS", /// ホスト名を出力
"model": "F71", /// 機種を出力
"frakuLocation": "hiratsuka", /// 設置場所を出力
"presentVersion": "F71 Version 01.11(01)[0]00.00.0 [YYYY/MM/DD hh:mm]",
"serial": "xxxxxxxx", /// シリアル番号を出力
"endpoint_addr": "A.B.C.D", /// IPアドレスを出力
"name": "平塚1", /// 名前(Fらくねっとにて付与)
"status": "disconnected", /// ステータスを出力
"id": "xxxxxxxxxxxxxxxxxxxxxxxx",
"uptime": null, /// uptimeを出力
"signalLevel": null, /// モバイル電波強度を出力
"cpu0": null, /// CPU使用率を出力
"cpu1": null,
"cpu2": null,
"cpu3": null,
"cpu4": null,
"cpu5": null,
"cpu6": null,
"cpu7": null,
"memory": null, /// メモリ使用率を出力
"fan1Status": null, /// FANステータスを出力
"psu1Status": null, /// 電源の状態を出力
"psu2Status": null
},
{
"routerId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"deviceId": "",
"group": "",
"frakuName": "F71-FNS-CORE",
"model": "F71",
"frakuLocation": "hiratsuka",
"presentVersion": "F71 Version 01.11(01)[0]00.00.0 [YYYY/MM/DD hh:mm]",
"serial": "xxxxxxxx",
"endpoint_addr": "A.B.C.D",
"name": "",
"status": "connected",
"id": "xxxxxxxxxxxxxxxxxxxxxxxx",
"uptime": 35,
"signalLevel": null,
"cpu0": 47,
"cpu1": 1,
"cpu2": 1,
"cpu3": 1,
"cpu4": null,
"cpu5": null,
"cpu6": null,
"cpu7": null,
"memory": 55,
"fan1Status": "unknown",
"psu1Status": null,
"psu2Status": null
}
],
"total": 2, /// 登録機器数
"connected": 1 /// connected状態の機器数
}