Event API

2026-10-16

機能紹介

EventAPIは、FlightHub Syncのアクティブ通知サービスであり、ビジネスイベントをリアルタイムでサードパーティプラットフォームへプッシュ配信できます。EventAPIを使用する際は、次の点に注意してください。

    • ユーザーは、受信したサービスのヘッダー内のフィールドx-dji-signatureを検証する必要があります。署名は、リクエスト元の正当性を検証するために使用される組織トークンに基づき、HMAC-SHA256を用いて算出されます。
  • ユーザーは、通知ルールを設定し、購読するイベントタイプを選択し、すべてのプロジェクトまたは特定のプロジェクトのデータ購読を指定できます。
  • 受信エンドポイントは、HTTPおよびHTTPSプロトコルの両方をサポートします。
  • FlightHub 2は固定IPアドレスを使用してイベント通知をプッシュ送信します。サーバーの地域が異なると、使用するIPアドレスも異なります。FlightHubのオンプレミス版では、使用するIPアドレスはお使いのサーバーによって異なります。
国/地域IP
EUサーバー + グローバルサーバー18.198.174.64
3.64.50.113
3.71.214.14
63.177.169.61
52.3.45.199
52.55.215.248
52.73.49.179
34.237.190.206
34.237.182.49
34.228.131.169

通知ルール設定

ルール管理

ルール一覧には、次の情報が表示されます。

  • ルール名:ユーザー定義、最大60文字まで
  • プッシュアドレス:エンドポイントURL(HTTP/HTTPS)
  • データ範囲:すべてのプロジェクトまたは特定のプロジェクト
  • 購読イベント:選択したイベントタイプの一覧
  • ステータス:有効/無効
  • アクション:編集、削除

データスコープ設定

  • すべてのプロジェクト:今後のすべてのプロジェクトが自動的に含まれます。
  • 特定のプロジェクト:各プロジェクトは、1つのカスタムルールからのみ参照できます(「すべてのプロジェクト」ルールを除く)。参照済みのプロジェクトはグレー表示になります。

**注記:**組織内に「すべてのプロジェクト」ルールが既に存在する場合、新しい特定プロジェクト向けルールを作成すると、二重イベントプッシュ警告がトリガーされます。

配送ログの監査

EventAPIは7日間の配送ログ統計を提供します。これには次の内容が含まれます。

  • 成功率:パーセンテージで表示されます。200のコールバックが成功したとみなされます。
  • 合計イベント:直近7日間に生成されたイベント数
  • 失敗回数:7日間における配送失敗の合計数

直近7日間のログをCSV形式でダウンロードできます。この期間のデータのみ保持されます。

プッシュイベントタイプ

ファイル同期通知

{
  "id": "e3b0c442-73fc-1c14-9afb-f17e2fa6826a", // イベントメッセージの汎用一意識別子(UUID)
  "type": "file_sync_success", // イベントタイプ:ファイル同期通知
  "created_at": 1767875288, // イベントプッシュのタイムスタンプ(秒)
  "data": {
    "task_id": "sync_task_10001", // 同期タスクの汎用一意識別子
    "organization_id": "org_123456_xxxxxx", // 組織ID
    "project_id": "proj_789012_xxxxxx", // ファイルのプロジェクトID
    "file_id": "file_345678_xxxxxx", // FlightHub内のファイルID
    "file_type": "application/pdf", // ファイルタイプ(ウェイポイントルート、飛行記録、モデル、またはメディアファイル)
    "file_external_key": "customer_storage/2026/01/report_09.pdf", // サードパーティストレージバケット内のファイルのオブジェクトキー(ストレージパス)
    "file_bytes_size": 1048576, // ファイルサイズ(バイト)
    "fh2_file_path": "/project_docs/report/report_09.pdf", // DJI FlightHub 2内のファイルの元の論理パス
   }
}

AI警告リストとスナップショットを取得

{
  "id": "e3b0c442-98fc-1c14-9afb-f17e2fa6826a" , // イベントメッセージのUUID
  "type": "ai_alert_record", // イベントタイプ:AI検出レコード
  "created_at": 1767875288, // イベントプッシュのタイムスタンプ(秒)
  "data": {
    "alert_uuid": "e3b0c442-98fc-1c14-9afb-f17e2fa6826a", // 警告レコードのUUID
    "algorithm_source": 100002, // // アルゴリズムソースID。列挙値は以下の通り:
                                   // 0: DJI公式インテリジェントアルゴリズム
                                   // 1: DJI可視光による人・車両・船舶の検出
                                   // 2: DJI赤外線による人・車両・船舶の検出
                                   // 3: DJI赤外線温度検出
                                   // 255: 機体搭載のAI-insideサードパーティアルゴリズム
                                   // 100001: AI-LINKサードパーティクラウドアルゴリズム
                                   // 100002: DJIマルチモーダルオブジェクト検出
    "drone_sn": "1581F6XXXXXX00A6XXXX", // タスクを実行している機体のシリアル番号
    "file_id": 123456, // 関連するオリジナルメディアファイルID
    "file_url": "https://file-storage.djicdn.com/example/path/image.jpg?auth_key=xxxx", // オリジナル画像のダウンロードリンク(認証パラメータを含む)
    "flight_id": "f17e2fa6-826a-48c5-a89a-fffe4093xxxx", // 関連するフライトID
    "gateway_sn": "6QCDL8XXXXXX02XXXX", // 関連するドック/ゲートウェイデバイスSN
    "interval_seconds": 0, // アラート間隔または持続時間(秒)。非クラウドアルゴリズムの場合はデフォルトで0
    "labels": [
      "lights"// 検出された対象のラベル/タイプ
    ],
    "location": {
      "altitude": 80.5, // アラート発生時の高度(メートル)
      "latitude": 22.123456, // アラート発生時の緯度。搭載アルゴリズムの場合、これはアラート発生時のカメラ視野中心のGPS座標です。クラウドアルゴリズムの場合、これは機体の位置です。
      "longitude": 113.123456, // アラート発生時の経度。搭載アルゴリズムの場合、これはアラート発生時のカメラ視野中心のGPS座標です。クラウドアルゴリズムの場合、これは機体の位置です。
    },
    "project_id": "fe2400a5-5a74-4cb5-8374-548b7eaxxxxx", // 所属プロジェクトのUUID
    "task_name": "FlyToTask_Inspect_ZoneA", // 関連するフライトタスク名
    "thumbnail_url": "https://oss-cn-hangzhou.aliyuncs.com/example/thumbnail.jpeg?Expires=1767961676&Signature=xxxx", // サムネイルのダウンロードリンク(署名と有効期限を含む)
    "timestamp": 1767875275677, // AI検出が発生したタイムスタンプ(ミリ秒)
  }
}

トリガー型ワークフロー実行進捗の通知

自動ディスパッチワークフロー(接処警ワークフロー)のノード実行進捗をプッシュするために使用され、サードパーティシステムがタスクのステータス、終端状態、誤報マーキングをリアルタイムで同期できるようにします。

{
  "event_type": "alert_workflow_progress",         // イベントタイプ:トリガー型ワークフロー実行進捗
  "event_id": "e3b0c442-73fc-1c14-9afb-f17e2fa6826a", // イベントメッセージの一意の識別ID (UUID)
  "org_id": "org_123456_xxxxxx",                   // このイベントが属する組織ID
  "project_id": "proj_789012_xxxxxx",              // このイベントが属するプロジェクトID(任意)
  "created_at": 1767875288,                        // イベントプッシュのタイムスタンプ(秒)
  "data": {
    "incident_id": "incident_2026062900001",       // アラートイベントID
    "workflow_uuid": "wf_uuid_xxxxxxxxxxxx",       // ワークフロー UUID
    "drone_sn": "1581F5BKD2380030XXXXX",           // 運用機体のシリアル番号
    "node_type": "command_task",                   // ノードタイプ:command_task(FlyToタスク)/ device_actions(機体アクション)
    "status": 1,                                   // 現在のノードステータスコード、node_typeにより異なる。下記の列挙参照:
                                                   // node_type = "command_task"(FlyToタスクノード):
                                                   //   0:待機中     (非終端)
                                                   //   1:実行中     (非終端)
                                                   //   2:成功       (終端)
                                                   //   3:人による介入(終端)
                                                   //   4:実行失敗   (終端)
                                                   // node_type = "device_actions"(機体アクションノード):
                                                   //   0:成功         (終端)
                                                   //   1:部分的に成功 (終端)
                                                   //   2:失敗         (終端)
                                                   //   3:進行中       (非終端)
                                                   //   4:人による介入 (終端)
    "is_false_alarm": false,                       // 誤報としてマークされているかどうか(終端状態でのみ実際の値が返される。非終端では常にfalse)
    "flight_id": "task_uuid_xxxxxxxxxxxx"          // 現在の execution_task の UUID
  }
}

メディアファイルのアップロードに関する通知

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "media_file_uploaded",
  "created_at": 1767875288,
  "data": {
    "organization_id": "org_123456_xxxxxx",
    "project_id": "proj_789012_xxxxxx",
    "file_id": "file_345678_xxxxxx",
    "file_name": "DJI_20260108_120000_0001.JPG",
    "file_type": "image/jpeg",
    "file_size": 10485760,
    "device_sn": "1581F6XXXXXX00A6XXXX",
    "flight_id": "f17e2fa6-826a-48c5-a89a-fffe4093xxxx"
  }
}

飛行ルートファイルのアップロードと更新に関する通知

