On-Premises V2.0
API-Einführung
On-Premises OpenAPI V2.0 ist eine offene Plattform basierend auf RESTful-Spezifikationen und wurde entwickelt, um Entwicklern die Datenanbindung und Geschäftsintegration zwischen privaten Cloud-Plattformen von Drittanbietern und der DJI FlightHub 2 On-Premises zu ermöglichen.
Über OpenAPI V2.0 können Entwickler Systemintegrationen rund um zentrale Module wie Geräteverwaltung, Flugaufgabenverwaltung und Datenverwaltung (Medien-, Modell- und Kartendaten) realisieren und so Anwendungsfälle wie Datenanbindung, Geräteverwaltung, Aufgabenplanung und leichte Echtzeitsteuerung auf Basis von FlightHub 2 ermöglichen.
Im Vergleich zu V1.0 verfolgt V2.0 als zentrales Ziel geschlossene Szenarien für die Sekundärentwicklung. Auf Grundlage der bestehenden Funktionen vervollständigt V2.0 systematisch die APIs zentraler Module wie Geräteverwaltung, Flugaufgabenverwaltung und Datenverwaltung (Medien, Modell und Karte) und bringt die Gesamtzahl der Schnittstellen auf über 300 (V1.0 hatte 67).
Gleichzeitig wurde in dieser Version das Schnittstellensystem optimiert, indem die Dokumentation für Public Cloud und On-Premises voneinander getrennt wurde. Dadurch wird die Kategorisierung der Schnittstellen klarer, was Entwicklern ein schnelleres Verständnis und eine einfachere Integration ermöglicht und gleichzeitig eine agilere Iterationsweise von OpenAPI in der Zukunft erleichtert.
Funktionsliste
| Funktion | Beschreibung |
|---|---|
| Organisations- und Projektverwaltung | Bietet Abfrage- und Verwaltungsfunktionen für Projekte, Mitglieder und Rollenberechtigungen. |
| Geräteverwaltung | Unterstützt die Abfrage und Verwaltung von Geräten, einschließlich Geräteliste, Echtzeitstatus, Thing-Model-Shadow, HMS-Gesundheitsereignisse sowie Netzwerk- und RTK-Konfiguration – zum Aufbau von Geräteverwaltungs- und Konfigurationssystemen. |
| Flugaufgaben | Unterstützt das Erstellen von Flugaufgaben, das Abfragen von Aufgabenlisten und Ausführungsdetails, Flugaufzeichnungen, AI-Warnungen und mehr – zum Aufbau von Flugaufgaben-Verwaltungssystemen. |
| Echtzeitsteuerung | Unterstützt das Abfragen und Erlangen der Cloud-Steuerungsberechtigung, das Senden von Point-to-Point-Flugbefehlen, POI-Umkreisflug, Kamerasteuerungsbefehlen und mehr – ermöglicht eine leichte Echtzeitsteuerung auf Geschäftsebene. |
| Livestream | Unterstützt die Verwaltung von Livestream und Bypass-Streaming, das Umschalten von Objektiven und Qualitätsstufen und mehr – zum Aufbau von Livestream-Verwaltungssystemen. |
| Medienverwaltung | Unterstützt das Abfragen, Verwalten und Herunterladen von Mediendateien – zum Aufbau von Medienverwaltungssystemen. |
| Modellverwaltung | Unterstützt das Starten von Rekonstruktionsaufgaben und die Verwaltung von Modell-Assets – zum Aufbau von Modellverwaltungssystemen. |
| Flugroutenverwaltung | Unterstützt das Abrufen von Flugroutenlisten, die Verwaltung von Flugroutendateien und mehr – zum Aufbau von Flugroutendatei-Verwaltungssystemen. |
| Kartendatenverwaltung | Unterstützt Annotationsverwaltung, Verwaltung benutzerdefinierter Flugbereiche, Abfrage von Signal-Heatmaps und mehr. |
| Veränderungserkennung | Unterstützt das Starten von Veränderungsanalyseaufgaben und das Abfragen von Erkennungsergebnissen – anwendbar auf Szenarien wie Baustellenüberwachung und Inspektionsvergleich. |
| Offene Modellierung | Unterstützt das Starten von Modellierungsaufgaben mit Mediendaten aus Plattformen von Drittanbietern. |
Schnittstellendokumentation
- Die Schnittstellendokumentation umfasst die OpenAPI-Funktionsliste, Tutorials, Schnittstellenliste und Schnittstellenbeschreibungen. Siehe: OpenAPI Schnittstellendokumentation.
Beispielquellcode
Nachdem Sie den Beispielquellcode bereitgestellt und erfolgreich ausgeführt haben, können Sie die auf OpenAPI V2.0 basierende Funktionsoberfläche erleben. Anhand des Beispielquellcodes können Sie sich außerdem schnell mit der Anbindung und Verwendung der OpenAPI vertraut machen und so die Entwicklung und Integration beschleunigen.
Klicken Sie auf Beispielquellcode, um den Quellcode und die Anbindungsanleitung zu erhalten.
Produktarchitektur

Schnellstart
Umgebungseinrichtung (spezifisch für die FlightHub 2 On-Premises Version)
Beachten Sie das Bereitstellungshandbuch der DJI FlightHub 2 On-Premises Version, um die lokale Version von FlightHub 2 bereitzustellen.
Authentifizierung und Autorisierung
Beziehen Sie sich auf das Dokument Tutorial zur Authentifizierung und Autorisierung, um die Prinzipien der OpenAPI-Authentifizierung und -Autorisierung zu verstehen und x-user-token und X-Project-Uuid zu erhalten. Diese beiden Parameter müssen im Header-Feld der meisten Schnittstellen übergeben werden, um die Sicherheit von OpenAPI zu gewährleisten und die Zugriffskontrolle auf FlightHub 2 zu realisieren.
Beispielcode
1. Status des FlightHub 2-Echtzeitsteuerungsdienstes abfragen
Nachdem die FlightHub 2 On-Premises Version erfolgreich bereitgestellt wurde, rufen Sie die Schnittstelle auf, um den Status des Echtzeitsteuerungsdienstes abzufragen: FlightHub 2-Systemstatus abfragen
```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
Ein Rückgabewert von 0 zeigt an, dass der FlightHub 2-Echtzeitsteuerungsdienst normal funktioniert:
```http
{
"code": 0,
"message": "OK",
"data": null
}
2. Liste der Projekte unter der Organisation abrufen
Erstellen Sie eine Organisation, ein Projekt und binden Sie Geräte in FlightHub 2 ein. Beziehen Sie sich auf den Abschnitt Plattformgrundlagen > Organisationsverwaltung dieses Handbuchs zur Erstellung von Organisationen und Projekten in FlightHub 2, und rufen Sie anschließend die Schnittstelle Liste der Projekte unter der Organisation abrufen auf, um die Liste der erstellten Projekte zu erhalten.
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
Die Liste der erstellten Projekte wird zurückgegeben:
```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. Livestream starten
Beziehen Sie sich auf das Kapitel Geräteverwaltung dieses Handbuchs zur Gerätebindung in FlightHub 2, beziehen Sie sich anschließend auf das Livestream-Verwaltungs-Tutorial, um das Streaming zu starten.
```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
}
Ein Rückgabewert von 0 zeigt an, dass die Streaming-Aufgabe erfolgreich versendet wurde und das Gerät gemäß der Konfiguration mit dem Streamen an den Medienserver beginnt:
```c
{
"code": 0,
"message": "OK",
"data": null
}