Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageko_KR


Premium 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 TypeDescription
authenticationRequest

/auth

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

/auth/refresh

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

OPEN API (v2.0)

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

CategoryControllerDescription
Contentcontent-controller콘텐츠 관리
content-group-controller콘텐츠 그룹 관리
Playlistplaylist-controller플레이리스트 관리
playlist-group-controller플레이리스트 그룹 관리
Schedulecontent-schedule-controller콘텐츠 스케줄 관리
content-schedule-group-controller콘텐츠 스케줄 그룹 관리
message-schedule-controller메시지 스케줄 관리
message-schedule-group-controller메시지 스케줄 그룹 관리
Devicedevice-controller장치 관리
device-group-controller장치 그룹 관리
Useruser-controller사용자 관리
user-group-controller사용자 그룹 관리
Settingenvironment-controller환경 설정

Content

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

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

Service Name

API call

Call TypeDescription
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 TypeDescription
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}/childGET

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

Schedule

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

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

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

Service Name

API call

Call TypeDescription
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 TypeDescription
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

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

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

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

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

GETDB에서 장치의 디스플레이 제어 정보를 가져옵니다. 해당 정보가 존재하지 않는 경우 장치에 정보를 요청하여야 합니다.
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

GETDB에서 장치의 일반 정보를 가져옵니다. 장치의 일반 정보는 장치가 서버에 연결되는 시점에 업데이트 됩니다.
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

GETDB에서 장치 시간 정보를 가져옵니다. 해당 정보가 존재하지 않는 경우 장치에 정보를 요청하여야 합니다.
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 TypeDescription
createUser/restapi/v1.0/ums/usersPOST새 사용자를 추가합니다.
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 TypeDescription
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



...