Public Cloud V2.0

2026-09-20

Введение в API

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

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

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

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

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

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

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

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

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

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

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

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

Обратитесь к руководству по аутентификации и авторизации, чтобы понять принципы аутентификации и авторизации OpenAPI и получить X-User-Token и X-Project-Uuid. Эти два параметра передаются в поле header большинства интерфейсов и используются для обеспечения безопасности OpenAPI и реализации контроля доступа к FlightHub 2.

Примеры кода

1. Запрос состояния системы FlightHub 2

В публичном облаке FlightHub 2 вызывается интерфейс для запроса состояния системы: Запрос состояния системы FlightHub 2

```http
GET /openapi/v2.0/system_status HTTP/1.1
Host: 127.0.0.1:30812
X-Language: zh
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
X-User-Token: xxxxxxxx 

Если интерфейс возвращает 0, это означает, что система FlightHub 2 работает нормально:

```http 
{
  "code": 0,
  "message": ""
}

2. Получение списка проектов в организации

Создайте организацию в FlightHub 2, создайте проект и привяжите устройства. Обратитесь к разделу «Основы платформы > Управление организацией» настоящего руководства для создания соответствующих организаций и проектов в FlightHub 2, а затем вызовите интерфейс Получение списка проектов в организации, чтобы получить список созданных проектов.

GET /openapi/v2.0/project?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: zh
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
X-User-Token: xxxxxxxx 

Будет возвращён список созданных проектов:

```http 
{
  "code": 0,
  "message": "",
  "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. Запуск функции прямой трансляции

Обратитесь к разделу настоящего руководства «Управление устройствами», чтобы выполнить привязку устройств в FlightHub 2, затем обратитесь к руководству по управлению прямыми трансляциями и вызовите интерфейс Запуск прямой трансляции для запуска трансляции потока.

```http 
POST /openapi/v2.0/live-stream/start HTTP/1.1
Host: 127.0.0.1:30812
X-Project-Uuid: xxxxxxxxxx
X-Language: zh
X-Request-Id: 550e8400-e29b-41d4-a716-446655440000
Content-Type: application/json
X-User-Token:  xxxxxxxx 
Content-Length: 119

{
    "sn": "7CTDM3Dxxxxxx",
    "camera_index": "165-0-7",
    "video_expire": 7200,
    "quality_type": "adaptive"
}

Возвращается информация об авторизации прямой трансляции: data.url. Для получения потока трансляции необходимо использовать SDK соответствующего поставщика, указанного в data.url_type:

```c
{
  "code": 0,
  "message": "",
  "data": {
    "expire_ts": 1779446430,
    "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"
  }
}
Last Updated: