Event API

2026-10-16

Funktionsübersicht

EventAPI ist der aktive Benachrichtigungsdienst von FlightHub Sync zum Senden von Geschäftsevents in Echtzeit an Plattformen von Drittanbietern. Bei der Nutzung von EventAPI ist Folgendes zu beachten:

    • Sie müssen das Feld x-dji-signature im Header des empfangenen Services überprüfen. Die Signatur wird mithilfe von HMAC-SHA256 auf Grundlage des Organisationstokens berechnet, das zur Überprüfung der Gültigkeit der Anfragenquelle verwendet wird.
  • Sie können Benachrichtigungsregeln konfigurieren, Ereignistypen für das Abonnement auswählen und die Datenabonnements für alle Projekte oder bestimmte Projekte festlegen.
  • Der empfangende Endpunkt unterstützt sowohl HTTP- als auch HTTPS-Protokolle.
  • FlightHub 2 sendet die Ereignisbenachrichtigungen über eine feste IP-Adresse. Server in verschiedenen Regionen verwenden unterschiedliche IP-Adressen. Für die On-Premises-Version von FlightHub hängt die spezifische IP-Adresse von Ihrem Server ab.
Land/RegionIP
EU-Server + Globaler Server18.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

Konfiguration der Benachrichtigungsregel

Regelverwaltung

Die Regelliste enthält folgende Informationen:

  • Regelname: Benutzerdefiniert, bis zu 60 Zeichen
  • Push-Adresse: Endpunkt-URL (HTTP/HTTPS)
  • Datenumfang: Alle Projekte oder bestimmte Projekte
  • Abonnierte Ereignisse: Liste der ausgewählten Ereignistypen
  • Status: Aktiviert/Deaktiviert
  • Aktionen: Bearbeiten, Löschen

Datenbereichskonfiguration

  • Alle Projekte: Enthält automatisch alle zukünftigen Projekte.
  • Spezifische Projekte: Jedes Projekt kann nur von einer benutzerdefinierten Regel referenziert werden (mit Ausnahme von Regeln für „Alle Projekte“). Projekte, die bereits referenziert wurden, werden ausgegraut.

Hinweis: Wenn in der Organisation bereits eine Regel für „Alle Projekte“ existiert, löst das Erstellen einer neuen projektspezifischen Regel eine Warnung über eine doppelte Ereignisübermittlung als Auslöser aus.

Überprüfung des Zustellungsprotokolls

Die EventAPI bietet Statistiken zu den Zustellungsprotokollen der letzten 7 Tage, darunter:

  • Erfolgsrate: Wird als Prozentsatz angezeigt; ein Rückruf von 200 gilt als erfolgreich.
  • Gesamtanzahl der Ereignisse: Anzahl der in den letzten 7 Tagen erzeugten Ereignisse
  • Anzahl der Fehlversuche: Gesamtanzahl fehlgeschlagener Zustellungen über 7 Tage

Protokolle der letzten 7 Tage können im CSV-Format heruntergeladen werden. Es werden nur Daten aus diesem Zeitraum aufbewahrt.

Push-Ereignistypen

Benachrichtigung zur Dateisynchronisierung

{
   "id": "e3b0c442-73fc-1c14-9afb-f17e2fa6826a", // Universell eindeutiger Bezeichner (UUID) für die Ereignisnachricht
  "type": "file_sync_success", // Ereignistyp: Dateisynchronisierungsbenachrichtigung
  "created_at": 1767875288, // Zeitstempel der Ereignisübermittlung (Sekunden)
  "data": {
    "task_id": "sync_task_10001", // Universell eindeutiger Bezeichner der Synchronisierungsaufgabe
    "organization_id": "org_123456_xxxxxx", // Organisations-ID
    "project_id": "proj_789012_xxxxxx", // Projekt-ID der Datei
    "file_id": "file_345678_xxxxxx", // Datei-ID innerhalb von FlightHub
    "file_type": "application/pdf", // Dateityp (Wegpunktroute, Flugaufzeichnung, Modell oder Mediendatei)
    "file_external_key": "customer_storage/2026/01/report_09.pdf", // Objektschlüssel (Speicherpfad) für die Datei im Drittanbieter-Speicher-Bucket
    "file_bytes_size": 1048576, // Dateigröße (Bytes)
    "fh2_file_path": "/project_docs/report/report_09.pdf", // Ursprünglicher logischer Pfad der Datei in DJI FlightHub 2
   }
}

KI-Warnliste und Snapshot abrufen