{
 "type": "wayline_file_uploaded",
  "org_id": "1024dd05-34ce-46b6-a872-cb32b8c98f64",
  "project_id": "38535b47-b972-4663-b1ce-5bd5a29224a4",
  "created_at": 1769414678,
  "data": {
    "id": "testcda7-c97d-4bf6-8f8f-b490b9b18401", // 飛行ルートID
    "name": "New waypoint route (2)",           // 飛行ルート名
    "object_key": "1testd05-34ce-46b6-a872-cb32b8c98f64/test9b47-b972-4663-b1ce-5bd5test24a4/e5testb3-2cf8-49af-b49b-64test0032c7/New waypoint route (2).kmz", // 飛行ルートのオブジェクトストレージキー
    "type": 5 // ファイルタイプ。5は飛行ルートを示す
  }
}

モデル構築完了の通知

{
  "type": "model_post_reconstruction",
  "org_id": "105ddd05-34ce-46b6-a872-cb32b8c98f64",
  "project_id": "38559b47-b972-4663-b1ce-5bd5a29224a4",
  "created_at": 1769414678,
  "data": {
    "id": "2e12cda7-c97d-4bf6-8f8f-btest9b18401", // モデルID
    "name": "xx Model",                      // モデル名
    "object_key": "105ddd05-34ce-46b6-a872-cb32b8c98f64/38559b47-b972-4663-b1ce-5bd5a29224a4/etestbb3-2cf8-49af-b49b-64b1610032c7/Model", // モデルのオブジェクトストレージキー
    "type": 8//8: 2Dモデル、9: 3Dモデル
  }
}

異常なRTH終了に関する通知

{
  "id": "9ab96be1-0231-4b2c-9892-2221188c323b",
  "type": "device_exit_return_home",
  "created_at": 1769400986,
  "data": {
    "action": 1,
    "event_type": "device_exit_return_home",
    "notify_type": "device_exit_return_home",
    "organization_uuid": "8test46f-2cd5-476b-9f33-415c98de11a5",
    "project_uuid": "8test9a5-d2ba-423d-a03e-e3b323c40810",
    "reason": null, // 異常RTH終了の理由:"2": "ビヘイビアツリーの初期化に失敗";"3": "障害物に囲まれている";"4": "飛行制限がトリガーされた";"5": "障害物が近すぎる";"6": "GPS信号なし";"7": "GPSおよびVIO位置出力フラグがfalse";"8": "GPSとVIOの融合間の位置誤差が大きい"
    "sn": "158TESTGD24BK0010114" // 異常RTH終了が発生した機体のSN
  }
}

組織注釈の追加/編集に関する通知

{
  "created_at": 1772803375,
  "data": {
    "count": 1,
    "download_url": "/openapi/v0.1/map/data-sync/files/33711783-bf96-440d-baa2-0e71afa1d485/f7356cd3-53de-4318-955f-306cbcc60ca2/0",
    "format": "kml-gz",
    "geometry_types": [
      "polygon"
    ],
    "sync_id": "annotation-f7356cd3-53de-4318-955f-306cbcc60ca2",
    "sync_type": 0
  },
  "id": "5df19eca-65cf-4975-a942-09fdcfd7bdf9",
  "org_id": "105ddd05-34ce-46b6-a872-cb32b8c98f64",
  "project_id": "33711783-bf96-440d-baa2-0e71afa1d485",
  "type": "map_geo_elements_update"
}

RTSPアドレス更新プッシュ

{
  "converter_name": "Example Converter",
  "converter_id": "29f4f54b-93af-4fd3-aed6-bd3d768082e9",
  "sn": "SN1234567890",
  "camera_index": "89-0-0",
  "device_callsign": "DRONE-01",
  "url": "rtsp://192.168.1.10:554/live/stream",
  "username": "rtsp_user",
  "password": "rtsp_password"
}

FlightHubマッピングAPI - モデル構築進捗状況

{
    "msg_type": "model_reconstruction_percent_change", // メッセージタイプ、model_reconstruction_percent_change=モデル再構築、model_zip_change=モデル圧縮
    "resource_uuid": "7417bac3-00a4-4e07-b078-233c77e3fdf9",
    "model_uuid": "3d33643c-de0d-4070-b155-8cf791e662e2",
    "model_status": 14, // 再構築ステータス、9=モデル圧縮、12=リソース待ち、13=リソース取得失敗、14=再構築中、15=再構築成功、16=再構築キャンセル
    "model_size": 37353992,
    "reconstruction_progress": 100, // 再構築進捗、0-100
    "error_code": 0, // 再構築エラーコード
    "zip_status": 2, // 圧縮ステータス、1=圧縮中、2=圧縮完了、3=圧縮失敗
    "zip_progress": 100, // 圧縮進捗 0-100
    "zip_file_key": "https://test-file-storage.djicdn.com/5a6f9d4b-2a38-4b4b-86f9-3a678da0bf4a/open_reconstruction/7417bac3-00a4-4e07-b078-233c77e3fdf9/3D/3d33643c-de0d-4070-b155-8cf791e662e2.zip?auth_key=1767942603-0-0-150d3c28868e91dd2446aef97c26de85", // 圧縮出力ファイルのダウンロードアドレス
}
Last Updated: