OpenAPI V1.0
Введение в API
DJI FlightHub 2 OpenAPI — это открытая платформа, основанная на спецификациях RESTful, предназначенная для предоставления разработчикам возможности взаимодействия со сторонними облачными платформами и DJI FlightHub 2.
Ниже приведены основные возможности OpenAPI:
- RESTful-архитектура: Использует спецификации RESTful, что делает работу с API более интуитивной и соответствующей веб-стандартам. Разработчики могут взаимодействовать с FlightHub 2, используя стандартные HTTP-методы, такие как GET, POST, PUT и DELETE.
- Аутентификация и авторизация: Реализованы безопасные механизмы аутентификации и авторизации для защиты ресурсов API и эффективного управления правами доступа.
- Взаимодействие с FlightHub 2: Предоставляет функции управления организацией и проектами DJI FlightHub 2, управления устройствами, управления трансляцией, управления маршрутами полета, управления задачами, управления моделями и управления аннотациями.
- Поддержка разработчиков и документация: Предоставляет подробную документацию по API, примеры кода и поддержку разработчиков, что обеспечивает быструю интеграцию и эффективное использование функций платформы.
Разработчики могут быстро интегрировать основные функции FlightHub 2, вызывая OpenAPI, что значительно снижает затраты на разработку и позволяет удовлетворять различные бизнес-потребности и реализовывать инновационные сценарии применения.
Архитектура продукта

Быстрый старт
Настройка среды
Для развертывания FlightHub 2 (локальная версия) см. руководство по развертыванию DJI FlightHub 2 (локальная версия).
Аутентификация и авторизация
Обратитесь к руководству по аутенитификации и авторизации, чтобы понять принципы аутентификации и авторизации OpenAPI, получить значения X-User-Token и X-Project-Uuid и указать эти два значения в поле заголовка для обеспечения безопасности OpenAPI и реализации контроля доступа к FlightHub 2.
Пример кода
1. Запрос состояния системы FlightHub 2
В публичной версии FlightHub 2 используется API для запроса состояния системы: Запрос состояния системы FlightHub 2
После успешного развертывания FlightHub 2 (локальная версия) вызовите метод для проверки состояния системы: Запрос состояния системы FlightHub 2
```http
GET /openapi/v0.1/system_status HTTP/1.1
Host: 127.0.0.1:30812
X-Language: en
X-User-Token: xxxxxxxx
Возвращаемое значение 0 указывает на то, что система FlightHub 2 работает нормально.
```http
{
"code": 0,
"message": ""
}
2. Получить список проектов в организации
Создайте организацию, настройте проект и привяжите устройства в FlightHub 2. Обратитесь к разделу Руководство пользователя DJI FlightHub 2 > Управление организацией, посвященному созданию организаций и проектов в FlightHub 2, затем вызовите метод Получить список проектов в организации, чтобы получить список созданных проектов.
```http
GET /openapi/v0.1/project HTTP/1.1
Host: 127.0.0.1:30812
X-Language: en
X-User-Token: xxxxxxxx
Будет возвращен список созданных проектов.
```http
{
"code": 0,
"message": "OK",
"data": {
"list": [
{
"name": "c2c_test",
"introduction": "a",
"uuid": "93df839d-ae74-4f04-842e-2f1f81c89a66",
"org_uuid": "105ddd05-34ce-46b6-a872-cb32b8c98f64",
"created_at": 1702498686,
"updated_at": 1702498686,
"project_work_center_point": {
"latitude": 22.906899500237845,
"longitude": 113.69995967214662
}
}
]
}
}
3. Запуск трансляции
Обратитесь к разделу Руководство пользователя DJI FlightHub 2 > Управление устройствами, посвященному привязке устройств в FlightHub 2, затем к руководству Управление трансляцией и вызовите метод Включить трансляцию для запуска трансляции.
```http
POST /openapi/v0.1/live-stream/start HTTP/1.1
Host: 127.0.0.1:30812
X-Project-Uuid: xxxxxxxxxx
X-Language: en
Content-Type: application/json
X-User-Token: xxxxxxxx
Content-Length: 120
{
"sn": "7CTDM3Dxxxxxx",
"camera_index": "165-0-7",
"video_expire": 7200,
"video_quality": "adaptive"
}
Ссылка на трансляцию будет доступна по адресу data.url, по которому можно перейти для просмотра трансляции.
```c
{
"code": 0,
"message": "",
"data": {
"expire_ts": 1764751629,
"url": "http://127.0.0.1:30806/rtc/v1/whep/?app=live&stream=7CTDM3Dxxxxxx_165-0-7&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwcm9kdWN0X2lkIjoiNzEzNTE5ZmIxYjRlNDRiYTlkMjdkMDJhOGRlZDk5NGQiLCJjaGFubmVsX25hbWUiOiI3Q1RETTNEMDBCWk5WWl8xNjUtMC03IiwidWlkIjoxDAxMTQsImFjdGlvbiI6InBsYiLCJleHAiOjE3NjQ3NTE2MzAsIm5iZiI6MTczMzIxNTYzMCwiaWF0IjoxNzMzMjE1NjMwfQ._AysitutpprlgYGFy4lDL_gSv4Y3hl_te-yxoFVHZb4",
"url_type": "srs"
}
}
Руководство по интерфейсу
- Руководство по интерфейсу включает список функций OpenAPI, обучающие материалы, список методов и их описание. Для получения дополнительной информации обратитесь к Руководство по интерфейсу OpenAPI.