{
"id": "e3b0c442-98fc-1c14-9afb-f17e2fa6826a" , // UUID der Ereignisnachricht
  "type": "ai_alert_record", // Ereignistyp: KI-Erkennungsdatensätze
  "created_at": 1767875288, // Zeitstempel der Ereignisübermittlung (Sekunden)
  "data": {
    "alert_uuid": "e3b0c442-98fc-1c14-9afb-f17e2fa6826a", // UUID der Warnungsdatensätze
    "algorithm_source": 100002, // // Algorithmusquellen-ID. Aufzählungswerte wie folgt:
                                   // 0: Offizieller intelligenter Algorithmus von DJI
                                   // 1: DJI Sichtlicht-Erkennung von Personen, Fahrzeugen und Booten
                                   // 2: DJI Infrarot-Erkennung von Personen, Fahrzeugen und Booten
                                   // 3: DJI Infrarot-Temperaturerkennung
                                   // 255: AI-inside Drittanbieter-Algorithmen auf dem Fluggerät
                                   // 100001: AI-LINK Drittanbieter-Cloud-Algorithmen
                                   // 100002: DJI multimodale Objekterkennung
    "drone_sn": "1581F6XXXXXX00A6XXXX", // Seriennummer des Fluggeräts, das die Aufgabe ausführt
    "file_id": 123456, // Zugehörige Original-Mediendatei-ID
    "file_url": "https://file-storage.djicdn.com/example/path/image.jpg?auth_key=xxxx", // Download-Link des Originalbilds (enthält Authentifizierungsparameter)
    "flight_id": "f17e2fa6-826a-48c5-a89a-fffe4093xxxx", // Zugehörige Flug-ID
    "gateway_sn": "6QCDL8XXXXXX02XXXX", // Zugehörige Dock-/Gateway-Geräte-SN
    "interval_seconds": 0, // Warnintervall oder Dauer (Sekunden). Standardmäßig 0 für Nicht-Cloud-Algorithmen
    "labels": [
      "lights"// Erkanntes Objektlabel/-typ
    ],
    "location": {
      "altitude": 80.5, // Die Höhe beim Auftreten der Warnung (Meter)
      "latitude": 22.123456, // Der Breitengrad beim Auftreten der Warnung. Bei Bordalgorithmen ist dies die GPS-Koordinate des Kamerablickfeldzentrums beim Auftreten der Warnung. Bei Cloud-Algorithmen ist dies die Position des Fluggeräts.
      "longitude": 113.123456, // Der Längengrad beim Auftreten der Warnung. Bei Bordalgorithmen ist dies die GPS-Koordinate des Kamerablickfeldzentrums beim Auftreten der Warnung. Bei Cloud-Algorithmen ist dies die Position des Fluggeräts.
    },
    "project_id": "fe2400a5-5a74-4cb5-8374-548b7eaxxxxx", // Zugehörige Projekt-UUID
    "task_name": "FlyToTask_Inspect_ZoneA", // Zugehöriger Flugaufgabenname
    "thumbnail_url": "https://oss-cn-hangzhou.aliyuncs.com/example/thumbnail.jpeg?Expires=1767961676&Signature=xxxx", // Vorschaubild-Download-Link (enthält Signatur und Ablaufdatum)
    "timestamp": 1767875275677, // Der Zeitstempel der KI-Erkennung (Millisekunden)
  }
}

Benachrichtigung über den Fortschritt der ausgelösten Workflow-Ausführung

Wird verwendet, um den Knotenausführungsfortschritt des automatischen Entsendungs-Workflows (Vorfallreaktions-Workflow) zu pushen, sodass Drittsysteme den Aufgabenstatus, Endzustände und Fehlalarmmarkierungen in Echtzeit synchronisieren können.

