Open API¶
Guance は、Open API インターフェースを呼び出すことで、ワークスペースデータの取得や更新をサポートしています。
API の詳細なリストについては、Guance Open API ドキュメントライブラリ を参照してください。
認証方式¶
API インターフェースを呼び出す前に、まず API Key を作成し、認証方式として使用する必要があります。
インターフェースは API Key を認証方式として採用し、リクエストヘッダーの DF-API-KEY フィールドでリクエストの有効性を検証し、リクエストが所属するワークスペース(この API Key が所属するワークスペースに基づく)を特定します。
すべての GET リクエスト(データのクエリや取得に使用)は、リクエストヘッダーに DF-API-KEY を認証情報として提供するだけで済みます。
リクエスト構造¶
例:ダッシュボードの削除(POST リクエスト)
curl -X POST "https://openapi.guance.com/api/v1/dashboard/dsbd_922428e594ba44ce87229b8ca3007a90/delete" \
-H "Content-Type: application/json" \
-H "DF-API-KEY: ${DF_API_KEY}"
注意
システムは HTTP リクエスト方式を簡略化しており、GET と POST の 2 種類のみを使用します。
GET はデータ取得系のリクエスト(例:「ダッシュボードリストの取得」)、POST はデータ変更系のリクエスト(例:「ダッシュボードの作成」や「ダッシュボードの削除」)に使用されます。
接続アドレス Endpoint¶
| SaaS デプロイノード | Endpoint |
|---|---|
| Alibaba Cloud | https://openapi.guance.com |
| AWS | https://aws-openapi.guance.com |
注意
プライベートデプロイ版でも Open API 接続をサポートしています。具体的な Endpoint は実際のデプロイ環境に応じて異なります。
インターフェースルートアドレス仕様¶
インターフェースルートは、一般的に以下の命名規則に従います。
| 命名規則 |
|---|
| /api/v1/{オブジェクトタイプ}/{オブジェクト uuid}/{アクション} |
例:
- ダッシュボードリストの取得:/api/v1/dashboard/list
- ダッシュボードの作成:/api/v1/dashboard/create
- ダッシュボードの取得:/api/v1/dashboard/dsbd_0e233ee4804aca011ba94a9164a9ed7f/get
- ダッシュボードの削除:/api/v1/dashboard/dsbd_0e233ee4804aca011ba94a9164a9ed7f/delete
- ダッシュボードの変更:/api/v1/dashboard/dsbd_0e233ee4804aca011ba94a9164a9ed7f/modify
- ホストオブジェクトリストの取得:/api/v1/object/host/list
- プロセスオブジェクトリストの取得:/api/v1/object/process/list
注意
ルート内の v1 はインターフェースのバージョン番号です。リリースされた各バージョンのインターフェースは、前方互換性を維持する必要があります。互換性のないインターフェース変更や大規模なビジネス調整が発生した場合は、バージョン番号を増やす必要があります。
戻り値¶
インターフェースの戻り値は、HTTP リクエストレスポンスの仕様に従います。
- 正常なリクエストは HTTP ステータスコード 200 を返します
- API Key の認証失敗は HTTP ステータスコード 403 を返します
- サーバー側で処理できない、または不明なエラーは HTTP ステータスコード 500 を返します
- その他のエラー(データへのアクセス権限がない、操作対象が見つからないなど)は、それぞれ 403 や 404 などを返します。具体的なエラー定義は以下を参照してください。
レスポンス結果の例¶
{
"code":200,
"content":{
},
"pageInfo": {
"count": 20,
"pageIndex": 1,
"pageSize": 100,
"totalCount": 10
},
"errorCode":"",
"message":"",
"success":true,
"traceId":"3412000720344969928"
}
共通レスポンス結果パラメータ¶
| フィールド | タイプ | 説明 |
|---|---|---|
| code | Number | 戻りステータスコード。HTTP ステータスコードと一致します。エラーがない場合は固定で 200 です |
| content | String、Number、Array、Boolean、JSON | 戻りデータ。具体的なタイプはインターフェースのビジネスに依存します |
| pageInfo | JSON | すべてのリストインターフェースのページネーション情報 |
| errorCode | String | エラーステータスコード。エラーがない場合は空です |
| message | String | エラーコードに対応する具体的な説明情報を返します |
| success | Boolean | インターフェース呼び出しが成功した場合、固定で true です |
| traceId | String | 各リクエストを追跡するための一意の識別子です |
共通エラー定義¶
| エラーコード | HTTP ステータスコード | エラーメッセージ |
|---|---|---|
| RouterNotFound | 400 | リクエストルートアドレスが存在しません |
| InvalidApiKey | 403 | 無効なリクエスト API KEY です |
| InternalError | 503 | 不明なエラーです |
| ... |
API インターフェースリストの詳細については、Open API ドキュメントライブラリ を参照してください。