Public Cloud V2.0
API 소개
퍼블릭 클라우드 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: ko
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: ko
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: ko
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이 반환되며, data.url_type에 해당하는 공급업체 SDK와 결합하여 라이브 스트림을 받아와야 합니다:
```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"
}
}