Moth 관리 API
Moth 서버를 관리하고 다양한 기능을 수행하기 위해 관리자용 API를 제공합니다. 이 API를 사용하면 서버의 설정을 변경하고 모니터링 작업을 수행하는 데 도움이 됩니다. 아래에서는 Moth 서버의 관리자용 API에 대한 내용을 상세히 설명합니다.
관리자 API 소개
Moth 서버의 관리자 API는 서버 관리자 를 위해 제공되며, 서버의 설정, 상태 조회, 수정, 삭제, 작동 제어 등의 기능을 수행할 수 있습니다. 이 API는 HTTP 및 웹소켓 프로토콜을 통해 사용할 수 있습니다.
Protocol
http | https
: HTTP를 사용하여 API를 호출하려면 HTTP 프로토콜을 선택합니다.ws | wss
: WebScoket을 사용하여 API를 호출하려면 WebScoket 프로토콜을 선택합니다.
API 종류
Moth 서버의 관리자 API는 다음과 같이 두 가지 유형으로 나눌 수 있습니다:
API | 기능 | 지원버전 |
---|---|---|
/manager | 관리 기능(조회, 수정, 삭제, 작동 등)을 수행합니다. | |
/monitor | 미디어 클라이언트나 단순 모니터링(조회)을 수행합니다. |
Pathname
관리자 API의 경로(Pathname)는 다음과 같이 두 가지 유형이 있습니다:
API 종류 | 기능 | 지원버전 |
---|---|---|
/manager/http/cmd | HTTP를 사용할 경우 | |
/manager/ws/cmd | 웹소켓(WebSocket)을 사용할 경우 |
Options
관리자 API를 호출할 때 다양한 옵션을 설정하여 원하는 작업을 수행할 수 있습니다. 아래는 관리자 API에서 사용할 수 있는 주요 옵션입니다:
옵션 | 동작 설명 | 사용방식 |
---|---|---|
op | 수행할 명령을 지정합니다. op=[show | set | run | add | delete | update | load | save | ping ] | |
obj | 수행 명령어 대상을 지정합니다. obj=[session | channel | group | config] | |
id | 특정 대상의 ID를 지정합니다. 일반적으로 <xid> 형식의 ID를 사용합니다. | |
state | 대상에 대해 적용할 상태를 지정합니다. state=[idle | using] | |
opt | 대상의 세부 옵션을 지정합니다. [source | track | key | record | trans] | |
value | 추가적인 값을 지정합니다. value=[ <number> | on | off] | |
format | 반환되는 결과값의 형식을 지정합니다. format=[text | json] |
사용 권한 인증
Moth 서버는 서버의 기능을 사용할 수 있는 권한을 인증하기 위해 두 가지 방법을 제공합니다:
- 채널 사용 권한 인증
- 서버 관리 기능 사용 권한 인증
채널 사용 권한을 인증하기 위해 API 사용 시 Stream key 값을 설정합니다. 이를 통해 사용자는 채널을 만들고 사용할 수 있습니다. 서버 관리 기능을 사용하기 위해서는 모스 서버에 설정된 key 값을 사용하여 인증 여부를 판단합니다.
아래는 두 가지 권한 인증의 예시입니다:
-
채널 사용 권한 인증
/manager/http/cmd?format=json&obj=channel&op=set&key=<string>
-
서버 관리 기능 사용 권한 인증
/manager/http/cmd?format=json&obj=channel&op=show&key=<string>