You have English selected as language but this page has not been translated yet. Translate the page or view the content in the default space language below.
Display defaultMagicInfo Server에서는 콘텐츠 관리, 스케줄 관리, 장치 관리 등 각 기능을 REST API 호출을 통하여 구현할 수 있습니다.
REST API를 사용하기 위해서는 먼저 인증 절차를 거쳐야 하며, 별도의 swagger 페이지를 통해 각 API를 테스트 하실 수 있습니다.
Authentication
모든 REST API 호출 시 헤더에 api_token을 포함하여야 하며, 그렇지 않은 경우 '401 Unauthorized.' 에러를 받게 됩니다.
발급 받은 토큰은 정해진 일정 시간이 지나면 만료되어 사용이 중지되며, 그 경우 토큰을 새로 발급 받아야 합니다.
api_token은 아래 api 호출을 통해 얻을 수 있습니다.
Service Name | API Call | Call Type | Call Description |
---|---|---|---|
Authentication | /auth | POST | 사용자 아이디와 비밀번호 정보로 토큰을 생성합니다. |
REST API
매직인포 서버 REST API는 여러가지 기능을 제공하며 기능별 구성은 아래와 같습니다.
Category | Controller | Description |
---|---|---|
Authetication | authentication-controller | 인증 관련 |
Content | content-controller | 콘텐츠 관리 |
content-group-controller | 콘텐츠 그룹 관리 | |
Playlist | playlist-controller | 플레이리스트 관리 |
playlist-group-controller | 플레이리스트 그룹 관리 | |
Schedule | content-schedule-controller | 콘텐츠 스케줄 관리 |
content-schedule-group-controller | 콘텐츠 스케줄 그룹 관리 | |
message-schedule-controller | 메시지 스케줄 관리 | |
message-schedule-group-controller | 메시지 스케줄 그룹 관리 | |
Device | device-controller | 장치 관리 |
device-group-controller | 장치 그룹 관리 | |
User | user-controller | 사용자 관리 |
user-group-controller | 사용자 그룹 관리 | |
Etc | environment-controller | 환경 설정 |
Authentication
각 REST API를 호출하기 전, 인증을 위한 토큰을 발급 받아야 합니다. 각 토큰을 관리하는 서비스는 아래와 같습니다.
Service Name | API call | Call Type | Description |
---|---|---|---|
authenticationRequest | /auth | POST | 사용자 ID 및 비밀번호를 이용하여 인증을 위한 토큰 값을 가져옵니다. |
authenticationRequest | /auth/refresh | GET | 토큰을 새로 생성하여 만료시간을 연장합니다. 재 로그인 없이 계속해서 REST API를 호출할 수 있습니다. |
Content
업로드, 승인, 삭제, 리스트 관리 등 콘텐츠를 관리할 수 있습니다. 콘텐츠를 관리하는 서비스는 아래와 같습니다.
Service Name | API call | Call Type | Description |
---|---|---|---|
listAllContent | GET /restapi/v1.0/cms/contents | GET | 모든 콘텐츠 목록을 가져옵니다. |
listDashboardContentInfo | GET /restapi/v1.0/cms/contents/dashboard | GET | 대쉬보드에서 필요한 콘텐츠 관련 정보를 가져옵니다. |
listContent | POST /restapi/v1.0/cms/contents/filter | POST | 여러 조건으로 필터링된 콘텐츠 리스트를 가져옵니다. |
forceDeleteContent | DELETE /restapi/v1.0/cms/contents/force/{contentId} | DELETE | 콘텐츠의 사용여부에 상관없이 콘텐츠를 삭제합니다. |
deleteContent | DELETE /restapi/v1.0/cms/contents/{contentId} | DELETE | 삭제 가능한 콘텐츠인지 확인 후 콘텐츠를 삭제합니다. |
getActiveContentInfo | GET /restapi/v1.0/cms/contents/{contentId} | GET | 활성화된 버전의 콘텐츠 상세 정보를 가져옵니다. |
approveContents | PUT /restapi/v1.0/cms/contents/{contentId}/approval | PUT | 미승인 상태의 콘텐츠를 승인/반려합니다. |
uploadContent | POST /restapi/v1.0/cms/contents/{groupId} | POST | 새 콘텐츠를 업로드합니다. |
listDefaultGroup | GET /restapi/v1.0/cms/contents/groups | GET | 콘텐츠 기본 그룹 목록을 가져옵니다. |
getGroup | GET /restapi/v1.0/cms/contents/groups/{groupId} | GET | {groupId} 그룹의 상세 정보를 가져옵니다. |
listChildGroup | GET /restapi/v1.0/cms/contents/groups/{groupId}/child | GET | {groupId} 그룹의 하위 그룹 목록을 가져옵니다. |
Playlist
콘텐츠를 이용하여 플레이리스트를 만들고, 수정 및 삭제 등 관리 할 수 있습니다. 플레이리스트를 관리하는 서비스는 아래와 같습니다.
Service Name | API call | Call Type | Description |
---|---|---|---|
listAllPlaylist | GET /restapi/v1.0/cms/playlists | GET | 모든 플레이리스트 목록을 가져옵니다. |
createPlaylist | POST /restapi/v1.0/cms/playlists | POST | 새 플레이리스트를 생성합니다. |
getDashboardPlaylistInfo | GET /restapi/v1.0/cms/playlists/dashboard | GET | 대쉬보드에 필요한 플레이리스트 정보를 가져옵니다. |
listPlaylist | POST /restapi/v1.0/cms/playlists/filter | POST | 여러 조건으로 필터링된 플레이리스트 목록을 가져옵니다. |
deletePlaylist | DELETE /restapi/v1.0/cms/playlists/{playlistId} | DELETE | 선택된 플레이리스트를 삭제합니다. |
getActivePlaylistInfo | GET /restapi/v1.0/cms/playlists/{playlistId} | GET | 활성화된 버전으로 플레이리스트의 상세 정보를 가져옵니다. |
editPlaylist | PUT /restapi/v1.0/cms/playlists/{playlistId} | PUT | 플레이리스트를 수정합니다. |
copyPlaylist | PUT /restapi/v1.0/cms/playlists/{playlistId}/copy | PUT | 플레이리스트를 복사합니다. |
listDefaultGroup | GET /restapi/v1.0/cms/playlists/groups | GET | 플레이리스트 기본 그룹 목록을 가져옵니다. |
getGroup | GET /restapi/v1.0/cms/playlists/groups/{groupId} | GET | {groupId} 그룹의 상세 정보를 가져옵니다. |
listChildGroup | GET /restapi/v1.0/cms/playlists/groups/{groupId}/child | GET | {groupId} 그룹의 하위 그룹 목록을 가져옵니다. |
Schedule
새 콘텐츠/메시지 스케줄을 만들고, 장치에 배포하여 재생 할 수 있습니다. 또한 스케줄을 수정하거나 삭제 하는 등 관리 할 수 있습니다.
스케줄을 관리하는 서비스는 아래와 같습니다.
Service Name | API call | Call Type | Description |
---|---|---|---|
listContentScheduleAll | GET /restapi/v1.0/dms/schedule/contents | GET | 모든 콘텐츠 스케줄 목록을 가져옵니다. |
createContentSchedule | POST /restapi/v1.0/dms/schedule/contents | POST | 새 콘텐츠 스케줄을 생성합니다. |
listDashboardScheduleInfo | GET /restapi/v1.0/dms/schedule/contents/dashboard | GET | 대쉬보드에서 필요한 콘텐츠 스케줄 정보를 가져옵니다. |
listContentScheduleByGroup | POST /restapi/v1.0/dms/schedule/contents/filter | POST | 여러 조건으로 필터링된 콘텐츠 스케줄 목록을 가져옵니다. |
deleteContentSchedule | DELETE /restapi/v1.0/dms/schedule/contents/{programId} | DELETE | 콘텐츠 스케줄을 삭제합니다. |
getProgramInfo | GET /restapi/v1.0/dms/schedule/contents/{programId} | GET | 선택된 스케줄의 상세 정보를 가져옵니다. |
editContentSchedule | PUT /restapi/v1.0/dms/schedule/contents/{programId} | PUT | 콘텐츠 스케줄을 수정합니다. |
copyContentSchedule | PUT /restapi/v1.0/dms/schedule/contents/{programId}/copy | PUT | 콘텐츠 스케줄을 복사합니다. |
deployContentSchedule | PUT /restapi/v1.0/dms/schedule/contents/{programId}/deploy | PUT | 콘텐츠 스케줄을 원하는 장치 그룹에 배포합니다. |
getPublishStatus | GET /restapi/v1.0/dms/schedule/contents/{programId}/publishStatus | GET | 장치에서 콘텐츠 스케줄을 다운로드 받는 상태를 실시간으로 가져옵니다. |
getRootGroups | GET /restapi/v1.0/dms/schedule/contents/groups | GET | 콘텐츠 스케줄의 루트 그룹 리스트를 가져옵니다. |
listContentScheduleGroupInfo | GET /restapi/v1.0/dms/schedule/contents/groups/{groupId} | GET | {groupId} 그룹에 대한 상세 정보를 가져옵니다. |
listAllMessageSchedule | GET /restapi/v1.0/dms/schedule/messages | GET | 모든 메시지 스케줄 목록을 가져옵니다. |
createMessageSchedule | POST /restapi/v1.0/dms/schedule/messages | POST | 새 메시지 스케줄을 생성합니다. |
getRootGroups | GET /restapi/v1.0/dms/schedule/messages/groups | GET | 콘텐츠 스케줄의 루트 그룹 리스트를 가져옵니다. |
listMessageScheduleGroupInfo | GET /restapi/v1.0/dms/schedule/messages/groups/{groupId} | GET | {groupId} 그룹에 대한 상세 정보를 가져옵니다. |
Device
각 장치를 제어하고 관리 할 수있습니다. 장치를 관리하는 서비스는 아래와 같습니다.
Service Name | API call | Call Type | Description |
---|---|---|---|
listAllDevice | GET /restapi/v1.0/rms/devices | GET | 모든 장치 목록을 가져옵니다. |
getDashboardDeviceInfo | GET /restapi/v1.0/rms/devices/dashboard | GET | 대쉬보드에서 필요한 장치 정보를 가져옵니다. |
listDeviceGroupOrgan | GET /restapi/v1.0/rms/devices/groups | GET | 소속의 리스트를 가져옵니다. |
listDeviceGroupInfo | GET /restapi/v1.0/rms/devices/groups/{groupId} | GET | {groupId} 그룹에 대한 상세 정보를 가져옵니다. |
User
새 사용자를 추가하고, 사용자의 정보를 관리할 수 있습니다. 사용자를 관리하는 서비스는 아래와 같습니다.
Service Name | API call | Call Type | Description |
---|---|---|---|
createUser | POST /restapi/v1.0/ums/users | POST | 새 사용자를 추가합니다. |
listDashboardUserInfo | GET /restapi/v1.0/ums/users/dashboard | GET | 대쉬보드에 필요한 사용자의 정보를 가져옵니다. |
listUserGroupOrgan | GET /restapi/v1.0/ums/users/groups | GET | 소속 목록을 가져옵니다. |
listUserGroupInfo | GET /restapi/v1.0/ums/users/groups/{groupId} | GET | {groupId} 그룹에 대한 상세 정보를 가져옵니다. |
getCategoryInfo | GET /restapi/v1.0/ems/category/{categoryId} | GET | 카테고리 목록을 가져옵니다. |
deleteDashboard | DELETE /restapi/v1.0/ems/dashboard | DELETE | 특정 대쉬보드 정보를 삭제합니다. |
Etc
주요 기능 이외에도 태그, 카테고리를 생성, 관리하고 대시보드를 수정하는 등 다양한 기능을 구현할 수 있습니다.
Service Name | API call | Call Type | Description |
---|---|---|---|
getCategoryInfo | GET /restapi/v1.0/ems/category/{categoryId} | GET | 카테고리 목록을 가져옵니다. |
deleteDashboard | DELETE /restapi/v1.0/ems/dashboard | DELETE | 특정 대쉬보드 정보를 삭제합니 |