{
  "event_type": "alert_workflow_progress",         // Ereignistyp: Ausgelöster Workflow-Ausführungsfortschritt
  "event_id": "e3b0c442-73fc-1c14-9afb-f17e2fa6826a", // Eindeutige Ereignis-Nachricht-ID (UUID)
  "org_id": "org_123456_xxxxxx",                   // Organisations-ID, zu der dieses Ereignis gehört
  "project_id": "proj_789012_xxxxxx",              // Projekt-ID, zu der dieses Ereignis gehört (optional)
  "created_at": 1767875288,                        // Zeitstempel des Ereignis-Pushs (Sekunden)
  "data": {
    "incident_id": "incident_2026062900001",       // ID des Vorfall-Ereignisses
    "workflow_uuid": "wf_uuid_xxxxxxxxxxxx",       // Workflow-UUID
    "drone_sn": "1581F5BKD2380030XXXXX",           // Seriennummer des Betriebsfluggeräts
    "node_type": "command_task",                   // Knotentyp: command_task (FlyTo-Aufgabe) / device_actions (Geräteaktion)
    "status": 1,                                   // Aktueller Knotenstatuscode, abhängig vom node_type; Enumerationen unten:
                                                   // node_type = "command_task" (FlyTo-Aufgabe):
                                                   //   0: Ausstehend         (nicht-terminal)
                                                   //   1: In Ausführung       (nicht-terminal)
                                                   //   2: Erfolgreich         (terminal)
                                                   //   3: Manuelle Eingriff   (terminal)
                                                   //   4: Ausführung fehlgeschlagen (terminal)
                                                   // node_type = "device_actions" (Geräteaktions-Knoten):
                                                   //   0: Erfolgreich         (terminal)
                                                   //   1: Teilweise erfolgreich (terminal)
                                                   //   2: Fehlgeschlagen      (terminal)
                                                   //   3: In Bearbeitung      (nicht-terminal)
                                                   //   4: Manuelle Eingriff   (terminal)
    "is_false_alarm": false,                       // Ob als Fehlalarm markiert (echter Wert nur im Endzustand zurückgegeben; in nicht-terminalen Zuständen fest auf false)
    "flight_id": "task_uuid_xxxxxxxxxxxx"          // UUID der aktuellen execution_task
  }
}

Benachrichtigung zum Hochladen von Mediendateien

{
  "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"
  }
}

Benachrichtigung zum Hochladen und Aktualisieren der Flugroutendatei

{
  "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", // Flugrouten-ID
    "name": "New waypoint route (2)",           // Flugroutenname
    "object_key": "1testd05-34ce-46b6-a872-cb32b8c98f64/test9b47-b972-4663-b1ce-5bd5test24a4/e5testb3-2cf8-49af-b49b-64test0032c7/New waypoint route (2).kmz", // Objektspeicherschlüssel der Flugroute
    "type": 5 // Dateityp. 5 steht für die Flugroute
  }
}

Benachrichtigung zum Abschluss der Modellrekonstruktion

{
  "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", // Modell-ID
    "name": "xx Model",                      // Modellname
    "object_key": "105ddd05-34ce-46b6-a872-cb32b8c98f64/38559b47-b972-4663-b1ce-5bd5a29224a4/etestbb3-2cf8-49af-b49b-64b1610032c7/Model", // Modell-Objektspeicherschlüssel
    "type": 8//8: 2D-Modell, 9: 3D-Modell
  }
}

Benachrichtigung zum abnormalen Verlassen der Rückkehrfunktion

{
  "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, // Grund für den abnormalen RTH-Abbruch: „2": „Initialisierung des Verhaltensbaums fehlgeschlagen"; „3": „Von Hindernissen umgeben"; „4": „Flugbeschränkung ausgelöst"; „5": „Hindernis zu nah"; „6": „Kein GPS-Signal"; „7": „GPS- und VIO-Positionsausgabe-Flags sind falsch"; „8": „Großer Positionsfehler zwischen GPS- und VIO-Fusion"
    "sn": "158TESTGD24BK0010114" // SN des Fluggeräts, bei dem der abnormale RTH-Abbruch auftritt
  }
}

Benachrichtigung zur hinzugefügten/bearbeiteten Organisationsannotation

{
  "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"
}

Push-Benachrichtigung zur Aktualisierung der RTSP-Adresse

{
  "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 Kartierungs-API – Fortschritt der Modell-Rekonstruktion

{
    "msg_type": "model_reconstruction_percent_change", // Nachrichtentyp, model_reconstruction_percent_change=Modellrekonstruktion, model_zip_change=Modellkomprimierung
    "resource_uuid": "7417bac3-00a4-4e07-b078-233c77e3fdf9",
    "model_uuid": "3d33643c-de0d-4070-b155-8cf791e662e2",
    "model_status": 14, // Rekonstruktionsstatus, 9=Modellkomprimierung, 12=Auf Ressourcen warten, 13=Ressourcenbeschaffung fehlgeschlagen, 14=Rekonstruktion läuft, 15=Rekonstruktion erfolgreich, 16=Rekonstruktion abgebrochen
    "model_size": 37353992,
    "reconstruction_progress": 100, // Rekonstruktionsfortschritt, 0-100
    "error_code": 0, // Rekonstruktionsfehlercode
    "zip_status": 2, // Komprimierungsstatus, 1=Komprimierung läuft, 2=Komprimierung abgeschlossen, 3=Komprimierung fehlgeschlagen
    "zip_progress": 100, // Komprimierungsfortschritt 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", // Download-Adresse der komprimierten Ausgabedatei
}

Last Updated: