プライベートクラウド V2.0
APIの概要
On-Premises OpenAPI V2.0は、RESTful仕様に基づくオープンプラットフォームであり、サードパーティ製プライベートクラウドプラットフォームとDJI FlightHub 2 On-Premises間のデータ連携と業務統合を開発者に提供することを目的としています。
OpenAPI V2.0を通じて、開発者はデバイス管理、飛行タスク管理、データ管理(メディア、モデル、地図データ)などの主要モジュールを中心としたシステム統合を行い、FlightHub 2上でのデータ連携、デバイス管理、タスクスケジューリング、軽量リアルタイム制御などのユースケースを実現できます。
V1.0と比較して、V2.0は二次開発シナリオのクローズドループを中核的な目標としています。既存の機能を基盤として、デバイス管理、飛行タスク管理、データ管理(メディア、モデル、地図)などの主要モジュールに対するAPIを体系的に補完し、インターフェース総数は300以上(V1.0は67)に達しました。
同時に、本バージョンではインターフェース体系を最適化し、Public CloudとOn-Premisesのインターフェースドキュメントを分離することで、インターフェースの分類をより明確にし、開発者による迅速な理解と統合を容易にするとともに、OpenAPIが今後よりアジャイルな反復サイクルへ移行することを可能にしました。
機能一覧
| 機能 | 説明 |
|---|---|
| 組織およびプロジェクト管理 | プロジェクト、メンバー、ロール権限のクエリおよび管理機能を提供します。 |
| デバイス管理 | デバイスリスト、リアルタイムステータス、物モデルシャドウ、HMSヘルスイベント、ネットワークおよびRTK構成など、デバイスのクエリおよび管理をサポートし、デバイス管理および構成システムの構築に利用できます。 |
| 飛行タスク | 飛行タスクの作成、タスクリストおよび実行詳細のクエリ、飛行記録、AIアラートなどをサポートし、飛行タスク管理システムの構築に利用できます。 |
| リアルタイム制御 | クラウド制御権のクエリと取得、ポイント指定飛行、POI周回、カメラ制御コマンドなどの発行をサポートし、業務レベルかつ軽量化されたリアルタイム制御能力を実現します。 |
| ライブストリーム | ライブストリームおよびバイパス配信の管理、レンズおよび画質の切り替えなどをサポートし、ライブストリーム管理システムの構築に利用できます。 |
| メディア管理 | メディアファイルのクエリ、管理およびダウンロードをサポートし、メディア管理システムの構築に利用できます。 |
| モデル管理 | 再構築タスクの開始およびモデル資産の管理をサポートし、モデル管理システムの構築に利用できます。 |
| 飛行ルート管理 | 飛行ルートリストの取得、飛行ルートファイルの管理などをサポートし、飛行ルートファイル管理システムの構築に利用できます。 |
| 地図データ管理 | アノテーション管理、カスタム飛行エリア管理、信号ヒートマップクエリなどをサポートします。 |
| 変化検出 | 変化分析タスクの開始および検出結果のクエリをサポートし、施工監視、巡検比較などのシナリオに適用できます。 |
| オープンモデリング | サードパーティプラットフォームのメディアデータを使用してモデリングタスクを開始することをサポートします。 |
インターフェースドキュメント
インターフェースドキュメントには、OpenAPIの機能一覧、チュートリアル、インターフェース一覧およびインターフェースの説明が含まれます。詳細については、OpenAPIインターフェースドキュメントを参照してください。
サンプルソースコード
サンプルソースコードをデプロイして正常に実行すると、OpenAPI V2.0をベースに開発された機能画面を体験できます。サンプルソースコードを通じて、OpenAPIの接続方法や使用方法をすばやく理解でき、開発と統合を加速できます。
サンプルソースコード をクリックして、ソースコードと接続ガイドを入手してください。
製品アーキテクチャ

クイックスタート
環境設定(FlightHub 2 オンプレミス版固有)
DJI FlightHub 2 On-Premises版展開マニュアルを参照して、FlightHub 2オンプレミス版を展開してください。
認証と認可
ドキュメント《認証と認可チュートリアル》を参照し、OpenAPIの認証と認可の原理を理解した上で、x-user-tokenおよびX-Project-Uuidを取得してください。これら2つのパラメータは、ほとんどのインターフェースのヘッダーフィールドで渡される必要があり、OpenAPIのセキュリティを確保し、FlightHub 2へのアクセス制御を実現するために使用されます。
サンプルコード
1. FlightHub 2リアルタイム制御サービスステータスのクエリ
FlightHub 2オンプレミス版が正常に展開された後、インターフェースを呼び出してリアルタイム制御サービスのステータスをクエリします: FlightHub 2システムステータスのクエリ
```http
GET /openapi/v2.0/drc/health HTTP/1.1
Host: 127.0.0.1:30812
X-Language: en
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
X-Project-Uuid: xxxxxxxxxx
x-user-token: xxxxxxxx
インターフェースが0を返した場合、FlightHub 2リアルタイム制御サービスが正常に動作していることを示します:
```http
{
"code": 0,
"message": "OK",
"data": null
}
2. 組織配下のプロジェクトリストを取得
FlightHub 2上で組織を作成し、プロジェクトを作成してデバイスをバインドします。本説明書「プラットフォーム基礎 > 組織管理」の章を参照してFlightHub 2上で関連する組織およびプロジェクトの作成操作を行った後、組織配下のプロジェクトリストを取得インターフェースを呼び出して、作成済みのプロジェクトリストを取得してください。
GET /openapi/v2.0/manage/api/v1/organizations/{uuid}/projects?usage=complete&sort_column=create_time&sort_type=desc&page=1&page_size=20 HTTP/1.1
Host: 127.0.0.1:30812
X-Language: en
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
X-Project-Uuid: xxxxxxxxxx
x-user-token: xxxxxxxx
作成済みのプロジェクトリストが返されます:
```http
{
"code": 0,
"message": "OK",
"data": {
"list": [
{
"name": "c2c_test",
"introduction": "a",
"uuid": "b2c3d4e5-6789-0123-bcde-f12345678901",
"project_id": "PRJ202401001",
"org_uuid": "a1b2c3d4-5678-9012-abcd-ef1234567890",
"status": "active",
"c2c_enable": true,
"dock_rotation_disabled": false,
"c2c_task_enable": true,
"created_at": 1700000000,
"updated_at": 1700100000
}
]
}
}
3. ライブストリームを開始
本説明書の章ドキュメント《デバイス管理》を参照してFlightHub 2上でデバイスのバインド操作を行った後、ドキュメント《ライブストリーム管理チュートリアル》を参照してライブストリーム配信を開始してください。
```http
POST /openapi/v2.0/drc/api/v2/projects/{proj_uuid}/live-channels/stream/start HTTP/1.1
Host: 127.0.0.1:30812
X-Project-Uuid: xxxxxxxxxx
X-Language: en
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
Content-Type: application/json
x-user-token: xxxxxxxx
Content-Length: 130
{
"sn": "1ZNBH1Dxxxxxxx",
"camera": "165-0-7",
"video": "normal-0",
"gateway_sn": "7CTDM3Dxxxxxxx",
"video_quality": 0
}
インターフェースが0を返した場合、配信タスクが正常に発行され、デバイスは構成に従ってメディアサーバーへのストリーム配信を開始することを示します:
```c
{
"code": 0,
"message": "OK",
"data": null
}