Локальная версия V2.0

2026-09-20

Введение в API

On-Premises OpenAPI V2.0 — это открытая платформа, основанная на спецификациях RESTful и предназначенная для обеспечения разработчикам возможности взаимодействия данных и бизнес-интеграции между сторонними частными облачными платформами и локальной версией DJI FlightHub 2.

С помощью OpenAPI V2.0 разработчики могут реализовывать системную интеграцию по таким ключевым модулям, как управление устройствами, управление полётными задачами и управление данными (медиа, модели и картографические данные), и создавать на базе FlightHub 2 бизнес-приложения для таких сценариев, как взаимодействие данных, управление устройствами, планирование задач и облегчённое управление в реальном времени.

По сравнению с V1.0, V2.0 ставит своей основной целью замкнутый цикл сценариев вторичной разработки. На основе существующих возможностей в V2.0 систематически дополнены API для таких ключевых модулей, как управление устройствами, управление полётными задачами и управление данными (медиа, модели и карты), а общее количество интерфейсов превысило 300 (в V1.0 их было 67).

Кроме того, в этой версии оптимизирована система интерфейсов: документация по интерфейсам публичного облака и локального развертывания разделена, что делает классификацию интерфейсов более понятной, облегчает разработчикам быстрое освоение и интеграцию, а также позволяет OpenAPI в дальнейшем перейти к более гибкому циклу итераций.

Список функций

ФункцияОписание
Управление организацией и проектамиПредоставляет возможности запроса и управления проектами, участниками и правами ролей.
Управление устройствамиПоддерживает запрос и управление устройствами, включая список устройств, состояние в реальном времени, теневую копию модели вещей, события состояния HMS, настройку сети и RTK — используется для построения систем управления и конфигурации устройств.
Полётные задачиПоддерживает создание полётных задач, запрос списка задач и сведений о выполнении, полётных записей и AI-предупреждений — используется для построения систем управления полётными задачами.
Управление в реальном времениПоддерживает запрос и получение прав облачного управления, отправку команд указанного полёта, орбитального облёта POI, управления камерой и других — обеспечивает облегчённое управление в реальном времени на уровне бизнес-задач.
Прямая трансляцияПоддерживает управление прямыми трансляциями и переадресацией потоков, переключение камер и качества видео — используется для построения систем управления прямыми трансляциями.
Управление медиаданнымиПоддерживает запрос, управление и скачивание медиафайлов — используется для построения систем управления медиаданными.
Управление моделямиПоддерживает запуск задач реконструкции и управление активами моделей — используется для построения систем управления моделями.
Управление маршрутами полётаПоддерживает получение списка маршрутов полёта, управление файлами маршрутов полёта — используется для построения систем управления файлами маршрутов полёта.
Управление картографическими даннымиПоддерживает управление аннотациями, управление пользовательскими полётными зонами, запрос тепловой карты сигнала и другие возможности.
Обнаружение измененийПоддерживает запуск задач анализа изменений и запрос результатов обнаружения — применимо к таким сценариям, как мониторинг строительства и сравнение результатов инспекции.
Открытое моделированиеПоддерживает запуск задач моделирования с использованием медиаданных из сторонних платформ.

Документация по интерфейсам

Документация по интерфейсам включает список функций OpenAPI, обучающие материалы, список интерфейсов и описание интерфейсов. Подробнее см.: Документация по интерфейсам OpenAPI.

Пример исходного кода

После развёртывания примера исходного кода и его успешного запуска вы сможете оценить функциональный интерфейс, разработанный на основе OpenAPI V2.0. С помощью примера исходного кода вы также сможете быстро ознакомиться со способами подключения и использования OpenAPI, что ускорит разработку и интеграцию.

Нажмите Пример исходного кода, чтобы получить исходный код и руководство по подключению.

Архитектура продукта

Быстрый старт

Настройка среды (только для локальной версии FlightHub 2)

Для развертывания локальной версии FlightHub 2 см. руководство по развертыванию DJI FlightHub 2 (локальная версия).

Аутентификация и авторизация

Обратитесь к документу «Руководство по аутентификации и авторизации», чтобы понять принципы аутентификации и авторизации OpenAPI и получить x-user-token и X-Project-Uuid. Эти два параметра передаются в поле header большинства интерфейсов и используются для обеспечения безопасности 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
}

https://dl.djicdn.com/downloads/dji-terra/20240723/DJI%20Terra%20Error%20Code%20Guide%20V4.2.0_EN.pdf

Last Updated: