3.1개요
서버 별 시나리오 편집기(Noede-red)의 상태을 관리 하기 위한 API 입니다.
API는 http/https 프로토콜을 사용하며, GET, POST method를 사용합니다.
request , response는 JSON String 형태로 전달됩니다.
3.1.1설명
시나리오 편집기 인스턴스의 실행 상태를 관리 할 수 있습니다.
3.1.2지원 목록
시나리오 편집기 실행 상태 확인
시나리오 편집기 실행하기
시나리오 편집기 종료하기
3.1.3선결 과제
시나리오 편집기 상태 관리를 위해서는 서버에 반드시 시나리오편집기 GW가 설치 되어있어야 합니다.
외부(내부) 통신을 하기위해서는 1880 포트가 열려 있어야 합니다.
3.2API
3.2.1SSO 인증
- Header 의 Authorization 필드에 SSO 토큰 값으로 인증이 됩니다.
- [Request]
[MOTHOD] [PATH]
- [Header]
Authorization: Bearer 토큰
- [SAMPLE]
curl -H "Authorization: Bearer eyAiYWxnIjogIkhTMjU...hfrTUXE4bX5to" \ -X POST \ http://127.0.0.1:1880/nodered/start
- [Response]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
code | text | Y | 코드정보 |
message | text | Y |
* 응답 성공
{ "code": "200", "message": "OK" , ...}
* 응답 실패(400)
{ "code": "401", "message": "Unauthorized" }
3.2.2시나리오 편집기 상태 정보
시나리오 편집기 의 상태 정보를 관리 한다.
3.2.2.1시나리오 편집기 상태 가져오기
시나리오 편집기의 상태를 가져온다.
POST /nodered/status
- [Header]
Authorization: Bearer 토큰
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
tenant_id | int(20) | Y | 시나리오 편집기 |
- [SAMPLE]
curl -H "Authorization: Bearer eyAiYWxnIjogIkhT...d8b2Thw" \ -X POST -H "Content-type: application/json" \ -d \ '{"tenant_id":1}' \ http://127.0.0.1:1880/nodered/status
* 응답
- [Response]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
code | text | Y | 코드정보 |
message | text | N | |
status | text | N | [상태값] active : 동작중 inactive : 동작하지 않음 |
* 응답
{ "code": "200", "message": "OK", "status" : "active" }
3.2.2.2시나리오 편집기 실행하기
시나리오 편집기를 실행한다.
이미 시나리오 편집기가 실행 되어있을 경우는 재시작 하지 않는다.
POST /nodered/start
- [Header]
Authorization: Bearer 토큰
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
tenant_id | int(5) | Y | 테넌트 ID |
- [SAMPLE]
curl -H "Authorization: Bearer eyAiYWxnIjogIkhT...d8b2Thw" \ -X POST -H "Content-type: application/json" \ -d \ '{"tenant_id":1}' \ http://127.0.0.1:1880/nodered/start
* 응답
- [Response]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
code | text | Y | 코드정보 |
message | text | N |
* 응답
{ "code": "200", "message": "OK" }
3.2.2.3시나리오 편집기 종료하기
시나리오 편집기를 종료한다.
POST /nodered/stop
- [Header]
Authorization: Bearer 토큰
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
tenant_id | int(5) | Y | 테넌트 ID |
- [SAMPLE]
curl -H "Authorization: Bearer eyAiYWxnIjogIkhT...d8b2Thw" \ -X POST -H "Content-type: application/json" \ -d \ '{"tenant_id":1}' \ http://127.0.0.1:1880/nodered/stop
* 응답
- [Response]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
code | text | Y | 코드정보 |
message | text | N |
* 응답
{ "code": "200", "message": "OK" }
3.3코드 정의
3.3.1오류 코드
code | message | 설명 |
---|---|---|
0 | 정상코드 | |
400 | ForbiddenException | 권한 없음 |
401 | UnauthorizedException | 인증 실패 |
404 | [Error]Not found! | 찾기 실패 |
411 | [Error] message invalid. | 메시지 타입 오류 |
416 | [Error] parameter error(server_name) | SERVER NAME 오류 |
419 | [Error] parameter error(tenant_id) | TENANT ID 오류 |
424 | [Error] Access Denied | 권한없음 |
431 | [Error] parameter error(max count) | 최대 요청 개수 초과 |
501 | [Error] Server DB (server) | 서버 DB 오류 |
502 | [Error] Server DB (node-red) | 서버 DB 오류 |
600 | FailedToSendMessageException | 메시지 전송 실패 |
601 | InternalSystemErrorException | 내부 시스템 에러 |