Локальная версия V2.0
Введение в 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