Version privée V2.0

2026-09-20

Présentation de l’API

On-Premises OpenAPI V2.0 est une plateforme ouverte basée sur les spécifications RESTful, conçue pour offrir aux développeurs l’interopérabilité des données et l’intégration métier entre les plateformes cloud privées tierces et le DJI FlightHub 2 On-Premises.

Grâce à OpenAPI V2.0, les développeurs peuvent réaliser des intégrations système autour des modules clés tels que la gestion des appareils, la gestion des tâches de vol et la gestion des données (données multimédias, de modèle et cartographiques), afin de prendre en charge des cas d’usage tels que l’interopérabilité des données, la gestion des appareils, la planification des tâches et le contrôle en temps réel léger sur la base de FlightHub 2.

Par rapport à la V1.0, la V2.0 a pour objectif central la fermeture de boucle des scénarios de développement secondaire. Sur la base des fonctionnalités existantes, elle complète systématiquement les API des modules clés tels que la gestion des appareils, la gestion des tâches de vol et la gestion des données (multimédia, modèle et cartographie), portant le nombre total d’interfaces à plus de 300 (la V1.0 en comptait 67).

Cette version optimise également le système d’interfaces en séparant la documentation des interfaces Public Cloud et On-Premises, rendant la catégorisation plus claire afin de faciliter une compréhension et une intégration plus rapides par les développeurs, et permettant à OpenAPI d’adopter un rythme d’itération plus agile à l’avenir.

Liste des fonctionnalités

FonctionnalitéDescription
Gestion de l’organisation et des projetsFournit des capacités de requête et de gestion pour les projets, les membres et les autorisations de rôle.
Gestion des appareilsPrend en charge la requête et la gestion des appareils, y compris la liste des appareils, l’état en temps réel, le thing-model shadow, les événements de santé HMS, la configuration réseau et RTK — utilisée pour construire des systèmes de gestion et de configuration des appareils.
Tâches de volPrend en charge la création de tâches de vol, la requête des listes de tâches et des détails d’exécution, les enregistrements de vol, les alertes AI — utilisée pour construire des systèmes de gestion des tâches de vol.
Contrôle en temps réelPrend en charge la requête et l’obtention du droit de contrôle cloud, l’envoi de commandes de vol point à point, de vol orbital POI, de contrôle de caméra et plus encore — permettant un contrôle en temps réel léger au niveau métier.
Diffusion en directPrend en charge la gestion de la diffusion en direct et du streaming dérivé (bypass), le changement d’objectif et de qualité, et plus encore — utilisée pour construire des systèmes de gestion des diffusions en direct.
Gestion des médiasPrend en charge la requête, la gestion et le téléchargement des fichiers multimédias — utilisée pour construire des systèmes de gestion des médias.
Gestion des modèlesPrend en charge le lancement de tâches de reconstruction et la gestion des actifs de modèle — utilisée pour construire des systèmes de gestion des modèles.
Gestion des itinéraires de volPrend en charge la récupération de la liste des itinéraires de vol, la gestion des fichiers d’itinéraires de vol, et plus encore — utilisée pour construire des systèmes de gestion des fichiers d’itinéraires de vol.
Gestion des données cartographiquesPrend en charge la gestion des annotations, la gestion des zones de vol personnalisées, la requête des cartes de chaleur de signal, et plus encore.
Détection de changementsPrend en charge le lancement de tâches d’analyse de changements et la requête des résultats de détection — applicable à des scénarios tels que la surveillance de chantier et la comparaison d’inspections.
Modélisation ouvertePrend en charge le lancement de tâches de modélisation à partir des données multimédias de plateformes tierces.

Documentation des interfaces

  • La documentation des interfaces comprend la liste des fonctionnalités OpenAPI, des tutoriels, la liste des interfaces et leurs descriptions. Reportez-vous à : Documentation des interfaces OpenAPI.

Code source d'exemple

Après avoir déployé le code source d'exemple et l'avoir exécuté avec succès, vous pourrez découvrir l'interface fonctionnelle développée à partir d'OpenAPI V2.0. Grâce au code source d'exemple, vous pouvez également comprendre rapidement les modalités d'intégration et d'utilisation d'OpenAPI, afin d'accélérer le développement et l'intégration.

Cliquez sur Code source d'exemple pour obtenir le code source et le guide d'intégration.

Architecture du produit

Démarrage rapide

Configuration de l’environnement (spécifique à la version On-Premises de FlightHub 2)

Reportez-vous au Manuel de déploiement de DJI FlightHub 2 version On-Premises pour déployer la version On-Premises de FlightHub 2.

Authentification et autorisation

Reportez-vous au document Tutoriel d’authentification et d’autorisation pour comprendre les principes d’authentification et d’autorisation d’OpenAPI, et obtenir x-user-token et X-Project-Uuid. Ces deux paramètres doivent être transmis dans le champ header de la plupart des interfaces, afin de garantir la sécurité d’OpenAPI et de mettre en œuvre le contrôle d’accès à FlightHub 2.

Exemple de code

1. Interroger l’état du service de contrôle en temps réel de FlightHub 2

Une fois la version On-Premises de FlightHub 2 correctement déployée, appelez l’interface pour interroger l’état du service de contrôle en temps réel : Interroger l’état du système 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 

Une valeur de retour de 0 indique que le service de contrôle en temps réel de FlightHub 2 fonctionne normalement :

```http 
{
  "code": 0,
  "message": "OK",
  "data": null
}

2. Obtenir la liste des projets sous l’organisation

Créez une organisation, un projet et liez les appareils dans FlightHub 2. Reportez-vous à la section Bases de la plateforme > Gestion de l'organisation de ce manuel pour la création d’organisations et de projets dans FlightHub 2, puis appelez l’interface Obtenir la liste des projets sous l’organisation pour obtenir la liste des projets créés.

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 

La liste des projets créés sera renvoyée :

```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. Activer la diffusion en direct

Reportez-vous au document Gestion des appareils de ce manuel pour la liaison des appareils dans FlightHub 2, puis reportez-vous au tutoriel de gestion des diffusions en direct pour démarrer la diffusion.

```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
}

Une valeur de retour de 0 indique que la tâche de streaming a été envoyée avec succès et que l’appareil commencera à transmettre le flux vers le serveur multimédia selon la configuration :

```c
{
  "code": 0,
  "message": "OK",
  "data": null
}
Last Updated: