이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 7 다음 »

MagicINFO Server에서는 콘텐츠 관리, 스케줄 관리, 장치 관리 등 각 기능을 Open API (v2.0) 호출을 통하여 구현할 수 있습니다. 

Open API (v2.0)를 사용하기 위해서는 먼저 인증 절차를 거쳐야 하며, 별도의 swagger 페이지를 통해 각 API를 테스트 할 수 있습니다.

Authentication

모든  Open API (v2.0) 호출 시 헤더에 api_token을 포함하여야 하며, 그렇지 않은 경우 '401 Unauthorized.' 에러를 받게 됩니다.

발급 받은 토큰은 정해진 일정 시간이 지나면 만료되어 사용이 중지되며, 그 경우 토큰을 새로 발급 받아야 합니다.

api_token은 아래 api 호출을 통해 발급받을 수 있습니다.

Service Name

API call

Call Type

Description

authenticationRequest

/auth

POST

사용자 ID 및 비밀번호를 이용하여 인증을 위한 토큰 값을 가져옵니다.

authenticationRequest

/auth/refresh

GET

토큰을 새로 생성하여 만료시간을 연장합니다. 재 로그인 없이 계속해서 REST API를 호출할 수 있습니다.

OPEN API (v2.0)

매직인포 서버  Open API (v2.0) 는 여러가지 기능을 제공하며 기능별 구성은 아래와 같습니다.

Category

Controller

Description

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

사용자 그룹 관리

Setting

environment-controller

환경 설정

Content

콘텐츠 업로드, 승인, 삭제, 리스트 관리 등 콘텐츠를 관리할 수 있습니다. 콘텐츠 관련 서비스는 인증을 받은 사용자가 콘텐츠 읽기/쓰기/관리 권한을 가져야만 접근할 수 있습니다.

콘텐츠를 관리하는 서비스는 아래와 같습니다.

Service Name

API call

Call Type

Description

listAllContent

/restapi/v1.0/cms/contents

GET

업로드 된 모든 콘텐츠 목록을 가져옵니다. 콘텐츠 썸네일, 이름, 파일 타입 등의 기본 정보를 포함합니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

listDashboardContentInfo

/restapi/v1.0/cms/contents/dashboard

GET

대쉬보드에 표시될 전반적인 콘텐츠 관련 정보를 가져옵니다.

listContent

/restapi/v1.0/cms/contents/filter

POST

조건으로 필터링된 콘텐츠 리스트를 가져옵니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

forceDeleteContent

/restapi/v1.0/cms/contents/force/{contentId}

DELETE

콘텐츠가 플레이리스트, 스케줄에서 사용되고 있더라도 상관없이 콘텐츠를 삭제합니다.

deleteContent

/restapi/v1.0/cms/contents/{contentId}

DELETE

콘텐츠가 플레이리스트나 스케줄 등에서 사용되고 있는 중인지 확인 후 콘텐츠를 삭제합니다. 만약 사용 중인 콘텐츠이면 삭제 되지 않고 에러 코드를 리턴합니다.

getActiveContentInfo

/restapi/v1.0/cms/contents/{contentId}

GET

콘텐츠는 수정될 때마다 버전이 업데이트 됩니다. 그 중 활성화된 버전의 콘텐츠 상세 정보를 가져옵니다.

approveContents

/restapi/v1.0/cms/contents/{contentId}/approval

PUT

미승인 상태의 콘텐츠를 승인/반려합니다. 콘텐츠를 승인하면, 일반 콘텐츠 목록으로 이동되고, 플레이리스트, 스케줄 등에서 사용할 수 있습니다.

uploadContent

/restapi/v1.0/cms/contents/{groupId}

POST

새 콘텐츠를 업로드합니다.

listDefaultGroup

/restapi/v1.0/cms/contents/groups

GET

콘텐츠 기본 그룹 목록을 가져옵니다.

getGroup

/restapi/v1.0/cms/contents/groups/{groupId}

GET

{groupId} 그룹의 상세 정보를 가져옵니다.

listChildGroup

/restapi/v1.0/cms/contents/groups/{groupId}/child

GET

{groupId} 그룹의 하위 그룹 목록을 가져옵니다.


Playlist

콘텐츠를 이용하여 플레이리스트를 만들고, 수정 및 삭제 등 관리 할 수 있습니다. 플레이리스트 관련 서비스는 인증을 받은 사용자가 콘텐츠 읽기/쓰기/관리 권한을 가져야만 접근할 수 있습니다.

플레이리스트를 관리하는 서비스는 아래와 같습니다.

Service Name

API call

Call Type

Description

listAllPlaylist

/restapi/v1.0/cms/playlists

GET

모든 플레이리스트 목록을 가져옵니다. 플레이리스트 이름, 메인 콘텐츠 썸네일, 플레이리스트 타입 등의 기본 정보를 포함합니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

createPlaylist

/restapi/v1.0/cms/playlists

POST

새 플레이리스트를 생성합니다.

getDashboardPlaylistInfo

/restapi/v1.0/cms/playlists/dashboard

GET

대쉬보드에 필요한 플레이리스트의 전반적인 정보를 가져옵니다.

listPlaylist

/restapi/v1.0/cms/playlists/filter

POST

조건으로 필터링된 플레이리스트 목록을 가져옵니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

deletePlaylist

/restapi/v1.0/cms/playlists/{playlistId}

DELETE

선택된 플레이리스트를 삭제합니다. 삭제하려는 플레이리스트가 스케줄에서 사용 중인 경우 삭제되지 않으며, 에러 코드를 리턴합니다.

getActivePlaylistInfo

/restapi/v1.0/cms/playlists/{playlistId}

GET

플레이리스트는 수정될 때마다 버전이 업데이트 됩니다. 그 중 활성화된 버전의 플레이리스트 상세 정보를 가져옵니다.

editPlaylist

/restapi/v1.0/cms/playlists/{playlistId}

PUT

{playlistId} 플레이리스트를 수정합니다. 수정 시 플레이리스트의 버전이 업데이트되며, 해당 플레이리스트를 재생 중인 장치는 자동 트리거링 되어 변경된 내용을 재생합니다.

copyPlaylist

/restapi/v1.0/cms/playlists/{playlistId}/copy

PUT

{playlistId} 플레이리스트를 복사합니다. 같은 내용의 플레이리스트가 새로 생성됩니다.

listDefaultGroup

/restapi/v1.0/cms/playlists/groups

GET

플레이리스트 기본 그룹 목록을 가져옵니다.

getGroup

/restapi/v1.0/cms/playlists/groups/{groupId}

GET

{groupId} 그룹의 상세 정보를 가져옵니다.

listChildGroup

/restapi/v1.0/cms/playlists/groups/{groupId}/child

GET

{groupId} 그룹의 하위 그룹 목록을 가져옵니다.

Schedule

새 콘텐츠/메시지 스케줄을 만들고, 장치에 배포하여 재생 할 수 있습니다. 또한 스케줄을 수정하거나 삭제 하는 등 관리 할 수 있습니다.

스케줄 관련 서비스는 인증을 받은 사용자가 스케줄 읽기/쓰기/관리 권한을 가져야만 접근할 수 있습니다.

스케줄을 관리하는 서비스는 아래와 같습니다.

Service Name

API call

Call Type

Description

listContentScheduleAll

/restapi/v1.0/dms/schedule/contents

GET

모든 콘텐츠 스케줄 목록을 가져옵니다. 콘텐츠 스케줄 이름, 생성 날짜, 장치 타입 등 기본 정보를 포함합니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

createContentSchedule

/restapi/v1.0/dms/schedule/contents

POST

새 콘텐츠 스케줄을 생성합니다. 콘텐츠 스케줄은 여러 개의 채널, 프레임을 포함할 수 있으며 장치에 배포하여 원하는 시간대에 원하는 콘텐츠,플레이리스트 등을 재생할 수 있습니다.

listDashboardScheduleInfo

/restapi/v1.0/dms/schedule/contents/dashboard

GET

대쉬보드에서 필요한 전반적인 콘텐츠 스케줄 정보를 가져옵니다.

listContentScheduleByGroup

/restapi/v1.0/dms/schedule/contents/filter

POST

여러 조건으로 필터링된 콘텐츠 스케줄 목록을 가져옵니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

deleteContentSchedule

/restapi/v1.0/dms/schedule/contents/{programId}

DELETE

콘텐츠 스케줄을 삭제합니다. 장치에 배포된 스케줄을 삭제한 경우, 자동 트리거링 되어 장치에는 기본 콘텐츠가 재생됩니다.

getProgramInfo

/restapi/v1.0/dms/schedule/contents/{programId}

GET

선택된 스케줄의 상세 정보를 가져옵니다.

editContentSchedule

/restapi/v1.0/dms/schedule/contents/{programId}

PUT

콘텐츠 스케줄을 수정합니다. 해당 스케줄이 장치에 배포되어 있는 경우 자동 트리거링 되어 변경된 내용이 장치에 재생됩니다.

copyContentSchedule

/restapi/v1.0/dms/schedule/contents/{programId}/copy

PUT

{programId} 콘텐츠 스케줄을 복사합니다. {programId} 와 같은 내용의 콘텐츠 스케줄이 새로 생성됩니다.

deployContentSchedule

/restapi/v1.0/dms/schedule/contents/{programId}/deploy

PUT

콘텐츠 스케줄을 원하는 장치 그룹에 배포합니다.

getPublishStatus

/restapi/v1.0/dms/schedule/contents/{programId}/publishStatus

GET

장치에서 콘텐츠 스케줄을 다운로드 받는 상태를 실시간으로 가져옵니다.

getRootGroups

/restapi/v1.0/dms/schedule/contents/groups

GET

콘텐츠 스케줄의 루트 그룹 리스트를 가져옵니다.

listContentScheduleGroupInfo

/restapi/v1.0/dms/schedule/contents/groups/{groupId}

GET

{groupId} 그룹에 대한 상세 정보를 가져옵니다.

listAllMessageSchedule

/restapi/v1.0/dms/schedule/messages

GET

모든 메시지 스케줄 목록을 가져옵니다.

createMessageSchedule

/restapi/v1.0/dms/schedule/messages

POST

새 메시지 스케줄을 생성합니다.

listMessage

/restapi/v1.0/dms/schedule/messages/filter

POST

여러 조건으로 필터링된 메시지 스케줄 목록을 가져옵니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

deleteMessageSchedule

/restapi/v1.0/dms/schedule/messages/{messageId}

DELETE

선택한 메시지 스케줄을 삭제합니다. 삭제한 메시지 스케줄이 장치에 배포되어있는 경우 자동으로 장치에 트리거링되어 변경 사항이 장치에 반영됩니다.

getMessageInfo

/restapi/v1.0/dms/schedule/messages/{messageId}

GET

선택한 메시지 스케줄의 상세 정보를 가져옵니다.

editMessageSchedule

/restapi/v1.0/dms/schedule/messages/{messageId}

PUT

선택한 메시지 스케줄을 수정합니다. 수정한 메시지 스케줄이 장치에 배포되어 있는 경우 자동으로 장치에 트리거링되어 변경 사항이 장치에 반영됩니다.

copyMessageSchedule

/restapi/v1.0/dms/schedule/messages/{messageId}/copy

PUT

선택한 메시지 스케줄을 복사합니다. 동일한 내용의 메시지 스케줄이 새로 생성됩니다.

deployMessageSchedule

/restapi/v1.0/dms/schedule/messages/{messageId}/deploy

PUT

선택한 메시지 스케줄을 장치 그룹에 배포합니다.

getRootGroups

/restapi/v1.0/dms/schedule/messages/groups

GET

콘텐츠 스케줄의 루트 그룹 리스트를 가져옵니다.

listMessageScheduleGroupInfo

/restapi/v1.0/dms/schedule/messages/groups/{groupId}

GET

{groupId} 그룹에 대한 상세 정보를 가져옵니다.

getChildGroups

/restapi/v1.0/dms/schedule/messages/groups/{groupId}/child

GET

원하는 그룹의 하위 그룹 목록을 가져옵니다.

Device

각 장치를 제어하고 관리 할 수있습니다. 장치 관련 서비스는 인증을 받은 사용자가 장치 읽기/쓰기/관리 권한을 가져야만 접근할 수 있습니다.

장치를 관리하는 서비스는 아래와 같습니다.

Service Name

API call

Call Type

Description

listAllDevice

/restapi/v1.0/rms/devices

GET

모든 장치 목록을 가져옵니다. 장치의 전원 상태, 썸네일 정보, 장치의 에러 상태 등 기본 정보를 포함합니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

getDashboardDeviceInfo

/restapi/v1.0/rms/devices/dashboard

GET

대쉬보드에서 필요한 전반적인 장치 정보를 가져옵니다.

filterDeviceList

/restapi/v1.0/rms/devices/filter

POST

여러 조건으로 필터링 된 리스트를 가져옵니다. 페이징 정보를 이용해서 목록을 페이지 별로 가져올 수 있습니다.

deleteDevice

/restapi/v1.0/rms/devices/{deviceId}

DELETE

선택한 장치를 삭제합니다.

getDevice

/restapi/v1.0/rms/devices/{deviceId}

GET

선택한 장치의 상세 정보를 가져옵니다.

approveDevice

/restapi/v1.0/rms/devices/{deviceId}/approval

PUT

선택한 장치를 원하는 그룹에 승인합니다.

getCabinetList

/restapi/v1.0/rms/devices/{deviceId}/cabinet

POST

LED장치에 연결된 캐비닛들의 정보를 가져옵니다. 해당 정보는 장치가 LED인 경우에만 유효합니다.

updateCabinetInfo

/restapi/v1.0/rms/devices/{deviceId}/cabinet

PUT

LED장치에 연결된 캐비닛의 정보를 수정합니다.

getDisplayControlInfo

/restapi/v1.0/rms/devices/{deviceId}/display

GET

DB에서 장치의 디스플레이 제어 정보를 가져옵니다. 해당 정보가 존재하지 않는 경우 장치에 정보를 요청하여야 합니다.

updateDisplayInfo

/restapi/v1.0/rms/devices/{deviceId}/display

PUT

변경된 디스플레이 제어 정보를 장치에 전달합니다. 디스플레이 정보 중 변경된 값만 장치에 프로토콜로 전달됩니다.

getUpdatedDisplayInfoResult

/restapi/v1.0/rms/devices/{deviceId}/display/{requestId}

GET

장치로부터 변경된 디스플레이 제어 정보를 받아옵니다. 이 API는 updateDisplayInfo API를 실행한 후에 실행 가능합니다.

getGeneralInfo

/restapi/v1.0/rms/devices/{deviceId}/general

GET

DB에서 장치의 일반 정보를 가져옵니다. 장치의 일반 정보는 장치가 서버에 연결되는 시점에 업데이트 됩니다.

updateGeneralInfo

/restapi/v1.0/rms/devices/{deviceId}/general/info

PUT

변경된 장치 정보를 장치에 전달합니다. 장치 기본 정보 중 변경된 값만 장치에 프로토콜로 전달됩니다.

getUpdatedGeneralInfoResult

/restapi/v1.0/rms/devices/{deviceId}/general/{requestId}

GET

장치로부터 변경된 장치 정보를 받아옵니다. 이 API는 updateGeneralInfo API를 실행한 후에 실행 가능합니다.

moveDevice

/restapi/v1.0/rms/devices/{deviceId}/move

PUT

장치를 다른 그룹으로 이동합니다.

startRmServerVnc

/restapi/v1.0/rms/devices/{deviceId}/rmserver/start

GET

장치에 RM 시작 프로토콜을 전송합니다. RM 시작 프로토콜을 받은 장치는 RM server를 통해 정보를 주기적으로 전송합니다.

stopRmServerVnc

/restapi/v1.0/rms/devices/{deviceId}/rmserver/stop

GET

장치에 RM 중지 프로토콜을 전송합니다. 중지 프로토콜을 받은 장치는 해당 기능을 중지합니다.

getSetupInfo

/restapi/v1.0/rms/devices/{deviceId}/setup

GET

장치의 설정 정보를 가져옵니다. 장치의 설정 정보는 장치가 서버에 연결되는 시점에 업데이트 됩니다.

updateSetupInfo

/restapi/v1.0/rms/devices/{deviceId}/setup

PUT

변경된 장치 설정 정보를 장치에 전달합니다. 설정 정보 중 변경된 값만 장치에 프로토콜로 전달됩니다.

getUpdatedSetupInfoResult

/restapi/v1.0/rms/devices/{deviceId}/setup/{requestId}

GET

장치로부터 변경된 장치 설정 정보를 받아옵니다. 이 API는 updateSetupInfo API를 실행한 후에 실행 가능합니다.

getCurrentStatusDisplay

/restapi/v1.0/rms/devices/{deviceId}/status/display

GET

장치에 현재 디스플레이 제어 정보 상태를 요청합니다. 이 API를 호출하면 response 값으로 requestId를 전달받게 됩니다.

getCurrentStatusDisplay

/restapi/v1.0/rms/devices/{deviceId}/status/display/{requestId}

GET

장치에서 전달받은 디스플레이 제어 정보를 가져옵니다. 장치로 정보를 요청하는 경우와, 장치 정보를 실제로 전달받는 경우 2가지 형태로 사용됩니다.

getCurrentStatusTime

/restapi/v1.0/rms/devices/{deviceId}/status/time

GET

장치에 현재 시간 상태를 요청합니다. 이 API를 호출하면 response 값으로 requestId를 전달받게 됩니다.

getCurrentStatusTime

/restapi/v1.0/rms/devices/{deviceId}/status/time/{requestId}

GET

장치에서 전달받은 시간 정보를 가져옵니다. getCurrentStatusTime를 호출하여 받은 requestId를 파라미터로 전달해야 합니다.

getTimeInfo

/restapi/v1.0/rms/devices/{deviceId}/time

GET

DB에서 장치 시간 정보를 가져옵니다. 해당 정보가 존재하지 않는 경우 장치에 정보를 요청하여야 합니다.

updateTimeInfo

/restapi/v1.0/rms/devices/{deviceId}/time

PUT

변경된 시간 정보를 장치에 전달합니다. 시간 정보 중 변경된 값만 장치에 프로토콜로 전달됩니다.

getUpdatedTimeInfoResult

/restapi/v1.0/rms/devices/{deviceId}/time/{requestId}

GET

장치로부터 변경된 장치 시간 정보를 받아옵니다. 이 API는 getUpdatedTimeInfoResult API를 실행한 후에 실행 가능합니다.

listDeviceGroupOrgan

/restapi/v1.0/rms/devices/groups

GET

소속의 리스트를 가져옵니다.

listDeviceGroupInfo

/restapi/v1.0/rms/devices/groups/{groupId}

GET

{groupId} 그룹에 대한 상세 정보를 가져옵니다.

listDeviceGroupChild

/restapi/v1.0/rms/devices/groups/{groupId}/child

GET

{groupId}에 속한 하위 그룹 정보를 가져옵니다.

User

새 사용자를 추가하고, 사용자의 정보를 관리할 수 있습니다. 사용자 관련 서비스는 인증을 받은 사용자가 사용자 읽기/쓰기/관리 권한을 가져야만 접근할 수 있습니다.

사용자를 관리하는 서비스는 아래와 같습니다.

Service Name

API call

Call Type

Description

createUser

/restapi/v1.0/ums/users

POST

새 사용자를 추가합니다.

listDashboardUserInfo

/restapi/v1.0/ums/users/dashboard

GET

대쉬보드에 필요한 사용자의 정보를 가져옵니다.

updateMyInfo

/restapi/v1.0/ums/users/me

PUT

사용자의 정보를 수정합니다.

listUserOrgan

/restapi/v1.0/ums/users/organization

GET

소속 목록을 가져옵니다. 그룹트리를 구성할 때 사용할 수 있습니다.

listUserGroupOrgan

/restapi/v1.0/ums/users/groups

GET

소속 목록을 가져옵니다.

listUserGroupInfo

/restapi/v1.0/ums/users/groups/{groupId}

GET

{groupId} 그룹에 대한 상세 정보를 가져옵니다.

listUserGroupChild

/restapi/v1.0/ums/users/groups/{groupId}/child

GET

{groupId} 그룹에 속한 하위 그룹 목록을 가져옵니다.

Setting

주요 기능 이외에도 태그, 카테고리를 생성, 관리하고 대시보드를 수정하는 등 다양한 기능을 구현할 수 있습니다.

Service Name

API call

Call Type

Description

getCategoryInfo

/restapi/v1.0/ems/category/{categoryId}

GET

카테고리 목록을 가져옵니다.

deleteDashboard

/restapi/v1.0/ems/dashboard

DELETE

특정 대쉬보드 정보를 삭제합니다.

listDashboardInfo

/restapi/v1.0/ems/dashboard

GET

사용자가 설정할 대쉬보드에 표시될 내용을 가져옵니다. 대쉬보드에서 사용자는 원하는 정보만 보이도록 설정할 수 있습니다.

updateDashboardPriority

/restapi/v1.0/ems/dashboard

PUT

대쉬보드에 표시되는 항목들의 순서를 변경합니다.

createDashboard

/restapi/v1.0/ems/dashboard/create

GET

사용하지 않는 대쉬보드를 사용하도록 수정합니다.

listDashboardLoginInfo

/restapi/v1.0/ems/dashboard/login

GET

대쉬보드에 표시될 로그인 정보를 가져옵니다.

listDashboardNoticeInfo

/restapi/v1.0/ems/dashboard/notice

GET

대쉬보드에 표시될 게시판 정보를 가져옵니다.

deleteNoticeInfo

/restapi/v1.0/ems/dashboard/notice/edit

DELETE

게시판에서 원하는 게시물을 삭제합니다.

listEditNoticeInfo

/restapi/v1.0/ems/dashboard/notice/edit

GET

선택한 게시물의 상세 정보를 가져옵니다.

createNoticeInfo

/restapi/v1.0/ems/dashboard/notice/edit

POST

게시판에 게시될 새로운 게시물을 추가합니다.

updateNoticeInfo

/restapi/v1.0/ems/dashboard/notice/edit

PUT

게시판에서 선택된 게시물을 수정합니다.

listDashboardStorageInfo

/restapi/v1.0/ems/dashboard/storage

GET

대쉬보드에 표시될 저장소 정보를 가져옵니다.

listLicense

/restapi/v1.0/ems/license

GET

서버에 등록된 라이선스의 목록을 가져옵니다.

getServerSetupInfo

/restapi/v1.0/ems/setup

GET

서버 설정 정보를 가져옵니다. 서버 설정에는 서버의 여러가지 기능들을 on/off 할 수 있는 기능을 제공합니다.

getTagListInfo

/restapi/v1.0/ems/tag

POST

서버에 등록된 태그 목록을 가져옵니다.

Open API Details (swagger UI)

http://184.169.167.38:7001/MagicInfo/swagger-ui.html