BrityRPA에서 제공하는 OpenAPI를 사용하여 외부시스템과 인터페이스를 구현할 수 있습니다. 제공되는 API는 REST API, 즉 HTTPS 프로토콜을 통해 읽고 쓰기 등이 실행되는 API입니다. REST API는 HTTPS 프로토콜을 이용하기 때문에 URL을 통해 자원을 특정하고 JSON 형태로 데이터를 주고 받게 됩니다.
BrityRPA에서 제공하는 OpenAPI는 크게 다음과 같습니다.
프로세스 조회
프로세스 실행
예약 작업
Queue 작업
OpenAPI 시작하기
BrityRPA OpenAPI를 사용하여 외부 시스템 연계를 개발하기 위해 개발자가 미리 알아두어야 할 사전 준비 절차를 설명합니다.
사전 준비 사항
연계용 API 토큰 생성
OpenAPI 기본 주소 및 API 목록 확인
부록) 개발자 테스트용 POSTMAN 샘플파일
사전 준비 사항
연계할 BrityRPA 서버와의 방화벽을 해제해 주세요.
시스템에서 API 호출을 위해 오케스트레이터 서버에 대한 8777 포트를 해제하세요.
연계할 BrityRPA 서버에 사용자 계정 생성 및 접근을 위한 테넌트가 생성하세요.
제어된 권한으로 접근하기 위해 사용자 ID, Tenant ID 가 필요합니다.
개발자는 테스트를 위해서 Postman을 설치하여 사전에 연계 테스트를 진행하세요.
이때 개발용 PC에 대해서 8777포트가 해제하고 개발 환경을 준비해야 합니다.
연계를 위해 사용하는 사용자 계정은 수행하고자 하는 권한을 충분히 확보 할 수 있도록
사전에 권한 부여 및 RPA 수행 환경을 점검하세요.
예) 다음과 같은 경우 API에 대한 응답은 실패가 발생됩니다.
• 사용자가 프로세스 조회 권한이 없다면 프로세스 조회 API에서 목록에서 제공할 수 없습니다.
• 프로세스에 설정된 봇이 현재 비활성화 되어 있다면 OpenAPI를 통한 실행이 실패합니다.
• 큐 API를 통해 메시지를 보내려고 하는데 해당 큐가 사전에 생성되어 있어야 합니다.
연계용 API 토큰 요청
RPA Open API는 토큰 방식으로 인증 정보 및 권한을 체크합니다. 모든 API는 인증 토큰을 헤더 또는 파라메터에 포함하여 호출해야 하며, API 요청 시 해당 토큰에 지정된 테넌트-사용자의 권한으로 요청이 처리됩니다. 인증 토큰을 발급받기 위해 포털 로그인 후 개인정보 관리 - API Key 에서 추가하여 사용이 가능하며 내 정보 수정하기 을 참고해주세요. 또한, 테넌트 포털에서도 발급이 가능하므로 테넌트 관리자에게 요청하여 발급받을 수 있습니다. 테넌트 포털에서의 사용법은 API Key 관리하기 를 참고해주세요.
OpenAPI 기본 주소
Request 시 기본 주소는 https://{{OrchestraGatewayIp}}:8777/ 이며, 해당 URI 뒤에 API 별로 정의된 주소를 추가적으로 Append 하여 호출합니다. 또한 모든 API는 연계용 API 토큰을 입력 파라메터에 포함하여 호출하여야 하며 자세한 API 스펙에 대해서는 다음장에서 설명합니다.
부록) 개발자 테스트용 Postman 샘플파일
API 테스트를 위해서 사전에 Postman을 통해 실제 api 호출 및 응답여부를 확인합니다. 해당 매뉴얼에서 사용한 샘플파일을 통해 실제 사용 예를 확인 합니다.
샘플 JSON 파일
프로세스 조회
외부시스템에서 BrityRPA 오케스트레이터 서버에 등록된 자동화 프로세스 리스트를 조회하고 상세설명 및 프로세스의 Input 파라미터 등을 조회 할 수 있습니다. 프로세스 조회"에서 제공되는 세부 API 목록은 다음과 같습니다.
조회_전체 (GET)
/asset/api/v1/objects/type/process
조회_특정 시점 이후 변경 내용 (GET)
/asset/api/v1/objects/type/process/changed?datetime=[Datetime String]
조회_검색 (GET)
/asset/api/v1/objects/type/process[?searchName=searchNameKeyword][&searchDesc=searchDescKeyword]
조회_프로젝트 (GET)
/asset/api/v1/objects/project?id=[projectID]&detail=Y
2.1 조회_전체 (GET)
개요
Process타입의 리스트를 조회한다.
API 명세
Feature | RPA 프로세스 조회 |
Method | GET |
API | /asset/api/v1/objects/type/process |
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | 없음 |
활용 예시 (Input)
요청 사항
해당 토큰 정보로 부터 BrityRPA 서버에 등록된 모든 프로세스를 정보를 조회 한다.
호출 API
https://70.70.109.140:8777/asset/api/v1/objects/type/process
Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
활용 예시 (Response)
응답 결과
해당 토큰 정보로 부터 사용자가 등록한 전체 프로젝트 정보와 관련 프로세스를 ID를 모두 조회 할 수 있도록 json 형태로 결과를 리턴한다.
결과예시 (JSON)
[ { "managerUsrId": null, "outputs": "[]", "createUserId": "kw1213.bae", "inputs": "[]", "typeName": "Process", "project": { "name": "ab", "id": "81bf7c81-7e37-46a8-885c-50960b1b9ea5" }, "type": 2, "resolution": "5760x1080", "timeout": "0", "isChanged": "Y", "designerVersion": "2.0.100.00617", "id": "8b4527a9-c777-4822-82b3-407b2a86cb19", "updateDatetime": 1626647549000, "os": "Microsoft Windows 10 Enterprise64비트", "applyStartDate": null, "updateUserId": "kw1213.bae", "filePath": "test3.proc", "applyEndDate": null, "runningTime": "0", "version": "1.00", "delYn": "N", "createDatetime": 1626647549000, "name": "test3", "workType": "foreground", "activation": "Y", "category": "Process", "desc": "", "status": 1 }, { "managerUsrId": null, "outputs": "[]", "createUserId": "kw1213.bae", "inputs": "[]", "typeName": "Process", "project": { "name": "ak_NotePad실행_v16001_06021_V1", "id": "64deeb9d-3afe-4b1a-9cc8-f05162501c83" }, "type": 2, "resolution": "5760x1080", "timeout": "0", "isChanged": "Y", "designerVersion": "2.0.100.00617", "id": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "updateDatetime": 1626167471000, "os": "Microsoft Windows 10 Enterprise64비트", "applyStartDate": null, "updateUserId": "kw1213.bae", "filePath": "P_ak_NotePad_실행.proc", "applyEndDate": null, "runningTime": "0", "version": "1.10", "delYn": "N", "createDatetime": 1625722820000, "name": "P_ak_NotePad_실행", "workType": "foreground", "activation": "Y", "category": "Process", "desc": "default process", "status": 1 }, { "managerUsrId": null, "outputs": "[]", "createUserId": "kw1214.bae", "inputs": "[]", "typeName": "Process", "project": { "name": "xxxx_xxxx", "id": "27e0db14-ea84-440c-8c15-b3fe52689f9c" }, "type": 2, "resolution": "5760x1080", "timeout": "0", "isChanged": "Y", "designerVersion": "2.0.100.00617", "id": "db673768-53be-455b-af4f-c23f000c9918", "updateDatetime": 1626163253000, "os": "Microsoft Windows 10 Enterprise64비트", "applyStartDate": null, "updateUserId": "kw1214.bae", "filePath": "ssss_ssss.proc", "applyEndDate": null, "runningTime": "0", "version": "1.00", "delYn": "N", "createDatetime": 1626163253000, "name": "ssss_ssss", "workType": "foreground", "activation": "Y", "category": "Process", "desc": "pppp", "status": 1 } ]
ResponeBody 설명 managerUsrId 과거 개요 데이터에 남아 있을 수 있으나, 현재는 사용하지 않음 outputs 프로세스 출력변수 createUserId (생성자) inputs 프로세스 입력변수 typeName [1 Project, 2 Process, 3 Normal Task, 4 Shared Task, 5 Library 6 Asset] type [1 Project, 2 Process, 3 Normal Task, 4 Shared Task, 5 Library 6 Asset] timeout 프로세스 타임아웃 설정값 isChanged 값 변경 여부 os 프로세스가 만들어진 OS버젼 applyStartDate 개요 생성 시 사용자가 설정한 기간의 start date workType 헤드리스와 일반프로세를 구별, background/foreground category Asset의 카테고리(Ex : string, file) status 프로세스의 상태 (1: 정상, 2: 사용불가)
2.2 조회_특정 시점 이후 변경 내용 (GET)
개요
특정 시점 이후 변경된 프로세스 리스트를 조회 한다.
API 명세
Feature | RPA 프로세스 조회 - 특정 시점 이후 변경 내용 |
Method | GET |
API | /asset/api/v1/objects/type/process/changed?datetime=[Datetime String]&authType=[authType] |
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | datetime : 시간 정보 YYYY-MM-DDThh:mm:ss+TZD (반드시 URIEncoding 변환) authType : R(읽기)|E(실행)|D(삭제)|U(수정)|S(설정) |
참고) Datetime 정보 URI 인코딩하기
• 2021-07-13T14:55:21+09:00 형태를 입력 하고 PostMan에서 EncodeURIComponet를 사용하면 변환이 가능하다.
AddDateTime1
활용 예시 (Input)
요청 사항
2021-07-13T14:55:21+09:00 이후 BrityRPA 서버에 변경된 프로세스를 정보를 리스트로 조회 한다.
API 호출
https://70.70.109.140:8777/asset/api/v1/objects/type/process/changed?datetime=2021-07-13T14%3A15%3A06%2B09%3A00&authType=R
Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
활용 예시 (Response)
응답 결과
BrityRPA 서버로 부터 입력된 시간 이후에 변경된 프로세스 리스트를 리턴한다.
결과 예시 (JSON)
[ { "managerUsrId": null, "outputs": "[]", "createUserId": "kw1213.bae", "inputs": "[{\"data\":null,\"name\":\"inVar1\",\"initValue\":\"\",\"desc\":\"\",\"expression\":\"inVar1\"}]", "typeName": "Process", "project": { "name": "ak_NotePad실행_v16001_06021_V1", "id": "64deeb9d-3afe-4b1a-9cc8-f05162501c83" }, "type": 2, "resolution": "5760x1080", "timeout": "0", "isChanged": "Y", "designerVersion": "2.0.100.00617", "id": "3889f418-025f-454b-a48a-9ee180e2cc11", "updateDatetime": 1626167472000, "os": "Microsoft Windows 10 Enterprise64비트", "applyStartDate": null, "updateUserId": "kw1213.bae", "filePath": "P_ak_NotePad_실행_in.proc", "applyEndDate": null, "runningTime": "639", "version": "1.10", "delYn": "N", "createDatetime": 1625722820000, "name": "P_ak_NotePad_실행_in", "workType": "foreground", "activation": "Y", "category": "Process", "desc": "default process", "status": 1 }, { "managerUsrId": null, "outputs": "[]", "createUserId": "kw1213.bae", "inputs": "[]", "typeName": "Process", "project": { "name": "ak_NotePad실행_v16001_06021_V1", "id": "64deeb9d-3afe-4b1a-9cc8-f05162501c83" }, "type": 2, "resolution": "5760x1080", "timeout": "0", "isChanged": "Y", "designerVersion": "2.0.100.00617", "id": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "updateDatetime": 1626167471000, "os": "Microsoft Windows 10 Enterprise64비트", "applyStartDate": null, "updateUserId": "kw1213.bae", "filePath": "P_ak_NotePad_실행.proc", "applyEndDate": null, "runningTime": "0", "version": "1.10", "delYn": "N", "createDatetime": 1625722820000, "name": "P_ak_NotePad_실행", "workType": "foreground", "activation": "Y", "category": "Process", "desc": "default process", "status": 1 } ]
2.3 조회_검색 (GET)
개요
조건 검색을 통해 BrityRPA 서버에서 Process타입의 리스트에 대한 검색결과를 제공한다.
API 명세
Feature | process 타입의 리스트중에 이름과 description을 이용하여 검색 결과를 제공한다 |
Method | GET |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | searchName=searchNameKeyword searchDesc=searchDescKeyword |
활용 예시 (Input)
요청 사항
이름이 ssss이고 description이 pppp인 프로세스에 대한 검색 결과를 요청한다.
API 호출
https://70.70.109.140:8777/asset/api/v1/objects/type/process?searchName=ssss&searchDesc=pppp
Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
활용 예시 (Response)
응답 결과
BrityRPA 서버로 부터 검색조건에 해당하는 프로세스 리스트를 검색하여 리턴한다.
결과 예시 (JSON)
[
{
"managerUsrId": null,
"outputs": "[]",
"createUserId": "kw1214.bae",
"inputs": "[]",
"typeName": "Process",
"project": {
"name": "xxxx_xxxx",
"id": "27e0db14-ea84-440c-8c15-b3fe52689f9c"
},
"type": 2,
"resolution": "5760x1080",
"timeout": "0",
"isChanged": "Y",
"designerVersion": "2.0.100.00617",
"id": "db673768-53be-455b-af4f-c23f000c9918",
"updateDatetime": 1626163253000,
"os": "Microsoft Windows 10 Enterprise64비트",
"applyStartDate": null,
"updateUserId": "kw1214.bae",
"filePath": "ssss_ssss.proc",
"applyEndDate": null,
"runningTime": "0",
"version": "1.00",
"delYn": "N",
"createDatetime": 1626163253000,
"name": "ssss_ssss",
"workType": "foreground",
"activation": "Y",
"category": "Process",
"desc": "pppp",
"status": 1
}
]
프로젝트
3.1 프로젝트 정보 조회
개요
프로젝트 정보를 조회 합니다.
API 명세
Feature | 프로젝트 정보를 조회 합니다. |
Method | GET |
API |
|
Header | Authorization: 연계용 서버 토큰 |
PathVariable | id= 프로젝트 id detail= Y |
Parameter | 없음 |
활용 예시 (Input)
요청 사항
프로젝트 아이디가 41af417b-6f42-4e4f-8957-e3775a397008에 대한 상세 정보를 조회한다.
API 호출
https://70.70.109.140:8777/
/asset/api/v1/objects/project?id=41af417b-6f42-4e4f-8957-e3775a397008&detail=YAuthorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
활용 예시 (Response)
응답 결과
BrityRPA 서버로 부터 검색조건에 해당하는 프로젝트를 조회하여 리턴한다.
결과 예시 (JSON)
{
"objectActivation": "Y",
"createUserId": "jmpark",
"objectStatus": 1,
"os": null,
"updateUserId": "jmpark",
"filePath": "22656179865496145JMProject",
"downloadUrl": "/asset/api/v1/objects/project?id=41af417b-6f42-4e4f-8957-e3775a397008&version=1.00",
"ownerId": "jmpark",
"version": "1.00",
"resolution": null,
"updateTimestamp": 1645423256000,
"userHasAuth": {
"A": true,
"R": true,
"S": true,
"D": true,
"E": true,
"U": true
},
"name": "JMProject",
"designerVersion": "2.1.010.00103",
"category": "project",
"objectId": "41af417b-6f42-4e4f-8957-e3775a397008",
"desc": "신규업로드, 220221\r\n"
}
3.2 프로젝트 생성
개요
프로젝트를 생성하는 API를 제공합니다. - 해당 기능은 v3.1.0 버전부터 지원합니다.
API 명세
Feature | 신규 빈 프로젝트를 생성합니다. |
Method | POST |
API |
|
Description | 전달받은 이름과 설명으로 새로운 프로젝트를 생성합니다. RequestBody 설명 - name : 새로 생성할 프로젝트 이름 - desc : 새로 생성할 프로젝트 설명 |
Input | Header
Body { "name" : "newProjectName", "desc": "newProjectDescription" } |
Output | { "managerUsrId": null, "createUserId": "createUser", "updateDatetime": 1693878508476, "os": null, "applyStartDate": null, "updateUserId": "createUser", "filePath": "abc.zip", "typeName": "Project", "applyEndDate": null, "type": 1, "version": "1.00", "resolution": null, "delYn": "N", "createDatetime": 1693878508476, "name": "newProjectName", "workType": "foreground", "designerVersion": "", "id": "186a9836-ba26-4df2-9aa9-85a2018e1f2a", "activation": "N", "category": "project", "desc": "newProjectDescription", "status": 1 } |
3.3 프로젝트 삭제
개요
특정 프로젝트를 삭제합니다.
API 명세
Feature | 해당 프로젝트 아이디에 대해서 삭제합니다. |
Method | DELETE |
API |
|
Description | 프로젝트의 정보를 삭제한다. RequestBody 설명 id : 삭제할 프로젝트의 ID |
Input | Header
Body { "id":"41af417b-6f42-4e4f-8957-e3775a397008" } |
Output | true |
3.4 프로젝트 파일 검증
개요
요청한 IPA 파일이 업로드 가능한지 여부를 검증합니다.
API 명세
Feature | 요청한 IPA 파일이 업로드 가능한지 여부를 검증 |
Method | POST |
API | /asset/api/v1/ipaUpload/check |
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Body | type : IPA 파일 종류 (String, project : Project 파일, workflow : processflow 파일) pwd : IPA 파일 비밀번호 (string) file : 검증할 IPA 파일 |
활용 예시 (Input)
요청 사항
요청한 IPA 파일이 업로드 가능한지 여부를 검증합니다.
API 호출
/asset/api/v1/ipaUpload/check
Header Authorization
Authorization: 연계용 User 토큰
Body
AddDateTime1
활용 예시 (Response)
응답 결과
요청한 IPA 파일이 업로드 가능한지 여부를 검증합니다.
결과 예시
{ "objectType": "Project", "objectName": "TestProject", "objectId": "368ca8cb-34fe-4097-9fcf-9dae6e660708", "objectDesc": "Test for Duplicated Project Name", "objectVersion": "1.00", "designerVersion": "2.1.100.00330", "attributes": { "lastPublishedDate": "", "createdDate": "2022-06-14 15:48:04", "latestProcess": "MyProcess", "userPermission": "A;R;S;D;E;U", "createdBy": "euikyushim", "namespace": "", "workType": "background", "lastPublishedBy": "", "category": "project", "isExist": "N" }, "validationResultList": [ { "type": "SUCCESS", "message": null, "target": null } ], "objectList": [ { "objectType": "Process", "objectName": "MyProcess", "objectId": "270778b6-986f-466b-982b-09f6a3d94fde", "objectDesc": null, "objectVersion": "", "designerVersion": "2.1.100.00330", "attributes": { "LastModifiedDate": "2022-06-14 15:48:50", "LastModifiedBy": "euikyushim", "DesignedBy": "Designer", "Description": "default process", "onError": "", "CreatedBy": "euikyushim", "Os": "Microsoft Windows 10 Enterprise64비트", "Timeout": "0", "isMain": "true", "isValid": "true", "lastPublishedServer": "", "type": "process", "LastPublishedDate": "", "onBefore": "", "onAfter": "", "readonly": "false", "workType": "background", "CreatedDate": "2022-06-14 15:48:04", "LastPublishedBy": "", "RunningTime": "0", "Resolution": "1536x864" }, "validationResultList": null, "objectList": null } ] }
ResponseBody 설명 objectType : 개체 종류 (Project | WorkFlow | Process | RemoteProcess | NormalTask | SharedTask | Event | Queue | Asset) objectName : 개체 이름 objectId : 개체 ID objectDesc : 개체 설명 objectVersion : 개체 버전 designerVersion : 디자이너 버전 attributes : 기타 개체 속성 validationResultList : 검증 결과 리스트 type : 성공 실패 여부 (SUCCESS | FAIL) message : 실패 원인 코드 target : 원인 개체 objectList : 개체에 속한 하위 개체 리스트
3.5 프로젝트 파일 업로드
개요
요청한 IPA 파일을 업로드 합니다.
API 명세
Feature | 요청한 IPA 파일을 업로드 한다. 프로젝트 정보 부재시 생성 후 업로드 합니다. |
Method | POST |
API | /asset/api/v1/ipaUpload/upload |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Body | type : IPA 파일 종류 (String, project : Project 파일, workflow : processflow 파일) pwd : IPA 파일 비밀번호 (string) file : 검증할 IPA 파일 옵션 : data{"autoActivation":"Y"} // 활성화자동 승인필요시 추가 |
활용 예시 (Input)
요청 사항
요청한 IPA 파일을 업로드 한다.
API 호출
/asset/api/v1/ipaUpload/upload
Header Authorization
Authorization: 연계용 User 토큰
Body
AddDateTime1
활용 예시 (Response)
응답 결과
요청한 IPA 파일을 업로드 한다
결과 예시
{ "id": "1f7426a8-abe6-4bb9-adfa-620bdf46228a", "name": "ffff", "version": "1.00", "type": "Project", "resultType": "SUCCESS", "message": null }
ResponseBody 설명 id : Project(Processflow) ID type : IPA 파일 종류 (Project | WorkFlow) name : Project(Processflow)이름 version : Project(Processflow)버전 resultType : 성공 실패 여부 (SUCCESS | FAIL) message : 실패 원인 코드
실패 원인코드
코드 | 설명 |
CHECK_OBJECT_ERROR | 검증 시 개체 오류가 발생한 경우 |
COMPRESSED_OBJECT_ERROR | 파일 압축 해제시 오류가 발생한 경우 |
CREATE_OBJECT_ERROR | 개체 생성 시 오류가 발생한 경우 |
DUPLICATE_OBJECT_NAME | 기 존재하는 Project(Processflow)명이 있는 경우 |
FILE_IS_NOT_EXIST | 파일이 존재하지 않는 경우 발생하는 오류 |
INVALID_OBJECT | 기타 개체 검증 오류 |
INVALID_OBJECT_NAME | 개체 명이 64자 이상이거나 숫자로 시작 또는 특수문자를 사용한 경우 발생 (공백 X, '_'는 사용 가능) |
INVALID_XML_FILE | xml 파일 내용이 비정상적인 경우 발생하는 오류 |
INVALID_XML_FORMAT | 검증 시 개체 정보 형식이 잘못된 경우 발생하는 오류 |
IPA_WRONG_PASSWORD | IPA 암호가 잘못된 경우 |
IS_NOT_PROJECT_FILE | IPA 파일이 Project가 아닌 경우 |
IS_NOT_WORKFLOW_FILE | IPA 파일이 Processflow가 아닌 경우 |
LATEST_PROCESS_IS_NOT_EXIST | Project의 경우 기본 Process가 정의되어 있지 않은 경우 발생하는 오류 |
OBJECT_CAN_NOT_CREATE | 기타 오류로 인해 개체를 생성할 수 없는 경우 발생하는 오류 |
OBJECT_ID_IS_NOT_MATCH | ipa에서 정의한 개체 ID가 사용 중 비매칭 될 경우 발생하는 오류 |
OBJECT_IS_NOT_EXIST | ipa에서 사용하는 별도 정의된 개체 정보가 없는 경우 발생하는 오류 |
OBJECT_NAME_IS_NOT_MATCH | ipa에서 정의한 개체 명과 사용 중 표기한 명이 비매칭 될 경우 발생하는 오류 |
SVG_FILE_IS_NOT_EXIST | IPA 파일에 SVG 파일 정보가 없는 경우 |
XML_DATA_IS_EMPTY | xml 파일 정보가 없는 경우 발생하는 오류 |
3.6 프로젝트 중지/재시작
개요
프로젝트 중지/재시작합니다. (v3.0.1 추가)
API 명세
Feature | 프로젝트 중지/재시작 |
Method | POST |
API | /asset/api/v1/objects/project/status |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 objectId : 중지/재시작할 프로젝트의 ID objectStatus: 변경할 프로젝트의 상태(0: 중지, 1: 재시작)
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "objectId":"d7dcb58a-973f-4017-8e8a-729259e354c7", "objectStatus":"0" }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS" }
3.7 프로젝트/프로세스플로우/개요 소유자 변경
개요
프로젝트/프로세스플로우/개요 소유자 변경합니다. (v3.0.1 추가)
API 명세
Feature | 프로젝트/프로세스플로우/개요 소유자 변경 |
Method | PUT |
API | /asset/api/v1/objects/project/owner /asset/api/v1/objects/workflow/owner /asset/api/v1/objects/workspace/owner (v3.0.2 추가) |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 objectId : 소유자를 변경하고자 하는 프로젝트 ID ownerId : 변경하고자 하는 소유자 ID
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "objectId": "43bf2861-fd06-4279-bf55-d585b498c7c1", "ownerId": "admin" }
활용 예시 (Response)
HttpStatus 200 OK { "result": "Success", "name": "소유자변경프로젝트1" }
3.8 프로젝트/프로세스플로우/개요 권한그룹 조회
개요
프로젝트/프로세스플로우/개요 권한그룹 조회합니다. (v3.0.1 추가)
API 명세
Feature | 프로젝트/프로세스플로우/개요 권한그룹 조회 |
Method | GET |
API | /tenant/api/v1/private/project/group/{objectId} /tenant/api/v1/private/workflow/group/{objectId} /tenant/api/v1/private/workspace/group/{objectId} (v3.0.2 추가) |
Header | Authorization: 연계용 User 토큰 |
PathVariable | objectId : 조회하고자 하는 프로젝트 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 objectId : 소유자를 변경하고자 하는 프로젝트 ID ownerId : 변경하고자 하는 소유자 ID
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body -
활용 예시 (Response)
HttpStatus 200 OK [ { "groupId": 352, "groupName": "dw22", "groupDescription": "", "authU": 0, "authR": 0, "authE": 0, "authA": 0, "authD": 0, "authS": 1, "isAdmin": "N", "isDefault": "N" } ]
3.9 프로젝트/프로세스플로우/개요 권한그룹 추가/수정
개요
프로젝트/프로세스플로우/개요 권한그룹 추가/수정합니다. (v3.0.1 추가)
API 명세
Feature | 프로젝트/프로세스플로우/개요 권한그룹 추가/수정 |
Method | POST |
API | /tenant/api/v1/private/project/group/{objectId} /tenant/api/v1/private/workflow/group/{objectId} /tenant/api/v1/private/workspace/group/{objectId} (v3.0.2 추가) |
Header | Authorization: 연계용 User 토큰 |
PathVariable | objectId : 조회하고자 하는 프로젝트 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 [ { "groupId":"447", (추가하려는 그룹 아이디) "authU": 0, (수정권한 1 혹은 0만 가능) "authR": 1, (읽기권한 1 혹은 0만 가능) "authE": 0, (실행권한 1 혹은 0만 가능) "authA": 0, (활성화권한 1 혹은 0만 가능) "authD": 1, (삭제권한 1 혹은 0만 가능) "authS": 0 (설정권한 1 혹은 0만 가능) } ]
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body [ { "groupId":"346", "authU": 0, "authR": 1, "authE": 0, "authA": 0, "authD": 1, "authS": 0 } ]
활용 예시 (Response)
HttpStatus 200 OK [ { "groupId": 346, "groupName": "HQ_UG1", "groupDescription": "HQ User 1 group", "authU": 0, "authR": 1, "authE": 0, "authA": 0, "authD": 1, "authS": 0, "isAdmin": "Y", "isDefault": "N" } ]
3.10 프로젝트/프로세스플로우/개요 권한그룹 삭제
개요
프로젝트/프로세스플로우/개요 권한그룹 삭제합니다. (v3.0.1 추가)
API 명세
Feature | 프로젝트/프로세스플로우/개요 권한그룹 삭제 |
Method | DELETE |
API | /tenant/api/v1/private/project/group/{objectId} /tenant/api/v1/private/workflow/group/{objectId} /tenant/api/v1/private/workspace/group/{objectId} (v3.0.2 추가) |
Header | Authorization: 연계용 User 토큰 |
PathVariable | objectId : 조회하고자 하는 프로젝트 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 [ { "groupId":"447" (추가하려는 그룹 아이디) } ]
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body [ { "groupId":"346" } ]
활용 예시 (Response)
HttpStatus 200 OK { "result": "true" }
3.11 프로젝트 복사
개요
입력받은 프로젝트 id를 targetName을 이름으로 하는 프로젝트로 복사한다. (v3.1.0) - version을 입력한 경우, 해당 버전을 복사하며, 입력하지 않은 경우, 승인 된 버전 중 최신 버전을 대상으로 한다. - names에서 받은 프로세스, 작업 이름 정보로 프로세스, 작업의 이름을 변경한다.
API 명세
Feature | 프로젝트 복사 |
Method | POST |
API | /asset/api/v1/objects/project/copy |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | Param 설명 참조 |
body | 없음 |
RequestBody 설명 { "id": "String", // 복사할 프로젝트 ID, 필수 여부 : Y "version": "String", // 복사할 프로젝트의 버젼, 필수 여부 : N (입력하지 않을 경우 승인된 최신버젼) "targetName": "String", // 새로 생성될 프로젝트의 이름, 필수 여부 : Y "names": "Map" // 이름을 변경할 프로세스, 작업들의 정보, Key-Value로 구성되며 Key는 기존 이름, Value는 새로운 이름을 의미, 필수여부 : N } 예시) 프로세스가 3개인 경우, 이름 변경을 원하는 1개의 정보만 입력 가능, 입력 하지 않은 2개는 기존 이름 유지 "names" : { "ProcessA" : "ProcessB", "TaskA": "TaskB" }
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "id":"23e0928d-38ba-4c71-9e0f-6c32d86d71bf", "version": "", "targetName":"Android__copy1", "names": { "fromProcessName": "P_receive", "fromTaskName": "toTaskName" } }
RequestBody 설명 { "id": "String", // 복사할 프로젝트 ID, 필수 여부 : Y "version": "String", // 복사할 프로젝트의 버젼, 필수 여부 : N (입력하지 않을 경우 승인된 최신버젼) "targetName": "String", // 새로 생성될 프로젝트의 이름, 필수 여부 : Y "names": "Map" // 이름을 변경할 프로세스, 작업들의 정보, Key-Value로 구성되며 Key는 기존 이름, Value는 새로운 이름을 의미, 필수여부 : N } 예시) 프로세스가 3개인 경우, 이름 변경을 원하는 1개의 정보만 입력 가능, 입력 하지 않은 2개는 기존 이름 유지 "names" : { "ProcessA" : "ProcessB", "TaskA": "TaskB" }
활용 예시 (Response)
HttpStatus 200 OK { "projectId": "0d3e2ef2-b336-4a99-956d-2713133d3526" }
HttpStatus 400(BAD_REQUEST) { "errorValue": "ALREADY_USE_NAME", "errorCode": "ASSET_A2", "params": "ALREADY_USE_PROJECT_NAME" }
실패 원인코드
errorValue | params | 설명 |
INVALID_OBJECT_NAME | DUPLICATED_NAME | 프로젝트 내 프로세스 이름 중복(해당 프로젝트 이름 포함) |
ALREADY_USE_NAME | ALREADY_USE_PROJECT_NAME | 다른 프로젝트에서 사용 중인 이름 |
INVALID_OBJECT_NAME | EMPTY_STRING | 빈 문자열 |
TOO_LONG_NAME | 최대 길이 초과 | |
START_WITH_NUMBER | 숫자로 시작 | |
USE_RESERVED_WORD | 예약어 사용 | |
INVALID_CHARACTER | 특수문자를 포함한 사용 불가능한 문자 포함 |
프로세스 실행 및 중지
프로세스 조회를 통해 등록된 프로세스 ID를 확인한 후 외부시스템에서 BrityRPA 서버에 등록된 자동화 프로세스를 원격으로 실행 시킬 수 있습니다. 실행할 프로세스 ID와 Input 파라미터에 따라 필요한 값을 입력하고 RPA 자동화 프로세스 실행을 요청합니다. 이때에 해당 프로세스에 사전에 수행할 봇과 실행 조건이 준비되어 있어야 합니다. 프로세스 실행"에서 제공되는 세부 API 목록은 다음과 같습니다.
실행 (POST)
/scheduler/api/v1/jobs
실행_Job정보조회(단건) (GET)
/scheduler/api/v1/jobs/{jobId}
실행_Job정보조회(다건) (POST)
/scheduler/api/v1/jobs/list
실행_Job결과파일 다운로드 (GET)
/scheduler/api/v1/jobs/{jobId}/file
실행중인 Job 중지 (POST)
/scheduler/api/v1/actions/jobs/{processId}/stop
실행옵션 변경 (PUT)
/asset/api/v1/objects/process/targetBot
4.1 실행 (POST)
개요
조회를 통해 식별된 자동화 프로세스를 원격으로 봇에 실행시켜 줍니다. 서버에 RPA 프로세스를 즉시 시작하도록 요청한다.
API 명세
Feature | RPA 자동화 프로세스 실행을 요청합니다. |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Body | 1. jobType(필수): 1(Process), 2(ProcessFlow가 수행한 Process), 21(ProcessFlow) 2. processId(필수) : 요청하고자 하는 process의 ID 3. priority: Job 우선순위 (0보다 큰 값, 작을 수록 우선순위가 높음.) 4. userAuthentication(필수): Job을 실행하는 UserToken (권한 체크용) 5. jobParameter: Job 요청 시 Parameter 정보, 기본 "{}" (Json) 6. callbackInfo : Job 종료 시 결과를 리턴받을 URL (결과 이미지 전달 요건이있어 callbackUrl을 POST로 요청함) 7. resultReqText: Job 종료 시 결과를 리턴받을 때, 이미지 파일 수신 여부 (Json) ex> {"file": "Y", "message":"Y"}" 8. additionalJsonText: Job 종료 시 결과를 리턴받을 때, 그대로 돌려받고자 하는 정보 (연계 시스템 키) ex> "{"botId":"[BOTID]", "chatroomId":"[CHATROOMID]"}" 9. botSelectType : 할당 대상 지정 방법 (1: ALL, 2: Group, 3: Bot) 10. botId : 할당 대상 지정에 따른 실제 항목 (1 : 공백, 2: GroupID, 3: BotID) 11. jobRequestOption : Job 요청 추가 옵션 제공 retryOnFail : Job 실패 시 재실행 요청 (※ 재실행된 Job에 대해서는 결과 리턴 Callback 발생하지 않음) - retryOptionType : 실패 시 재실행 설정 (0 : 미설정, 2 : 실패 시 재실행 횟수 설정) - retryCount : 실패 시 최대 재실행 횟수 (99이하로 설정) 실패 시 최대 3회 재실행 요청 예시 ex> "jobRequestOption":"{\"retryOnFail\":{\"retryOptionType\":2,\"retryCount\":3}}"} |
실행 (Polling)
활용 예시 (Input)
요청 사항
프로세스 아이디가 "c52a9f2a-f300-4f8e-8b68-c799109914f1" 에 대해서 job을 즉시 수행 요청한다.
API 호출
https://70.70.109.140:8777/scheduler/api/v1/jobs
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ * "jobType":"1", * "processId":"c52a9f2a-f300-4f8e-8b68-c799109914f1", * "userAuthentication": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi", * "jobParameter": "{\"대상화폐\":\"TWD\",\"대상화폐금액\":\"55\"}" * }
활용 예시 (Response)
응답 결과
Job 수행 요청에 대한 성공 여부를 즉시 리턴한다. 실제 job 실행 결과 및 상태 조회가 필요한 경우 폴링 방식으로 job 상태 조회 API를 호출하여 확인한다.
결과 예시 (JSON)
{ "jobId": "1626767500820-79937415-fa8f8e4e", "averageSeconds": 18, "expectWaitingSeconds": 15, "resultCode": "SUCCESS", "jobType": 1 }
ResponeBody 설명 jobId : Job 의 ID averageSeconds: 프로세스 수행 평균 예상 시간(기존 실행이력 기반 추정) expectWaitingSeconds: 실행 대기 평균 예상 시간(기존 실행이력 기반 추정) resultCode: 결과 리턴 코드 jobType: 잡 수행 타입
실행 (Callback)
활용 예시 (Input)
요청 사항
프로세스 아이디가 "c52a9f2a-f300-4f8e-8b68-c799109914f1" 에 대해서 job을 즉시 수행 요청한다. 해당 job이 수행 완료시에 결과 정보를 포함해서 콜백 URL(https://182.195.81.243:8777/jobresult)로 호출을 받도록 한다. BrityRPA로 부터 수행 완료시 콜백을 받을 서비스는 별도로 구현을 하여야 한다.
API 호출
https://70.70.109.140:8777/scheduler/api/v1/jobs
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "jobType":"1", "processId":"c52a9f2a-f300-4f8e-8b68-c799109914f1", "userAuthentication": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOiJVU0VSIiwiY2xpZW50SWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInVzZXJJZCI6Imt3MTIxMy5iYWUiLCJjaGFsbGVuZ2UiOiIxNjI2MTM5MTA4MjQ5LTYzOTA0MzUyLTUzNzAwMDU4IiwiaXBBZGRyIjoiMTI3LjAuMC4xIiwidGVuYW50SWQiOiJUTl9mMzkxNDE1NzQyZWQ0ZmFkODYwNzc1Mzk4YTI2NjZhNCIsImlhdCI6MTYyNjEzOTEwOCwiZXhwIjoxNjQwOTYyNzk4fQ.24lB3hgp64EGzM3BfOvfjegjiZ5D1UHANeKpBs9izaU", "jobParameter": "{\"대상화폐\":\"TWD\",\"대상화폐금액\":\"55\"}", "callbackInfo":"https://182.195.81.243:8777/jobresult", "resultReqText":"{\"file\": \"Y\", \"message\":\"Y\"}", "additionalJsonText":"{ 결과에 그대로 돌려받고자 하는 Json String }" }
활용 예시 (Response)
응답 결과
Job 수행 요청에 대한 성공 여부를 즉시 리턴한다. job 실행 완료후 입력한 콜백 URL로 호출되어 수행 완료 결과를 받을 수 있다.
결과 예시 (JSON)
{ "jobId": "1626770527363-e41b9227-53b9f018", "averageSeconds": 18, "expectWaitingSeconds": 15, "resultCode": "SUCCESS", "jobType": 1 }
ResponeBody 설명 jobId : Job 의 ID averageSeconds: 프로세스 수행 평균 예상 시간(기존 실행이력 기반 추정) expectWaitingSeconds: 실행 대기 평균 예상 시간(기존 실행이력 기반 추정) resultCode: 결과 리턴 코드 jobType: 잡 수행 타입
4.2 실행_Job정보조회(단건) (GET)
개요
JobId 기준으로 Job 정보를 단건 조회합니다. 건별로 JobId에 대한 실행중, 완료 등 상태 정보를 알 수 있습니다. 프로세스 실행 권한이 없을 경우 Job 파라미터, 결과 등 일부 정보는 조회되지 않습니다.
API 명세
Feature | RPA 프로세스 조회 |
Method | GET |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | jobId : 조회하고자 하는 Job ID |
Parameter | 없음 |
활용 예시 (Input)
요청 사항
Job 아이디가 1626302689640-3a7405d0-e6de74d0 에 대한 수행 상태를 조회 한다.
API 호출
https://70.70.109.140:8777/scheduler/api/v1/jobs/1626302689640-3a7405d0-e6de74d0
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
없음
활용 예시 (Response)
응답 결과
요청한 JOB 아이디에 대한 상태 및 세부 결과를 리턴한다.
결과 예시 (JSON)
{ "jobId": "1626302689640-3a7405d0-e6de74d0", "processId": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "version": "1.10", "botId": "BOT-00006", "jobUser": "kw1213.bae", "jobParameter": "{\"대상화폐\":{\"value\":\"USD\",\"hidden\":\"false\"}}", "statusCode": "4", "statusName": "JOB_END", "detailCode": "1", "detailName": "SUCCESS", "result": "{}", "scheduledTime": "2021-07-14T22:44:49Z", "startTime": "2021-07-14T22:44:56Z", "endTime": "2021-07-14T22:45:13Z", "processName": "P_ak_NotePad_실행", "projectName": "ak_NotePad실행_v16001_06021_V1", "botName": "bot6_ak_v2010" }
ResponeBody 설명 jobId : Job 의 ID processId : 실행한 프로세스 ID version : 실행한 프로세스 버전 botId : 실행한 Bot ID jobUser : Job 을 실행시킨 사용자 ID jobParameter : Process 실행 시 Input Parameter (JSON 문자열) statusCode, statusName, detailCode, detailName : 하단 참고 result : Job 수행 결과 Output scheduledTime : Job 예약(요청) 시간 (UTC 기준) startTime : Job 시작 일시 (UTC 기준) endTime : Job 종료 일시 (UTC 기준) processName : 실행한 프로세스 이름 projectName : 실행한 프로세스가 속한 프로젝트 이름 botName : 실행한 Bot 의 이름
참고) Job 정보 조회(단건) statusCode, detailCode 설명
참고) Job 정보 조회, 예약 작업 조회 시 Job Parameter 응답 Format
v2.1.1 이전
"{\"대상화폐\":\"USD\",\"대상화폐금액\":\"50\"}"
v2.1.1 이후 : 포털에서 Job Parameter 보안 설정 기능이 추가되어, 숨김 속성을 포함한 형태로 전달됨.
보안 설정(hidden)된 파라미터는 API 응답으로 값(value)이 공백으로 전달됨.
"{\"대상화폐\":{\"value\":\"USD\",\"hidden\":\"false\"},\"대상화폐금액\":{\"value\":\"\",\"hidden\":\"true\"}}"
4.3 실행_Job정보조회(다건) (POST)
개요
조회조건 기준으로 job수행결과를 다건 조회합니다. 해당 API는 결과 조회가 목적이라 완료된 Job에 대해서만 조회 됩니다. 잡의 수행 상태 정보를 알기 위해서는 건별로 API를 호출하여야 합니다. 프로세스 실행 권한이 없을 경우 Job 파라미터, 결과 등 일부 정보는 조회되지 않습니다.
API 명세
Feature | 조회조건 기준으로 job수행결과를 다건 조회한다. |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
Parameter | 없음 |
Body | 1. offset : skip row 건수 (int) 2. limit : skip 이후 가져올 row 건수 (int) 3. orderBy : 목록 정렬 컬럼 (String) 4. parameter { processId : 조회할 process의 id version : 조회할 processId 조회조건이 있을 경우, 해당 process 의 version botId : 조회할 Bot ID startDatetime : startTime 기준으로 조회할 From 시간 (UTC 기준) endDatetime : startTime 기준으로 조회할 To 시간 (UTC 기준) resultCode : 결과코드 (1 : 성공, 2 : 실패, 3 : 중지, 4 : 시간초과) time : startDatetime, endDatetime 조건을 적용할 대상 컬럼 (start : startTime, end : endTime) } |
• 정렬 기준(orderBy) : (기본값) startTime desc, (Direction) ASC/DESC, (가능 컬럼) botId, scheduledTime, startTime, endTime
• 조회 가능 건수(limit) : 기본값 10, 최대 100
• 시간 파라미터 포맷(Java) : DateTimeFormatter.ISO_ZONED_DATE_TIME
활용 예시 (Input)
요청 사항
Process 아이디가 c52a9f2a-f300-4f8e-8b68-c799109914f1 에 대해 특정 시간 조건에 따라 최근 3회 수행한 결과를 조회 한다.
API 호출
https://70.70.109.140:8777/scheduler/api/v1/jobs/list
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "offset": 0, "limit": 3, "parameter": { "processId":"c52a9f2a-f300-4f8e-8b68-c799109914f1", "version":"1.10", "startDatetime":"2021-07-13T00:00:00Z", "endDatetime":"2021-07-21T10:10:10Z", "resultCode": 1 } }
활용 예시 (Response)
응답 결과
수행 결과에 대한 3건의 조회 결과를 리턴한다.
결과 예시 (JSON)
{ "request": { "offset": 0, "limit": 3, "parameter": { "processId": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "version": "1.10", "startDatetime": "2021-07-13T00:00:00Z", "endDatetime": "2021-07-21T10:10:10Z", "resultCode": 1 }, "orderBy": null }, "totalCount": 21, "list": [ { "jobId": "1626680995200-ef327777-3afd661e", "processId": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "version": "1.10", "botId": "BOT-00007", "jobUser": "kw1213.bae", "jobParameter": "{}", "statusCode": "4", "statusName": "JOB_END", "detailCode": "1", "detailName": "SUCCESS", "result": "{}", "scheduledTime": "2021-07-19T06:09:00Z", "startTime": "2021-07-19T10:56:09Z", "endTime": "2021-07-19T10:56:26Z", "processName": "P_ak_NotePad_실행", "projectName": "ak_NotePad실행_v16001_06021_V1", "botName": "bot7_ak_v1650" }, { "jobId": "1626680994937-9cf7ee00-0c8da772", "processId": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "version": "1.10", "botId": "BOT-00007", "jobUser": "kw1213.bae", "jobParameter": "{}", "statusCode": "4", "statusName": "JOB_END", "detailCode": "1", "detailName": "SUCCESS", "result": "{}", "scheduledTime": "2021-07-19T06:09:00Z", "startTime": "2021-07-19T10:55:50Z", "endTime": "2021-07-19T10:56:08Z", "processName": "P_ak_NotePad_실행", "projectName": "ak_NotePad실행_v16001_06021_V1", "botName": "bot7_ak_v1650" }, { "jobId": "1626646998400-0755a657-2daa7b25", "processId": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "version": "1.10", "botId": "BOT-00007", "jobUser": "kw1213.bae", "jobParameter": "{}", "statusCode": "4", "statusName": "JOB_END", "detailCode": "1", "detailName": "SUCCESS", "result": "{}", "scheduledTime": "2021-07-18T22:23:18Z", "startTime": "2021-07-18T22:25:06Z", "endTime": "2021-07-18T22:25:34Z", "processName": "P_ak_NotePad_실행", "projectName": "ak_NotePad실행_v16001_06021_V1", "botName": "bot7_ak_v1650" } ], "listCount": 3 }
ResponseBody 설명 request : 처리된 조회 조건 totalCount : 조회조건 기준의 총 건수 listCount : 현재 응답에 포함된 건수 list : Job 결과 데이터 리스트
4.4 실행_Job결과 이미지 파일 다운로드 (GET)
개요
Job 수행 결과로 Bot에서 업로드한 이미지 파일을 다운로드 합니다. Bot에서 Job 수행 결과 파일을 업로드하지 않았거나, 서버에 설정된 기간(30일) 이 지난 Job File은 삭제하고 있으므로, 다운로드 할 파일이 없을 수도 있습니다. 프로세스 실행 권한이 없을 경우 다운로드 받을 수 없습니다.
API 명세
Feature | Job 수행후 저장된 이미지 파일을 다운로드 한다. |
Method | GET |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | jobId : 조회하고자 하는 Job ID |
Parameter | fileType : 요청하고자 하는 File Type (1 : 이미지만 지원) |
활용 예시 (Input)
https://70.70.109.140:8777/scheduler/api/v1/jobs/1626302689640-3a7405d0-e6de74d0/file?fileType=1
활용 예시 (Response)
Process타입의 리스트를 조회한다.
4.5 실행중인 Job 중지 (POST)
개요
JobId 기준으로 현재 실행중인 작업을 중지시킵니다. 1. Bot이 연결되고 정상적으로 수행중인 경우 : 서버에서 Bot으로 Job 중지를 요청합니다. 2. Bot이 연결되어 있으나 JobID가 다른 경우 : 스케줄러에서 해당 Job을 실패로 처리하고 종료합니다. 3. Job이 대기중인 경우 : 삭제 처리합니다.
API 명세
Feature | JobId 기준으로 작업을 중지시킨다. |
Method | POST |
API | /scheduler/api/v1/actions/jobs/{jobId}/stop |
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | jobId : 중지하고자 하는 jobId, ,실행 API수행시 리턴되는 아이디 결과를 사용함. |
Body | jobType : 1(Process), 2(ProcessFlow가 수행한 Process), 21(ProcessFlow) userAuthentication : User 토큰 (Job 권한 체크) |
활용 예시 (Input)
요청 사항
Job 아이디가 1652147229122-eef82d12-16c0eca7 에 대한 실행을 중지한다.
API 호출
https://70.70.109.140:8777/scheduler/api/v1/actions/jobs/1652147229122-eef82d12-16c0eca7/stop
Header Authorization
BearereyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
* Body { "jobType": 1, "userAuthentication":"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNzAxNjc0NjEyNTY2LWUwYTdmMjU1LTIwM2UyMGU2IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJBVVRIX0FQSV9TRVJWRVIiLCJzdWIiOiJBQ0NFU1NfVE9LRU4iLCJjbGllbnRUeXBlIjoiQVBJX0tFWSIsImNsaWVudElkIjoiQVVUSF9BUElfU0VSVkVSIiwidXNlcklkIjoiaHM3NzA3LmtpbSIsImNoYWxsZW5nZSI6IjE3MDE2NzQ2MTI1NjYtZjhiNGY5ZTItZDRiM2Y5Y2MiLCJpcEFkZHIiOiIxODIuMTkzLjE3LjIzNiIsInRlbmFudElkIjoiVE5fZTQzMjYyNzAwMTc4NGZjNGEzZmJlMmQ4MmM5MTVjMzMiLCJzZWN1cml0eVR5cGUiOiJ2MiIsImlhdCI6MTcwMTY3NDYxMiwiZXhwIjoxNzMzMjM3OTk5fQ.Gjl26YB65lP5CrpBsa_AP4cuOEgf3Y1MG0DzeAdy9eQ" }
활용 예시 (Response)
응답 결과
수행 결과에 대해 다음과 같은 응답이 들어 온다.
결과 예시 (JSON)
성공시 { "resultCode": "SUCCESS" } 실패시 { "resultDetail": "JOB_INFO_NOT_EXIST", "resultCode": "FAIL" }
4.6 실행옵션 변경
개요
프로세스의 실행 옵션을 변경합니다.
실행 옵션: 프로세스 실행에 필요한 정보로 아래 내용을 포함한다.
프로세스를 실행할 때, 실행시킬 봇을 별도로 지정하지 않은 경우, 기본으로 프로세스를 실행시킬 봇
Input 파라미터가 있는 경우, 파라미터의 표현 값
API 명세
Feature | 실행옵션 변경 |
Method | PUT |
API | /asset/api/v1/objects/process/targetBot |
Header | Authorization : 연계용 서버 토큰 |
PathVariable | 없음 |
* RequestBody 설명
id : 실행 옵션을 변경할 프로세스의 ID
version : 실행 옵션을 변경할 프로세스의 버전
selectBotType: 실행시킬 봇의 범위를 지정(값의 의미는 아래와 같습니다.)
1: 봇 전체
2: 봇 그룹
3: 특정 봇
botId: 선택한 selectBotType에 따라 아래 설명의 값을 작성합니다.
1: 없음
2: 봇 그룹 ID
3: 봇 ID
inputs: 프로세스의 input parameter에 대한 정보를 담으며 Map 형태로 저장(key: inputName, value: 상세 정보)
inputs.{inputName}.expression: input parameter에 대한 표현식
작성되지 않은 inputName.expression은 기본의 값이 유지됨(값이 null, 공백인 경우 포함)
ResponseBody 설명
result: 처리 상태
활용 예시 (Input)
{ "id":"6b46977b-24e0-416c-829f-7b7d9e49cec9", "version":"1.30", "selectBotType":1, "botId":"BOT-00005", "inputs":{ "var1":{ "expression":"xxx" }, "var2":{ "expression":"yyy" } } }
활용 예시 (Response)
응답 결과
수행 결과에 대해 다음과 같은 응답이 들어 온다.
결과 예시
{ "result": "success" }
예약 작업
오케스트레이터에서 수행하는 예약 관련 작업을 OpenAPI로 수행이 가능합니다. 예약 작업"에서 제공되는 세부 API 목록은 다음과 같습니다.
예약_생성 (POST)
/scheduler/api/v1/schedulings/job
예약_수정 (POST)
/scheduler/api/v1/schedulings/job/{예약작업아이디}
예약_조회 (POST)
/scheduler/api/v1/schedulings/job/list
예약_삭제 (DEL)
/scheduler/api/v1/schedulings/job/{예약작업아이디}
5.1 예약_생성 (POST)
개요
예약 작업을 생성한다.
API 명세
Feature | 예약 작업 생성 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | 없음 |
body | jobType : 잡유형 (JOB_TYPE_PROCESS = 1 JOB_TYPE_HEADLESS_PROCESS = 11 JOB_TYPE_PROCESS_FLOW = 21), 기본(NULL) parameter : 입력 파라메터(json), 기본({}) priority : 미사용 processId : 프로세스 아이디, 필수 botSelectType : 봇선택타입( bot=3, botgroup=2, botgroup and bot =3), 기본(NULL) botGroupId : 봇그룹아이디, 기본({}) botId : 봇ID, 기본(NULL), 봇선택타입이 2번인 경우 봇그룹아이디 입력 jobRequestOption : 미사용 jobResultType : 미사용 condition : 주간반복(#1일 #2월 #3화 #4수 #5목 #6금 #7토), 월간반복 D:날짜에반복, W:요일에 반복), 기본(NULL) freqInterval : 반복빈도 횟수 (1일, 5일, 10일, 2주, 1월, 2월 등에서 사용되는 정수), 기본(NULL) endType : 종료 조건(UNTIL or Count), 기본(NULL) freq : 반복주기 (DAILY, WEEKLY, MONTHLY),기본(NULL) count : 반복횟수, 기본(NULL) until : 언제까지, 기본(NULL) lunarYn :미사용 name : 스케쥴명, 기본(NULL) comment : comment, 기본(NULL) startDt : 시작일(datetime, 2021-07-15T15:10:00+09:00), 필수 notIncludeHolidayYn : 휴일에 실행될지 여부(Y/N), 기본(N) inActiveYn : 비활성화여부, 기본(N) timeRepeatYn : 시간반복 체크여부, 기본(N) timeRepeatInterval : 작업반복간격 (1~24사이의 정수, 시간) 예를 들어 1시간 간격으로 4시간 동안 반복하게 된다. 1시간 간격을 의미, 기본(0) timeRepeatPeriod : 작업반복기간 (1~24사이의 정수, 시간) 예를 들어 1시간 간격으로 4시간 동안 반복하게 된다. 4시간 동안을 의미, 기본(0) interval : 미사용 |
활용 예시 (Input)
요청 사항
'외부연계 테스트' 라는 이름의 예약 작업을 생성한다.
API 호출
https://70.70.109.140:8777/scheduler/api/v1/schedulings/job
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "jobType":1, "parameter":"{}", "priority":2, "processId":"c52a9f2a-f300-4f8e-8b68-c799109914f1", "botSelectType":3, "botGroupId":"", "botId":"botId", "jobRequestOption":"{\"timeoutSeconds\":43200}", "jobResultType":1, "condition":"#2#3#4#5", "freqInterval":"1", "endType":"UNTIL", "freq":"WEEKLY", "count":"", "until":"2022-01-22", "lunarYn":"N", "name":"외부연계 테스트", "comment":"외부연계 테스트 comment", "startDt":"2021-07-15T15:10:00+09:00", "notIncludeHolidayYn":"Y", "inActiveYn":"N", "timeRepeatYn":"N", "timeRepeatInterval":0, "timeRepeatPeriod":0, "interval" : -540 } 봇그룹 지정 → botSelectType: 2 ("botGroupId":"group1", "botId":"group1") 봇 지정 → botSelectType: 3 ("botGroupId":"", "botId":"BOT-00001") 봇그룹 & 봇 지정 → botSelectType: 3 ("botGroupId":"group1", "botId":"BOT-00001")
활용 예시 (Response)
응답 결과
수행 결과에 대해 다음과 같은 응답이 들어 온다.
결과 예시 (JSON)
{ "id": "RS_9a6e0e83b06047fb859d889cb422f317" }
ResponseBody 설명 id : 생성된 예약 작업 아이디
5.2 예약_수정 (POST)
개요
생성된 예약 작업의 정보를 수정한다.
API 명세
Feature | 예약 작업 수정 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 예약작업아이디 : 생성시 리터된 값 |
Parameter | 없음 |
body | 상세 설명 참고 |
활용 예시 (Input)
요청 사항
아이디가 RS_9a6e0e83b06047fb859d889cb422f317인 예약 작업을 수정한다.
API 호출
https://182.193.17.236:8777/scheduler/api/v1/schedulings/job/RS_62be7f98d811439d918518e3b22496af
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "jobType":1, "parameter":"{}", "priority":2, "processId":"ed0df4f6-30b3-4657-aaa1-99f2c2120674", "botSelectType":1, "botGroupId":"", "botId":"", "jobRequestOption":"{\"timeoutSeconds\":43200}", "jobResultType":1, "condition":"#2#3#4#5", "freqInterval":"1", "endType":"UNTIL", "freq":"WEEKLY", "count":"", "until":"2023-12-29", "lunarYn":"N", "name":"외부연계 테스트 수정", "comment":"외부연계 테스트 수정 comment", "startDt":"2023-11-30T15:30:00+09:00", "notIncludeHolidayYn":"Y", "inActiveYn":"N", "timeRepeatYn":"N", "timeRepeatInterval":0, "timeRepeatPeriod":0, "interval" : -540 }
{ "jobType":1, "parameter":"{}", "priority":2, "processId":"c52a9f2a-f300-4f8e-8b68-c799109914f1", "botSelectType":1, "botGroupId":"", "botId":"", "jobRequestOption":"{\"timeoutSeconds\":43200}", "jobResultType":1, "condition":"#2#3#4#5", "freqInterval":"1", "endType":"UNTIL", "freq":"WEEKLY", "count":"", "until":"2021-08-29", "lunarYn":"N", "name":"외부연계 테스트 수정", "comment":"외부연계 테스트 수정 comment", "startDt":"2021-08-15T15:10:00+09:00", "notIncludeHolidayYn":"Y", "inActiveYn":"N", "timeRepeatYn":"N", "timeRepeatInterval":0, "timeRepeatPeriod":0, "interval" : -540 }
활용 예시 (Response)
응답 결과
수행 결과에 대해 다음과 같은 응답이 들어 온다.
결과 예시 (JSON)
{ "id": "RS_9a6e0e83b06047fb859d889cb422f317" }
ResponseBody 설명 id : 수정한 예약 작업 아이디
5.3 예약_조회 (POST)
개요
전체 예약 작업 리스트를 조회한다.
API 명세
Feature | 예약 작업 조회, 조회시점 유효한 정보를 조회한다. |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | 없음 |
body | body에 옵션을 넣어서 필터링을 할 수 있다. 옵션이 빈칸이면 전체건을 리턴한다. { “Offset” : 옵셋 (기본 0 ) “Limit” : 제한 갯수 (0~100) “Parameter”: { “DEL_YN” : 삭제여부 (Y/N) , “INACTIVE_YN”: 활성화여부 (Y/N), “BOT_SCHEDULE_YN”: 봇스케줄여부(Y/N) } } |
활용 예시 (Input)
요청 사항
예약작업 리스트를 요청한다.
API 호출
https://182.193.17.236:8777/scheduler/api/v1/schedulings/list
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "offset":0, "limit" : 3, "parameter": { "INACTIVE_YN": "N" } }
활용 예시 (Response)
응답 결과
전체 예약 작업 리스트와 상세 속정 정보를 리턴한다.
결과 예시 (JSON)
{ "request": { "offset": 0, "limit": 3, "parameter": { "INACTIVE_YN": "N" }, "orderBy": "regTimeselectScheduleJobListForDisplay desc" }, "totalCount": 2, "list": [ { "notIncludeHolidayYn": "N", "endType": "UNTIL", "scheduleUser": "kw1213.bae", "freq": "DAILY", "description": "", "schCondition": "", "timeRepeatPeriod": 24, "schDetStartDt": "2021-08-11T03:10:00Z", "botSelectType": 2, "processId": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "processName": "P_ak_NotePad_실행", "parameter": "{}", "startTime": "2021-08-11T03:10:00Z", "id": "RS_31211cf73ea8434da02cac1b4224322a", "botId": "200", "schCount": 1, "jobType": 1, "botScheduleYn": "N", "botGroupName": "BotG_1", "timeRepeatYn": "Y", "botSchedulePeriod": 1, "jobScheduleName": "생명1885", "botName": "", "nextJobTime": "2021-08-13T10:10:00Z", "readOnly": 0, "inActiveYn": "N", "schUntil": "2021-08-28T14:59:00Z", "delYn": "N", "botGroupId": "200", "freqInterval": "1", "schDetEndDt": "2021-08-28T14:10:00Z", "regTimeselectScheduleJobListForDisplay": "2021-08-11T03:06:50Z", "timeRepeatInterval": 1 }, { "notIncludeHolidayYn": "Y", "endType": "UNTIL", "scheduleUser": "kw1213.bae", "freq": "WEEKLY", "description": "외부연계 테스트 수정 comment", "schCondition": "#2#3#4#5", "timeRepeatPeriod": 0, "schDetStartDt": "2021-08-16T06:10:00Z", "botSelectType": 1, "processId": "c52a9f2a-f300-4f8e-8b68-c799109914f1", "processName": "P_ak_NotePad_실행", "parameter": "", "startTime": "2021-08-15T06:10:00Z", "id": "RS_9a6e0e83b06047fb859d889cb422f317", "botId": "", "schCount": 0, "jobType": 1, "botScheduleYn": null, "botGroupName": "", "timeRepeatYn": "N", "botSchedulePeriod": 0, "jobScheduleName": "외부연계 테스트 수정", "botName": "", "nextJobTime": "2021-08-16T06:10:00Z", "readOnly": 0, "inActiveYn": "N", "schUntil": "2021-08-29T00:00:00Z", "delYn": "N", "botGroupId": "", "freqInterval": "1", "schDetEndDt": "2021-08-26T06:10:00Z", "regTimeselectScheduleJobListForDisplay": "2021-08-13T09:52:52Z", "timeRepeatInterval": 0 } ], "listCount": 2 }
ResponseBody 설명 notIncludeHolidayYn : 휴일에 실행될지 여부(Y/N) endType : 종료 조건(UNTIL or Count) scheduleUser : 예약자 아이디 freq : 반복주기 (DAILY, WEEKLY, MONTHLY) description : comment schCondition: 주간반복(#1일 #2월 #3화 #4수 #5목 #6금 #7토), 월간반복 D:날짜에반복, W:요일에 반복 timeRepeatPeriod : 작업반복기간 (1~24사이의 정수, 시간) 예를 들어 1시간 간격으로 4시간 동안 반복하게 된다. 4시간 동안을 의미 schDetStartDt: 예약 아이템 시작일시(2021-08-11T03:10:00Z) botSelectType : 봇선택타입( bot=1, botgroup=2, botgroup and bot =3) processId : 프로세스아이디 processName : 프로세스 이름 parameter: 입력파라메터 startTime: 예약시작일시 id : 스케줄 아이디 botId : 봇 아이디 schCount : 반복횟수 jobType : 잡유형 (JOB_TYPE_PROCESS = 1 JOB_TYPE_HEADLESS_PROCESS = 11 JOB_TYPE_PROCESS_FLOW = 21) botScheduleYn : 봇 스케줄 여부 botGroupName : 봇 그룹 이름 timeRepeatYn : 시간반복 체크여부 botSchedulePeriod : 작업완료예정(분) jobScheduleName : 예약작업이름 botName : 봇이름 nextJobTime : 다음수행작업시간 (2021-08-13T10:10:00Z) readOnly : 조회권한 inActiveYn : 비활성화여부 schUntil : 예약 종료 일시 (2021-08-28T14:59:00Z) delYn : 삭제여부 botGroupId : 봇 그룹이름 freqInterval : 반복빈도 횟수 (1일, 5일, 10일, 2주, 1월, 2월 등에서 사용되는 정수) schDetEndDt : 예약 아이템 종료일시(2021-08-28T14:10:00Z) regTimeselectScheduleJobListForDisplay : 미사용 timeRepeatInterval : 작업반복간격 (1~24사이의 정수, 시간)
5.4 예약_삭제 (DEL)
개요
예약 작업을 삭제한다.
API 명세
Feature | 예약 작업 삭제 |
Method | DELETE |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 예약작업아이디 |
Parameter | 없음 |
body | 없음 |
활용 예시 (Input)
요청 사항
아이디가 RS_9a6e0e83b06047fb859d889cb422f317인 예약 작업을 삭제한다.
API 호출
https://182.193.17.236:8777/scheduler/api/v1/schedulings/job/RS_62be7f98d811439d918518e3b22496af
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
없음
활용 예시 (Response)
응답 결과
수행 결과에 대해 다음과 같은 응답이 들어 온다.
결과 예시 (JSON)
{ "id": "RS_9a6e0e83b06047fb859d889cb422f317" }
ResponseBody 설명 id : 삭제한 예약 작업 아이디
Queue 작업
오케스트레이터에서 제공하는 Queue 기능을 API를 통해 호출하여 사용할 수 있습니다. Queue 작업"에서 제공되는 세부 API 목록은 다음과 같습니다.
Queue_생성 (POST)
/asset/api/v1/messageQueue/use/1/[Queue 이름]
Queue_SendMessage (POST)
/asset/api/v1/messageQueue/[Queue 이름]
Queue_SendMessageFile (POST)
/asset/api/v1/messageQueue/[Queue 이름]
Queue_ReceiveMessage (GET)
/asset/api/v1/messageQueue/[Queue 이름]
Queue_삭제 (DEL)
/asset/api/v1/messageQueue/end/1/[Queue 이름]
Queue_목록 조회 (POST)
/asset/api/v1/messageQueue/list
6.1 Queue_생성 (POST)
개요
신규 Queue를 생성한다.
API 명세
Feature | Queue_생성 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | Queue 이름: 생성하고자 하는 Queue 이름 |
Parameter | 없음 |
body | 1. desc : 필요시 설명 추가 "설명" 2. messageExpirationTime : 유효기간 설정(sec) 3. isSystemQueue : 시스템 queue 여부 (Y/N) 4. isUsed : 현재 사용여부 (Y/N) 5. isSecureQueue : 시큐어 여부 (Y/N) 6. password : 시큐어인 경우 패스워드 "passwd" 7. name : 생성할 이름 "newname" |
활용 예시 (Input)
요청 사항
new123 이라는 이름으로 새로운 큐를 생성 요청합니다. 유효기간 없이 일반 큐로 생성합니다.
API 호출
https://70.70.109.140:8777/asset/api/v1/messageQueue/use/1/new123
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "desc": "새로운 큐 생성요청", "messageExpirationTime": "0", "isSystemQueue": "N", "isUsed": "Y", "isSecureQueue": "N", "password": "", "name": "new123" }
활용 예시 (Response)
응답 결과
수행 결과에 대해 다음과 같은 응답이 들어 온다.
결과 예시 (JSON)
{ "desc": "새로운 큐 생성요청", "messageExpirationTime": "0", "isSystemQueue": "N", "isUsed": "Y", "isSecureQueue": "N", "name": "new123", "historicalDataRetention": "", "id": "b30161f4-7f95-4815-8890-cdd13ee4cb90", "version": "1.00", "activation": "Y", "queueName": "new123" }
ResponseBody 설명 id : 생성된 queue 아이디 version : queue의 버젼명 historicalDataRetention : 데이터내용 activation : 활성화 여부
6.2 Queue_SendMessage (POST)
개요
지정된 Queue에 단문 텍스트 메시지를 전송한다.
API 명세
Feature | 지정한 Queue 이름으로 텍스트 전송 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | Queue 이름: 보내야 할 Queue 이름 |
Parameter | 없음 |
body | 전송텍스트 (raw) |
활용 예시 (Input)
요청 사항
생성된 큐 이름이 new123으로 "가나다 123" 텍스트를 전송한다.
API 호출
https://70.70.109.140:8777/asset/api/v1/messageQueue/new123
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body (raw text 타입)
가나다 123
활용 예시 (Response)
응답 결과
전송 결과를 리턴한다.
결과 예시 (JSON)
{ "queueSize": 1 }
ResponseBody 설명 queueSize : 현재 큐에 들어 있는 사이즈를 리턴한다.
6.3 Queue_SendMessageFile (POST)
개요
지정된 Queue로 파일을 전송한다.
API 명세
Feature | 지정한 Queue 이름으로 파일을 전송한다 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | Queue 이름: 보내야 할 Queue 이름 |
Parameter | 없음 |
body | 전송 파일 (form-data) KEY : file , Value : 파일명 |
활용 예시 (Input)
요청 사항
생성된 큐 이름이 new123으로 "111.txt" 파일을 전송한다.
API 호출
https://70.70.109.140:8777/asset/api/v1/messageQueue/new123
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body (form-data 타입)
전송 파일 (form-data)
KEY : file , Value : 파일명
사용예
활용 예시 (Response)
응답 결과
전송 결과를 리턴한다.
결과 예시 (JSON)
{ "queueSize": 2 }
ResponseBody 설명 queueSize : 현재 큐에 들어 있는 사이즈를 리턴한다.
6.4 Queue_ReceiveMessage (GET)
개요
Queue에서 텍스트 혹은 메시지를 수신한다.
API 명세
Feature | 지정한 Queue 로 부터 텍스트를 수신한다. |
Method | GET |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | Queue 이름: 전송받을 Queue 이름 |
Parameter | peek : Y/N ※ peek 파라미터에 y값이 설정된 경우에만 동작함 |
body | 없음 |
활용 예시 (Input)
요청 사항
큐 이름이 new123으로 부터 텍스트를 꺼내온다.
API 호출
https://70.70.109.140:8777/asset/api/v1/messageQueue/new123?peek=Y
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
없음
활용 예시 (Response)
응답 결과
전송 결과를 리턴한다.
결과 예시 (JSON)
가나다 123
ResponseBody 설명 현재 큐에 들어 있는 Top 메시지를 리턴한다.
6.5 Queue_삭제 (DEL)
개요
Queue를 삭제한다.
API 명세
Feature | 지정한 Queue 로 부터 데이터를 삭제한다. |
Method | DELETE |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | Queue 이름: 삭제할 Queue 이름 |
Parameter | 없음 |
body | 없음 |
활용 예시 (Input)
요청 사항
큐 이름이 new123을 삭제한다.
API 호출
https://70.70.109.140:8777/asset/api/v1/messageQueue/end/1/new123
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
없음
활용 예시 (Response)
응답 결과
수행 결과를 리턴한다.
결과 예시 (JSON)
{ "result": "SUCC" }
6.6 Queue_목록 조회 (POST)
개요
Queue 목록을 조회합니다.
API 명세
Feature | Queue 목록을 조회합니다. |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 |
userAuthentication: 연계용 User 토큰 | |
PathVariable | 없음 |
Parameter | 없음 |
body | { "searchName": "queue" } |
활용 예시 (Input)
요청 사항
Queue 목록을 조회
호출 API
/asset/api/v1/messageQueue/list
Header Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "searchName": "queue" }
활용 예시 (Response)
응답 결과
Queue 목록을 조회합니다.
결과예시
[ { "managerUsrId": null, "createUserId": "testuser1", "isSecureQueue": "N", "typeName": "Queue", "type": 15, "messageExpirationTime": "0", "historicalDataRetention": "", "id": "0f2decba-0c39-4fdb-9fa4-11115ac72ef6", "updateDatetime": 1655261205000, "updateUserId": "testuser1", "isUsed": "Y", "delYn": "N", "createDatetime": 1655261205000, "name": "myqueue", "desc": "", "status": 1 } ]
봇 현황 조회
외부시스템에서 BrityRPA 오케스트레이터 서버에 등록된 봇 상태 및 현재 작업 현황을 조회 합니다. 조회 권한이 없는 봇은 조회되지 않습니다.
봇 현황 조회 (POST)
/communication/api/v1/botList
7.1 봇 현황 조회
개요
봇 현황 정보를 조회한다.
API 명세
Feature | 봇 현황 조회 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | botGroup : 조회할 봇 그룹 아이디 botStatus: 조회할 봇 상태 (1 전체 2 가동중 3 비가동중) srchTextName: 조회할 봇 이름 또는 실행중인 프로세스 이름 |
body | body에 옵션을 넣어서 필터링을 할 수 있다. 옵션이 빈칸이면 전체건을 리턴한다. { “offset” : 옵셋 (기본 0 ) “limit” : 제한 갯수 (0~100) “parameter”: { } } |
활용 예시 (Input)
요청 사항
오케스트레이터 서버에 등록된 전체 봇 상태 및 현재 작업 현황을 조회 합니다.
호출 API
https://70.70.109.140:8777/communication/api/v1/botList
Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "offset" : 0, "limit" : 10, "parameter" : {} }
활용 예시 (Response)
응답 결과
해당 토큰 정보로 부터 봇 정보를 조회 할 수 있도록 json 형태로 결과를 리턴한다.
결과예시 (JSON)
{ "request": { "offset": 0, "limit": 10, "parameter": { "srchTextName": "2" } }, "totalCount": 3, "list": [ { "jobProcessingSeconds": "", "jobStatus": 4, "computerIpAddr": "182.192.48.12", "jobUser": "", "botMonitoringUrl": "/monitoring/client/detail?botId=BOT-1P2MS&menuSq=ADM_000044", "currentStepName": "", "jobResultType": "", "botName": "BOT-1P2MS", "operationCnt": 0, "botActiveYn": "N", "jobId": "", "processId": "", "processName": "", "computerName": "SDSI-7DV01-0158", "botThumbImageContent": null, "botRunningStatus": 1, "botType": 1, "percentage": "0", "updateEnvTime": "2021-07-16T04:01:57Z", "lastEventTime": "2021-08-07T03:27:23Z", "startTime": "", "botId": "BOT-1P2MS", "jobType": "" }, { "jobProcessingSeconds": "", "jobStatus": 4, "computerIpAddr": "182.192.246.47", "jobUser": "", "botMonitoringUrl": "/monitoring/client/detail?botId=BOT-QJ2NQ&menuSq=ADM_000044", "currentStepName": "", "jobResultType": "", "botName": "BOT-QJ2NQ", "operationCnt": 0, "botActiveYn": "N", "jobId": "", "processId": "", "processName": "", "computerName": "SDSI-7DV01-0154", "botThumbImageContent": null, "botRunningStatus": 1, "botType": 1, "percentage": "0", "updateEnvTime": "2021-08-05T03:00:19Z", "lastEventTime": "2021-08-16T09:45:30Z", "startTime": "", "botId": "BOT-QJ2NQ", "jobType": "" }, { "jobProcessingSeconds": "6", "jobStatus": 3, "computerIpAddr": "70.70.202.141", "jobUser": "gisu.lee", "botMonitoringUrl": "#monitoring/client/detail?botId=BOT-4OYS3&menuSq=ADM_000044", "currentStepName": "", "jobResultType": "1", "botName": "BOT-4OYS3", "operationCnt": 1, "botActiveYn": "Y", "jobId": "1707977182218-1a742360-b4017164", "processId": "f63a62c1-5924-4ed7-82ef-da08a4e05732", "processName": "P_aa", "computerName": "GISU-LEE002", "botThumbImageContent": "0udqRt85HMhHHr0PNOSa4ZYyQgJPzYY9PbigC5ckCQZPaioTnPUnPrRQB//2Q==", "botRunningStatus": 3, "botType": 1, "updateEnvTime": "2024-02-15T05:59:17Z", "percentage": "0", "lastEventTime": "2024-02-15T05:58:29Z", "startTime": "2024-02-15T06:06:32Z", "botId": "BOT-4OYS3", "jobType": "1" } ], "listCount": 3 } ※ botMonitoringUrl 필드는 모니터링 권한이 있는 경우 포탈 url이 제공되고 없는 경우 empty 스트링이 반환됨
ResponseBody 예시설명 "jobProcessingSeconds": "71", // 현재 잡 수행 시간(초) "jobStatus": 3, // 잡의 상태 (1: 대기중, 2:할당중, 3:실행중, 4:미실행중) "computerIpAddr": "70.70.202.141", // 봇의 PC IP "jobUser": "gisu.lee", // 잡 실행 사용자 id "botMonitoringUrl": "#monitoring/client/detail?botId=BOT-4OYS3&menuSq=ADM_000044", // 봇의 모니터링 URL "currentStepName": "ChromeOpen", // 실행중인 상태의 스텝이름 "jobResultType": "1", // 미사용, 1로 고정 "botName": "BOT-4OYS3", // 봇 이름 "operationCnt": 5, // 누적 실행 횟수 "botActiveYn": "Y", // 잡 실행중 Y, 잡 미실행중 N "jobId": "1707977182218-1a742360-b4017164", // 실행중인 잡 ID "processId": "f63a62c1-5924-4ed7-82ef-da08a4e05732", // 실행중인 프로세스 ID "processName": "P_aa", // 실행중인 프로세스 이름 "computerName": "GISU-LEE002", // 컴퓨터이름 "botThumbImageContent": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHB" //썸네일 비트맵정보 "botRunningStatus": 3, // 봇 상태 (0: 봇비가동중, 1: 봇가동중, 3 : 봇실행중, 8: 봇 중지상태) "botType": 1, // ( 1 : 일반봇, 2: 헤드리스봇) "updateEnvTime": "2024-02-15T05:59:17Z", // 봇의 최근 이벤트 시간 "percentage": "35", // 스텝단위 수행률 currentStep/totalStep*100(%) "lastEventTime": "2024-02-15T05:58:29Z", // 최종 이벤트 시간 "startTime": "2024-02-15T06:06:32Z", // 봇의 가동시간 "botId": "BOT-4OYS3", // 봇 ID "jobType": "1" // jobType: 1(Process), 2(ProcessFlow가 수행한 Process), 21(ProcessFlow)
테넌트 조회
외부시스템에서 BrityRPA 오케스트레이터의 그룹관리 목록 조회(사용자/클라이언트 그룹), 사용자 계정 기반 테넌트 목록 조회, 전체 테넌트 목록을 조회 합니다.
그룹관리 목록 조회(사용자/클라이언트 그룹) (POST)
/tenant/api/v1/admin/group/list
사용자 계정 기반 테넌트 목록 조회 (POST)
/tenant/api/v1/private/tenant/list
테넌트 목록 조회 (POST)
/tenant/api/v1/private/catalog/tenantinfoByUserId
8.1 그룹관리 목록 조회(사용자/클라이언트 그룹)
개요
테넌트 그룹관리 목록을 조회 합니다. 연계용 서버 토큰 계정에 따라 정보가 다르게 조회 됩니다. - 그룹권한 관리 기준 관리자 그룹에 속한 경우 : 모든 그룹 조회됨 - 관리자 그룹에 속하지 않은 계정의 경우 : 자신이 속한 그룹만 조회됨
API 명세
Feature | 그룹관리 목록 조회 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | 없음 |
body | body에 옵션을 넣어서 필터링을 할 수 있다. 옵션이 빈칸이면 전체건을 리턴한다. { “offset” : 옵셋 (기본 0 ) “limit” : 제한 갯수 (0~100) “Parameter”: { "groupType": 그룹 유형(0:사용자 그룹, 1:클라이언트 그룹), "groupName":"검색어", "isAdminGroup": 관리자그룹여부 "Y" or N", "isDefaultGroup": 기본그룹여부 "Y" or "N" } , "orderBy":"groupName desc" 정렬조건은 다음중 1가지만 가능 groupId, groupType, groupName, groupDescription } |
활용 예시 (Input)
요청 사항
특정 테넌트의 사용자 또는 클라이언트 그룹을 조회 합니다.
호출 API
https://70.70.109.140:8777/tenant/api/v1/admin/group/list
Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
활용 예시 (Response)
응답 결과
해당 토큰 정보로 부터 그룹관리 목록을 조회 할 수 있도록 json 형태로 결과를 리턴한다.
결과예시 (JSON)
{ "request": { "offset": 0, "limit": 10, "parameter": { "groupType": 0, "groupName": "group", "isAdminGroup": "N", "isDefaultGroup": "N" }, "orderBy": "groupDescription desc" }, "totalCount": 1, "list": [ { "groupId": 194, "groupType": 0, "groupName": "RPA User Group", "groupDescription": "", "useYn": "Y", "isDefault": "N", "isAdmin": "N" } ], "listCount": 1 }
8.2 사용자 계정 기반 테넌트 목록 조회
개요
사용자가 접근 가능한 테넌트 목록을 조회합니다. 테넌트의 상태가 '사용중' 인 상태인 테넌트만 조회됩니다.
API 명세
Feature | 사용자 계정 기반 테넌트 목록 조회 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | 없음 |
body | { "userId" : 조회하고자 하는 사용자 ID "password" : 사용자 PW } |
활용 예시 (Input)
요청 사항
특정 사용자가 접속 가능한 테넌트 조회
호출 API
https://70.70.109.140:8777/tenant/api/v1/private/tenant/list
Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
활용 예시 (Response)
응답 결과
해당 토큰 정보로 부터 테넌트 목록을 조회 할 수 있도록 json 형태로 결과를 리턴한다.
결과예시 (JSON)
[ { "tenantId": "tenant_1", "tenantName": "BASE TENANT", "preName": "", "isCatalog": "Y", "sortOrder": 0 }, { "tenantId": "TN_37455e77667c41b6", "tenantName": "Second Tenant", "preName": "tenant001", "isCatalog": "N", "sortOrder": 999999 } ] tenantId : 테넌트 ID (Brity RPA 연계 시 토큰 및 기타 파라미터로 사용됨) tenantName : 테넌트 이름 preName : 테넌트 schema prefix (연계 시 불필요) isCatalog : 기본 테넌트 여부 sortOrder : Brity RPA에 지정된 테넌트 정렬 순서 (연계 시 불필요)
8.3 테넌트 목록 조회
개요
특정 clientId 또는 userId 가 접근 가능한 테넌트 목록을 조회합니다. 테넌트의 상태가 '사용중' 인 상태인 테넌트만 조회됩니다. clientId (조회 대상 사용자) 가 실제로 시스템에 존재하는지 여부에 대한 검증은 없으며 empty list가 전달됩니다.
API 명세
Feature | 테넌트 목록 조회 |
Method | POST |
API |
|
Header | Authorization : 연계용 서버 토큰 (Bearer Token) |
PathVariable | 없음 |
Parameter | 없음 |
body | { "clientId" : 조회할 대상 cclientId 또는 userId "clientType" : 조회할 대상 유형(1 : Bot, 2 : Designer, 8 : User) } |
활용 예시 (Input)
요청 사항
특정 클라이언트 또는 사용자가 접속 가능한 테넌트 조회
호출 API
https://70.70.109.140:8777/tenant/api/v1/private/catalog/tenantinfoByUserId
Authorization
Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxNjI2MTM5MTA4MjQ5LTI5MDhmNWM4LTg2YmEyOGQ0IiwiaXNzIjoiQVVUSF9DTElFTlRfQ0VSVElGSUNBVEUiLCJhdWQiOiJJUEFfQURNSU5fVEVOQU5UX1NFUlZFUiIsInN1YiI6IkFDQ0VTU19UT0tFTiIsImNsaWVudFR5cGUiOi
Body
{ "clientId" : "userid", "clientType" : 8 }
활용 예시 (Response)
응답 결과
해당 토큰 정보로 부터 테넌트 목록을 조회 할 수 있도록 json 형태로 결과를 리턴한다.
결과예시 (JSON)
[ { "tenantId": "tenant_1", "tenantName": "BASE TENANT", "preName": "", "isCatalog": "Y", "sortOrder": 0 }, { "tenantId": "tenant_2", "tenantName": "SHARED TENANT", "preName": "shared", "isCatalog": "N", "sortOrder": 999999 } ] tenantId : 테넌트 ID (Brity RPA 연계 시 토큰 및 기타 파라미터로 사용됨) tenantName : 테넌트 이름 preName : 테넌트 schema prefix (연계 시 불필요) isCatalog : 기본 테넌트 여부 sortOrder : Brity RPA에 지정된 테넌트 정렬 순서 (연계 시 불필요)
사용자 관리
사용자를 생성/수정/삭제/조회 합니다. ※ v2.5.0 부터 지원함(태넌트 관리자 권한이 있는 사용자만 사용 가능함) ※ v3.0.0 부터 사용자 생성 시에 한하여 이메일 주소로 비밀번호 메일 발송 기능 지원
사용자 생성/수정 (POST)
/tenant/api/v1/private/user
사용자 삭제 (DELETE)
/tenant/api/v1/private/user/{userId}/{tenantId}
사용자 조회 (GET)
9.1 사용자 생성/수정
개요
사용자를 생성하거나 수정합니다. 요청한 사용자가 이미 존재 하는 경우 요청한 정보로 사용자 정보를 수정합니다.
API 명세
Feature | 사용자 생성/수정 |
Method | POST |
API | /tenant/api/v1/private/user |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명
userId: 사용자 아이디(*)
userNm: 사용자 이름(*)
email: 이메일(*)
cmpnyNm:회사이름
deptNm:부서이름
phoneNumber:전화번호
tenantId: 생성할 테넌트 아이디(사용자 추가시에는 필수)
createUserAlarmInfo: (사용자 생성 시) 비밀번호 메일 전송, 값 1로 설정 (v3.0.0 부터 지원)
ResponseBody 설명
활용 예시 (Input)
Header * Authorization: 연계용 User 토큰 Body { "userId":"test", "userNm": "testman", "email":"testman@samsung.com", "tenantId" : "tenant_1", "cmpnyNm" : "삼성SDS", "deptNm" : "삼성SDS 부서", "phoneNumber" : "전화번호", "createUserAlarmInfo" : 1 }
활용 예시 (Response)
HttpStatus 200 OK { "userNm": "testman", "createUserId": "reauester", "phoneNumber": "전화번호", "updateUserId": "reauester", "cmpnyNm": "삼성SDS", "statusCd": "STS_010100", "deptNm": "삼성SDS 부서", "userId": "test", "email": "testman@samsung.com" }
9.2 사용자 삭제
개요
사용자를 삭제 합니다. (※ 테넌트 대표 관리자는 삭제 안됨)
API 명세
Feature | 사용자 삭제 |
Method | DELETE |
API | /tenant/api/v1/private/user/{userId}/{tenantId} |
Header | Authorization: 연계용 User 토큰 |
PathVariable | userId: 사용자 아이디(*) tenantId: 삭제할 사용자 (*) |
Parameter | 없음 |
body | 없음 |
활용 예시 (Response)
HttpStatus 200 OK { "resultDetail": "SUCCESS", "resultCode": "true" }
9.3 사용자 조회
개요
사용자를 조회 합니다.
API 명세
Feature | 사용자 조회 |
Method | GET |
API | /tenant/api/v1/private/user/{userId}/{tenantId} |
Header | Authorization: 연계용 User 토큰 |
PathVariable | userId: 사용자 아이디(*) tenantId: 조회할 테넌트 (테넌트 아이디를 입력하는 경우 조회 테넌트에 속한 그룹리스트 정보 함께 조회됨 |
Parameter | 없음 |
body | 없음 |
활용 예시 (Input)
Header * Authorization: 연계용 User 토큰 호출 예시) https://182.193.17.236:8777/tenant/api/v1/private/user/gisu.lee/TN_e432627001784fc4a3fbe2d82c915c33
활용 예시 (Response)
{ "userNm": "gisu.lee", "createUserId": "gisu.lee", "updateUserId": "gisu.lee", "tenantList": [ { "tenantId": "tenant_1", "tenantName": "BASE TENANT", "preName": "", "isCatalog": "Y", "sortOrder": 1 }, { "tenantId": "TN_e432627001784fc4a3fbe2d82c915c33", "tenantName": "ak", "preName": "tenant374", "isCatalog": "N", "sortOrder": 29 } ], "resultCode": "true", "statusCd": "STS_010100", "deptNm": "AI Automation", "userId": "gisu.lee", "phoneNumber": "", "resultDetail": "SUCCESS", "cmpnyNm": "Samsung SDS", "userGroupList": [ { "groupId": 2, "groupType": 0, "groupName": "admin user group", "groupDescription": "User Group Description", "useYn": "Y", "isDefault": "Y", "isAdmin": "Y" }, { "groupId": 346, "groupType": 0, "groupName": "HQ_UG1", "groupDescription": "HQ User 1 group", "useYn": "Y", "isDefault": "N", "isAdmin": "N" } ], "email": "gisu.lee@samsung.com" }
그룹 관리
사용자그룹을 관리 합니다. ※ v2.1.2 부터 지원함(태넌트 관리자 권한이 있는 사용자만 사용 가능함)
사용자 그룹 목록 조회 (GET)
/tenant/api/v1/private/group/{tenantId}
사용자 그룹에서 사용자 추가 (POST)
/tenant/api/v1/private/group/{tenantId}/{groupId}/{userId}
사용자 그룹에서 사용자 삭제 (DELETE)
/tenant/api/v1/private/group/{tenantId}/{groupId}/{userId}
봇 그룹 생성 (POST)
/tenant/api/v1/private/group/bot
사용자 그룹 생성 (POST)
/tenant/api/v1/private/group/user
봇 그룹 수정 (POST)
/tenant/api/v1/private/group/bot
사용자 그룹 수정 (POST)
/tenant/api/v1/private/group/user
봇 그룹 삭제 (DELETE)
/tenant/api/v1/private/group/bot
사용자 그룹 삭제 (DELETE)
/tenant/api/v1/private/group/user
사용자 그룹에 봇 그룹 추가 (POST)
/tenant/api/v1/private/group/{groupId}/mapping/groups
사용자 그룹에 봇 그룹 제거 (DELETE)
/tenant/api/v1/private/group/{groupId}/mapping/groups
사용자 그룹에 사용자 추가 (POST)
/tenant/api/v1/private/group/{groupId}/mapping/users
사용자 그룹에서 사용자 삭제 (DELETE)
/tenant/api/v1/private/group/{groupId}/mapping/users
봇 그룹에 봇 추가 (POST)
/tenant/api/v1/private/group/{groupId}/mapping/bots
봇 그룹에 봇 삭제 (DELETE)
/tenant/api/v1/private/group/{groupId}/mapping/bots
사용자 그룹 조회 (GET)
/tenant/api/v1/private/group/user
봇 그룹 조회 (GET)
/tenant/api/v1/private/group/bot
사용자 그룹에 매핑된 사용자 목록 조회 (GET)
/tenant/api/v1/private/group/{groupId}/mapping/users
봇 그룹에 매핑된 봇 목록 조회 (GET)
/tenant/api/v1/private/group/{groupId}/mapping/bots
10.1 사용자 그룹리스트 조회
개요
요청한 테넌트의 전체 사용자 그룹리스트를 조회 합니다.
API 명세
Feature | 사용자 그룹리스트 조회 |
Method | GET |
API | /tenant/api/v1/private/group/{tenantId} |
Header | Authorization: 연계용 User 토큰 |
PathVariable | tenantId: 조회할 테넌트 (*) |
Parameter | 없음 |
body | 없음 |
10.2 사용자 그룹에서 사용자 추가
개요
사용자 그룹에 사용자를 추가 합니다.
API 명세
Feature | 그룹 사용자 추가 |
Method | POST |
API | /tenant/api/v1/private/group/{tenantId}/{groupId}/{userId} |
Header | Authorization: 연계용 User 토큰 |
PathVariable | tenantId: 조회할 테넌트 아이디(*) groupId: 사용자 그룹 아이디(*) userId: 사용자 아이디(*) |
Parameter | 없음 |
body | 없음 |
10.3 사용자 그룹에서 사용자 삭제
개요
사용자 그룹에서 사용자를 삭제 합니다.
API 명세
Feature | 그룹 사용자 삭제 |
Method | DELETE |
API | /tenant/api/v1/private/group/{tenantId}/{groupId}/{userId} |
Header | Authorization: 연계용 User 토큰 |
PathVariable | tenantId: 삭제할 사용자 (*) groupId: 사용자 그룹 아이디(*) userId: 사용자 아이디(*) |
Parameter | 없음 |
body | 없음 |
10.4 봇 그룹 생성
개요
봇 그룹을 생성합니다. (v3.0.1 추가)
API 명세
Feature | 봇 그룹 생성 |
Method | POST |
API | /tenant/api/v1/private/group/bot |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 groupName: 추가 하는 그룹 이름(String) groupDescription: 추가 하는 그룹 설명(String)
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "groupName": "그룹0109", "groupDescription": "그룹 0109 Description" }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "resultDetail": { "groupId": 508, "groupType": 1, "groupName": "그룹0109", "groupDescription": "그룹 0109 Description", "groupOrder": 0, "useYn": "Y", "isDefault": "N", "isMonitoring": "N", "isAdmin": "N" } }
10.5 사용자 그룹 생성
개요
사용자 그룹을 추가합니다. (v3.0.1 추가)
API 명세
Feature | 사용자 그룹 생성 |
Method | POST |
API | /tenant/api/v1/private/group/user |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 groupName: 추가 하는 그룹 이름(String) groupDescription: 추가 하는 그룹 설명(String)
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "groupName": "사용자 그룹0109", "groupDescription": "사용자 그룹 0109 Description" }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "resultDetail": { "groupId": 507, "groupType": 0, "groupName": "사용자그룹0109", "groupDescription": "사용자그룹 0109 Description", "groupOrder": 0, "useYn": "Y", "isDefault": "N", "isMonitoring": "N", "isAdmin": "N" } }
10.6 봇 그룹 수정
개요
봇 그룹을 수정합니다. (v3.0.1 추가)
API 명세
Feature | 봇 그룹 수정 |
Method | POST |
API | /tenant/api/v1/private/group/bot |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 groupId: 수정 할 그룹의 ID(int)(*) groupName: 변경되는 그룹 이름(String) groupDescription: 변경되는 그룹 설명(String)
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "groupId": 391, "groupName": "그룹0109_수정", "groupDescription": "그룹 0109 Description 수정" }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "resultDetail": { "groupId": 391, "groupType": 1, "groupName": "그룹0109_수정", "groupDescription": "그룹 0109 Description 수정", "groupOrder": 0, "useYn": "Y", "isDefault": "N", "isMonitoring": "N", "isAdmin": "N" } }
10.7 사용자 그룹 수정
개요
사용자 그룹을 수정합니다. (v3.0.1 추가)
API 명세
Feature | 사용자 그룹 수정 |
Method | POST |
API | /tenant/api/v1/private/group/user |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 groupId: 수정 할 그룹의 ID(int)(*) groupName: 변경되는 그룹 이름(String) groupDescription: 변경되는 그룹 설명(String)
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "groupId": 391, "groupName": "사용자 그룹0109_수정", "groupDescription": "사용자 그룹 0109 Description 수정" }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "resultDetail": { "groupId": 505, "groupType": 0, "groupName": "사용자 그룹0109_수정", "groupDescription": "사용자 그룹 0109 Description 수정", "groupOrder": 0, "useYn": "Y", "isDefault": "N", "isMonitoring": "N", "isAdmin": "N" } }
10.8 봇 그룹 삭제
개요
봇 그룹을 삭제합니다. (v3.0.1 추가)
API 명세
Feature | 봇 그룹 삭제 |
Method | DELETE |
API | /tenant/api/v1/private/group/bot |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 groupId: 삭제 할 그룹의 ID(int)(*)
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "groupId": 461 }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "resultDetail": { "groupId": 461, "groupType": 1, "groupName": "0203테스트", "groupDescription": "0203테스트", "groupOrder": 0, "useYn": "Y", "isDefault": "N", "isMonitoring": "N", "isAdmin": "N" } }
10.9 사용자 그룹 삭제
개요
사용자 그룹을 삭제합니다. (v3.0.1 추가)
API 명세
Feature | 사용자 그룹 삭제 |
Method | DELETE |
API | /tenant/api/v1/private/group/user |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 groupId: 삭제 할 그룹의 ID(int)(*)
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "groupId": 455 }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "resultDetail": { "groupId": 455, "groupType": 0, "groupName": "사용자그룹0203", "groupDescription": "사용자그룹0203 Description", "groupOrder": 0, "useYn": "Y", "isDefault": "N", "isMonitoring": "N", "isAdmin": "N" } }
10.10 사용자 그룹에 봇 그룹 추가
개요
사용자 그룹에 봇 그룹 추가합니다. (v3.0.1 추가)
API 명세
Feature | 사용자 그룹에 봇 그룹 추가 |
Method | POST |
API | /tenant/api/v1/private/group/{groupId}/mapping/groups |
Header | Authorization: 연계용 User 토큰 |
PathVariable | groupId: 매핑 할 그룹 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 mappingGroupList: [{ groupId: 그룹에 매핑되는 하위 봇 그룹 ID authU: 수정 권한여부(1: 권한있음, 0: 권한 없음) authR: 읽기 / 쓰기 권한여부(1: 권한있음, 0: 권한 없음) authM: 모니터링 권한여부(1: 권한있음, 0: 권한 없음) } ]
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "mappingGroupList": [ { "groupId" : 458, "authU" : 1, "authR" : 1, "authM" : 1 }, { "groupId" : 456, "authU" : 1, "authR" : 1, "authM" : 1 } ] }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "mappingGroupList": [ { "createUserId": "yoo83bh.yoo", "createTimestamp": "2023-01-18T08:38:28.343+00:00", "id": { "groupId": 458, "parentGroupId": 457 }, "authR": 1, "authU": 1, "authM": 1 }, { "createUserId": "yoo83bh.yoo", "createTimestamp": "2023-01-18T08:38:28.343+00:00", "id": { "groupId": 456, "parentGroupId": 457 }, "authR": 1, "authU": 1, "authM": 1 } ] }
10.11 사용자 그룹에 봇 그룹 제거
개요
사용자 그룹에 봇 그룹 제거합니다. (v3.0.1 추가)
API 명세
Feature | 사용자 그룹에 봇 그룹 제거 |
Method | DELETE |
API | /tenant/api/v1/private/group/{groupId}/mapping/groups |
Header | Authorization: 연계용 User 토큰 |
PathVariable | groupId: 사용자 그룹 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 mappingGroupList: [ 그룹에 매핑취소 되는 하위 봇 그룹 ID 리스트 ]
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "mappingGroupList": [284, 259, 391] }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS" }
10.12 사용자 그룹에 사용자 추가
개요
사용자 그룹에 사용자 추가합니다. (v3.0.1 추가)
API 명세
Feature | 사용자 그룹에 사용자 추가 |
Method | POST |
API | /tenant/api/v1/private/group/{groupId}/mapping/users |
Header | Authorization: 연계용 User 토큰 |
PathVariable | groupId: 사용자 그룹 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 mappingUserList : [ 그룹에 매핑 되는 사용자 ID 리스트 ]
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "mappingUserList": ["yoo83bh.yoo","admin"] }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "mappingList": [ { "groupId": 462, "userId": "yoo83bh.yoo", "groupType": 0, "groupName": "사용자그룹0119", "groupDescription": "사용자그룹0119 Description4" }, { "groupId": 462, "userId": "admin", "groupType": 0, "groupName": "사용자그룹0119", "groupDescription": "사용자그룹0119 Description4" } ] }
10.13 사용자 그룹에서 사용자 삭제
개요
사용자 그룹에서 사용자를 삭제합니다. (v3.0.1 추가)
API 명세
Feature | 사용자 그룹에서 사용자 삭제 |
Method | DELETE |
API | /tenant/api/v1/private/group/{groupId}/mapping/users |
Header | Authorization: 연계용 User 토큰 |
PathVariable | groupId: 사용자 그룹 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 mappingUserList : [ 사용자 그룹에서 매핑제거할 사용자 ID 리스트 ]
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "mappingUserList": ["yoo83bh.yoo","admin"] }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS" }
10.14 봇 그룹에 봇 추가
개요
봇 그룹에 봇 추가합니다. (v3.0.1 추가)
API 명세
Feature | 봇 그룹에 봇 추가 |
Method | POST |
API | /tenant/api/v1/private/group/{groupId}/mapping/bots |
Header | Authorization: 연계용 User 토큰 |
PathVariable | groupId: 봇 그룹 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 mappingBotList: [ { 봇 그룹에 추가할 봇 ID 리스트 } ]
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "mappingBotList": ["BOT-00131", "BOT-00136"] }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS", "mappingList": [ { "groupId": 463, "userId": "BOT-00131", "groupType": 1, "groupName": "0119테스트", "groupDescription": "0119테스트" }, { "groupId": 463, "userId": "BOT-00136", "groupType": 1, "groupName": "0119테스트", "groupDescription": "0119테스트" } ] }
10.15 봇 그룹에 봇 삭제
개요
봇 그룹에 봇 삭제합니다. (v3.0.1 추가)
API 명세
Feature | 봇 그룹에 봇 삭제 |
Method | DELETE |
API | /tenant/api/v1/private/group/{groupId}/mapping/bots |
Header | Authorization: 연계용 User 토큰 |
PathVariable | groupId: 봇 그룹 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 mappingBotList: [{ 봇 그룹에 제거할 봇 ID 리스트 } ]
ResponseBody 설명 -
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "mappingBotList": ["BOT-00131", "BOT-00136"] }
활용 예시 (Response)
HttpStatus 200 OK { "result": "SUCCESS" }
10.16 사용자 그룹 조회
개요
사용자그룹을 조회합니다. (v3.0.1 추가)
API 명세
Feature | 그룹 사용자 삭제 |
Method | GET |
API | /tenant/api/v1/private/group/user |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 offset: skip row 건수(int) limit: skip 이후 가져올 row 건수(int) parameter: { groupName: 조회할 그룹 이름(like 검색) isAdminGroup: 조회할 그룹의 Admin권한 여부("Y", "N") isDefaultGroup: 조회할 그룹의 Defualt그룹 여부("Y", "N") groupDescription: 조회할 그룹 설명(like 검색) } orderBy: 목록 정렬 컬럼(String)
ResponseBody 설명 request: 처리된 조회 조건 totalCount: 조회조건 기준의 총 건수 listCount: 현재 응답에 포함된 건수 list: 봇 그룹 리스트
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "offset": 5, "limit": 10, "parameter": { "groupName": "사용자" }, "orderBy": "" }
활용 예시 (Response)
HttpStatus 200 OK { "request": { "offset": 5, "limit": 10, "parameter": { "groupName": "사용자", "groupType": 0 }, "orderBy": "" }, "totalCount": 9, "list": [ { "groupId": 443, "groupType": 0, "groupName": "사용자 그룹0110_2", "groupDescription": "사용자 그룹 0110 Description", "useYn": "Y", "isDefault": "N", "isAdmin": "N" }, { "groupId": 492, "groupType": 0, "groupName": "사용자그룹0201", "groupDescription": "사용자그룹0201 Description4", "useYn": "Y", "isDefault": "N", "isAdmin": "N" } ], "listCount": 4 }
10.17 봇 그룹 조회
개요
봇 그룹을 조회합니다. (v3.0.1 추가)
API 명세
Feature | 봇 그룹 조회 |
Method | GET |
API | /tenant/api/v1/private/group/bot |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 offset: skip row 건수(int) limit: skip 이후 가져올 row 건수(int) parameter: { groupName: 조회할 그룹 이름(like 검색) isAdminGroup: 조회할 그룹의 Admin권한 여부("Y", "N") isDefaultGroup: 조회할 그룹의 Defualt그룹 여부("Y", "N") groupDescription: 조회할 그룹 설명(like 검색) } orderBy: 목록 정렬 컬럼(String)
ResponseBody 설명 request : 처리된 조회 조건 totalCount : 조회조건 기준의 총 건수 listCount : 현재 응답에 포함된 건수 list : 봇 그룹 리스트
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "offset": 0, "limit": 10, "parameter":{ "groupName" : "Group", "isAdminGroup": "", "isDefaultGroup": "", "groupDescription": "Description" }, "orderBy":"" }
활용 예시 (Response)
HttpStatus 200 OK { "request": { "offset": 0, "limit": 10, "parameter": { "groupName": "Group", "groupDescription": "Description", "groupType": 1 }, "orderBy": "groupId" }, "totalCount": 2, "list": [ { "groupId": 386, "groupType": 1, "groupName": "new client group2", "groupDescription": "groupDescription22", "useYn": "Y", "isDefault": "N", "isAdmin": "N" }, { "groupId": 372, "groupType": 1, "groupName": "new client group", "groupDescription": "groupDescription2", "useYn": "Y", "isDefault": "N", "isAdmin": "N" } ], "listCount": 3 }
10.18 사용자 그룹에 매핑된 사용자 목록 조회
개요
사용자 그룹에 매핑된 사용자 목록 조회합니다. (v3.0.1 추가)
API 명세
Feature | 사용자 그룹에 매핑된 사용자 목록 조회 |
Method | GET |
API | /tenant/api/v1/private/group/{groupId}/mapping/users |
Header | Authorization: 연계용 User 토큰 |
PathVariable | groupId: 사용자 그룹 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 offset : skip row 건수 (int) limit : skip 이후 가져올 row 건수 (int) parameter : { userNm: 조회할 사용자 이름(like 검색) userId: 조회할 사용자 ID(like 검색) deptSq: 조회할 사용자의 부서(like 검색)
ResponseBody 설명 request : 처리된 조회 조건 totalCount : 조회조건 기준의 총 건수 listCount : 현재 응답에 포함된 건수 list : 사용자 리스트
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "offset": 0, "limit": 10, "parameter":{ "userNm": "관리" }, "orderBy":"userNm" }
활용 예시 (Response)
HttpStatus 200 OK { "request": { "offset": 0, "limit": 10, "parameter": { "userNm": "관리", "groupId": 462 }, "orderBy": "userNm" }, "totalCount": 1, "list": [ { "userNm": "관리자", "dptSq": "", "userId": "admin", "email": "" } ], }
10.19 봇 그룹에 매핑된 봇 목록 조회
개요
봇 그룹에 매핑된 봇 목록 조회합니다. (v3.0.1 추가)
API 명세
Feature | 봇 그룹에 매핑된 봇 목록 조회 |
Method | GET |
API | /tenant/api/v1/private/group/{groupId}/mapping/bots |
Header | Authorization: 연계용 User 토큰 |
PathVariable | groupId: 봇 그룹 ID |
Parameter | 없음 |
body | RequestBody 설명 참조 |
RequestBody 설명 offset : skip row 건수 (int) limit : skip 이후 가져올 row 건수 (int) parameter : { botNm: 조회할 봇 이름(like 검색) botId: 조회할 봇 ID(like 검색)
ResponseBody 설명 request : 처리된 조회 조건 totalCount : 조회조건 기준의 총 건수 listCount : 현재 응답에 포함된 건수 list : 사용자 리스트
활용 예시 (Request)
Header * Authorization: 연계용 User 토큰 Body { "offset": 0, "limit": 10, "parameter":{ "botId" : "13" }, "orderBy":"botId" }
활용 예시 (Response)
HttpStatus 200 OK { "request": { "offset": 0, "limit": 10, "parameter": { "botId": "13", "groupId": 487, "groupType": 1 }, "orderBy": "botId" }, "totalCount": 1, "list": [ { "botId": "BOT-00131", "botNm": "BOT-00131" } ], "listCount": 1 }
기념일 관리
기념일을 관리 합니다. ※ v2.1.2 부터 지원함
기념일 리스트 조회 (POST)
/scheduler/api/v1/anniversary/list
기념일 추가 (POST)
/scheduler/api/v1/anniversary
기념일 수정 (POST)
/scheduler/api/v1/anniversary
기념일 삭제 (DELETE)
/scheduler/api/v1/anniversary/{anniversaryId }
11.1 기념일 리스트 조회
개요
기념일 리스트를 조회 합니다.
API 명세
Feature | 기념일 리스트 조회 |
Method | POST |
API | /scheduler/api/v1/anniversary/list |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | { "offset" : "0", "limit" : "10", "parameter" : {} } offset : skip row 건수 (int) limit : skip 이후 가져올 row 건수 (int) parameter : { startDatetime: 조회 시작 날짜 endDatetime: 조회 마지막 날짜 name : 기념일 이름 anniversaryType : 기념일 종류(1:국경일, 2:회사기념일, 3:음력,4:기타) |
11.2 기념일 추가
개요
기념일을 추가 합니다.
API 명세
Feature | 기념일 추가 |
Method | POST |
API | /scheduler/api/v1/anniversary |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | { "title" : "테스트1", "anniversaryDay":"2022.05.05", "anniversaryType" :1, "restDayYn" : "Y" , "timezoneOffset" : "-540" } title: 기념일 이름 anniversaryDay : 기념일 anniversaryType : 기념일 종류(1:국경일, 2:회사기념일, 3:음력,4:기타) restDayYn : 휴일여부(Y,N) timezoneOffset : 기념일의 타임존 |
11.3 기념일 수정
개요
기념일을 수정 합니다.
API 명세
Feature | 기념일 수정 |
Method | POST |
API | /scheduler/api/v1/anniversary |
Header | Authorization: 연계용 User 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | { "anniversaryId": "AN_a1e6afa61abb4e8eaa7162214f9e6988", "title" : "테스트수정", "anniversaryDay":"2022.05.05", "anniversaryType" :1, "restDayYn" : "Y" , "timezoneOffset" : "-540" } title: 기념일 이름 anniversaryId : 기념일 아이디 anniversaryDay : 기념일 anniversaryType : 기념일 종류(1:국경일, 2:회사기념일, 3:음력,4:기타) restDayYn : 휴일여부(Y,N) timezoneOffset : 기념일의 타임존 |
11.4 기념일 삭제
개요
기념일을 삭제 합니다.
API 명세
Feature | 기념일 삭제 |
Method | DELETE |
API | /scheduler/api/v1/anniversary/{anniversaryId} |
Header | Authorization: 연계용 User 토큰 |
PathVariable | anniversaryId : 기념일 아이디 (*) |
Parameter | 없음 |
body |
라이선스 API
라이선스 정보 조회 및 초기화 기능을 제공합니다. 테넌트 포털에 접속 가능한 관리자의 인증 토큰(API Key 등) 으로 호출되어야 합니다. ※ site License 가 적용된 서버의 경우 해당 API 기능이 동작하지 않습니다. ※ v2.5.0 이후 버전부터 지원함
12.1 라이선스 현황
개요
라이선스 현황을 조회 합니다.
API 명세
Feature | 라이선스 현황 |
Method | POST |
API | /tenant/api/v1/private/license/activatedCount |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명
tenantId : 테넌트 ID (미입력시 전체)
usablePeriodOnly : 라이선스 유효 건 기준 수량 조회 (Y / N) (미입력시 N, 전체 대상)
ResponseBody 설명
tenantInfo : 테넌트 정보
tenantDescription : 테넌트 설명
tenantName : 테넌트 이름
tenantId : 테넌트 ID
licenseCount : Bot / Designer 의 총/활성화 수량 정보
botTotalCount : 봇 라이선스 수량
botActivatedCount : 봇 라이선스 활성화 수량
designerTotalCount : 디자이너 라이선스 수량
designerActivatedCount : 디자이너 라이선스 활성화 수량
활용 예시 (Input)
요청 사항
테넌트 전체 혹은 개별 테넌트 단위 라이선스 수량 / 활성화 수량 정보 요청합니다.
호출 API
/tenant/api/v1/private/license/activatedCount
Body 예시
{ "tenantId":"tenant_1", "usablePeriodOnly":"Y" }
활용 예시 (Response)
응답 결과
테넌트 전체 혹은 개별 테넌트 단위 라이선스 수량 / 활성화 수량 정보 제공합니다.
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK { "tenantInfo": { "tenantDescription": null, "tenantName": "BASE TENANT", "tenantId": "tenant_1" }, "licenseCount": { "designerTotalCount": 53, "designerActivatedCount": 8, "botTotalCount": 34, "botActivatedCount": 3 } } ex> 미존재 테넌트 정보 요청 시 { "errorValue": "NOT_AVAILABLE_TENANT", "errorCode": "TENANT_T2", "params": "[getLicenseActivatedCountStatusOpenAPIByParam] tenant is not available. tenantId : tenant_222" }
12.2 라이선스 목록
개요
라이센스 목록을 조회 합니다.
API 명세
Feature | 라이선스 목록 |
Method | POST |
API | /tenant/api/v1/private/license/list |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
[설명] 정렬 기준(orderBy) : (기본값) 라이선스 유형, 테넌트 이름, 라이선스 활성화 여부, 클라이언트 ID, 라이선스 키 조회 가능 건수(limit) : 기본값 10, 최대 100 시간 파라미터 포맷(Java) : DateTimeFormatter.ISO_ZONED_DATE_TIME 기본 환경 구성 기준으로 UTC 시간으로 표시됩니다. parameter는 입력된 정보에 한해 적용됩니다 order by는 sql injection 문제로 제공하지 않습니다.
RequestBody 설명 offset : skip row 건수 (int) limit : skip 이후 가져올 row 건수 (int) parameter : { licenseKey : 라이선스 키 (LIKE) tenantId : 테넌트 ID clientId : 클라이언트 ID (LIKE) licenseDescription : 라이선스 설명 (LIKE) licenseStatus : 활성화 여부 (Y / N) licenseType : 라이선스 유형 (아래 참고) licenseExpirationDateFrom licenseExpirationDateTo : 라이선스 만료일자 기간 검색 (BETWEEN) } ResponseBody 설명 request : 처리된 조회 조건 totalCount : 조회조건 기준의 총 건수 listCount : 현재 응답에 포함된 건수 list : 라이선스 목록 { licenseKey : 라이선스 키 licenseType : 라이선스 유형 (아래 참고) licenseStartDate : 라이선스 시작일자 licenseEndDate : 라이선스 종료일자 licenseStatus : 라이선스 활성화 여부 licenseDescription : 라이선스 설명 tenantId : 테넌트 ID tenantName : 테넌트 이름 tenantUseYn : 테넌트 사용 여부 clientId : 클라이언트 ID agentVersion : 클라이언트 Agent Version (Bot 연결 또는 Designer 로그인 시 정보 반영) clientActivateDt : 클라이언트 활성화 일시 latestIssueTokenDt : 마지막 토큰 발급 일시 } 참고) licenseType 1 : Bot 2 : Designer, 201 : Designer Lite 3 : Attended Bot 4 : Stand-alone Designer, 401 : Stand-alone Designer Lite
[참고]
정렬 기준(orderBy) : (기본값) 라이선스 유형, 테넌트 이름, 라이선스 활성화 여부, 클라이언트 ID, 라이선스 키
조회 가능 건수(limit) : 기본값 10, 최대 100
시간 파라미터 포맷(Java) : DateTimeFormatter.ISO_ZONED_DATE_TIME
기본 환경 구성 기준으로 UTC 시간으로 표시됩니다.
parameter는 입력된 정보에 한해 적용됩니다
order by는 sql injection 문제로 제공하지 않습니다.
licenseType
1 : Bot
2 : Designer, 201 : Designer Lite
3 : Attended Bot
4 : Stand-alone Designer, 401 : Stand-alone Designer Lite
활용 예시 (Input)
요청 사항
라이선스 목록 정보를 제공
호출 API
/tenant/api/v1/private/license/list
Body 예시
{ "offset": 0, "limit": 10, "parameter": { "licenseKey":"1", "tenantId":"tenant_1", "clientId":"6", "licenseDescription":"라이선스", "licenseStatus":"Y", "licenseType": "1", "licenseExpirationDateFrom":"2022-06-30T14:59:59Z", "licenseExpirationDateTo":"2023-06-30T15:00:00Z" } }
활용 예시 (Response)
응답 결과
라이선스 목록 정보를 제공
결과예시
HttpStatus 200 OK { "request": { "offset": 0, "limit": 10, "parameter": { "licenseKey": "1", "tenantId": "tenant_1", "clientId": "6", "licenseDescription": "라이선스", "licenseStatus": "Y", "licenseType": "1", "licenseExpirationDateFrom": "2022-06-30T14:59:59Z", "licenseExpirationDateTo": "2023-06-30T15:00:00Z" }, "orderBy": "cast(lic.license_type as char), tenant.tenant_name, licenseStatus desc, cli.client_id, lic.license_key" }, "totalCount": 1, "list": [ { "clientId": "BOT-00006", "tenantUseYn": "Y", "licenseStartDate": "2022-01-31T15:00:00Z", "licenseEndDate": "2023-02-01T14:59:59Z", "latestIssueTokenDt": "2022-06-28T04:24:28Z", "licenseKey": "RG18-EA21-AA79", "licenseType": 1, "tenantName": "BASE TENANT", "licenseDescription": "라이선스 설명 테스트", "licenseStatus": "Y", "tenantId": "tenant_1", "agentVersion": "2.4.500.00620.B1", "clientActivateDt": "2022-06-28T04:24:25Z" } ], "listCount": 1 } Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답 인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답 ※ 테넌트 매핑이 없는 라이선스 고유 상태에서는 아래와 같이 list 응답됨 → 라이선스 - 테넌트 매핑 없음, Client 활성화 불가 상태 { "clientId": "", "tenantUseYn": null, "licenseStartDate": "2022-06-27T15:00:00Z", "licenseEndDate": "2023-05-31T14:59:59Z", "latestIssueTokenDt": null, "licenseKey": "RG11-E7BE-AFE7", "licenseType": 1, "tenantName": null, "licenseDescription": "", "licenseStatus": "N", "tenantId": null, "agentVersion": "", "clientActivateDt": null },
12.3 라이선스 초기화
개요
라이센스를 초기화 합니다
API 명세
Feature | 라이선스 초기화 |
Method | POST |
API | /tenant/api/v1/private/license/initialize |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
활용 예시 (Input)
요청 사항
On-premise 대상 라이선스 (Bot / Designer / Designer Lite) 에 대한 라이선스 초기화 기능 제공
호출 API
/tenant/api/v1/private/license/initialize
Body 예시
{ "licenseKey":"RG0B-69CB-42EB", "tenantId":"tenant_1" }
활용 예시 (Response)
응답 결과
On-premise 대상 라이선스 (Bot / Designer / Designer Lite) 에 대한 라이선스 초기화 기능 제공
결과예시
HttpStatus 200 OK { "resultCode": "true" } ex> 해당 라이선스가 활성화 상태가 아닌 경우 { "errorValue": "INACTIVATE_CLIENT_FAILED", "errorCode": "TENANT_M4", "params": "[requestInitializeLicenseProcess] This license has not activated status. licenseKey : RG0B-69CB-42EB" }
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
입력값이 누락된 경우 HttpStatus 400 Bad Request 로 응답
처리에 실패할 경우 HttpStatus 409 Conflict 로 응답
주요 처리 실패 사유
라이선스 미존재 또는 라이선스-테넌트 매핑 없음
실제 테넌트 매핑 정보와, 초기화 요청 테넌트 정보가 다름
라이선스 초기화 가능 유형이 아님 (Attended Bot/Stand-alone Designer 등)
해당 라이선스가 활성화 상태가 아님
공용리소스 API
공용리소스 정보 조회 및 초기화 기능을 제공합니다. 관리자의 인증 토큰(API Key 등) 으로 호출되어야 합니다. ※ v3.0.0 이후 버전부터 지원함
문자열 공용리소스 등록 및 수정
개요
문자열 공용리소스를 등록 및 수정 합니다.
API 명세
Feature | 문자열 공용리소스 등록 및 수정 |
Method | POST |
API | /asset/api/v1/objects/asset |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명
id : 신규 생성 시: 공란 (""), 수정 : 수정하고자 하는 공용리소스의 id
name : 공용리소스 이름
category : 공용리소스 분류
isSecureData: 보안 유형 여부
largeCategory: 사용자가 설정한 태그, 태그가 존재하지 않는 경우 기본값: []
desc: 공용리소스 설명
data: 공용리소스 데이터
ResponseBody 설명
활용 예시 (Input)
요청 사항
문자열 공용리소스를 등록한다.
호출 API
/asset/api/v1/objects/asset
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰 * ContentType : multipart/form-data Body { "id":"43bf2861-fd06-4279-bf55-d585b498c7c1", "name": "API공용리소스_2", "category": "string", "isSecureData": "N", "largeCategory": "[\"테스트태그\", \"TEST\"]", "mediumCategory": "", "desc": "공용리소스설명", "data": "공용리소스데이터" }
활용 예시 (Response)
응답 결과
생성된 문자열 공용리소스 또는 수정된 문자열 공용리소스 결과 정보를 제공합니다.
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK { "managerUsrId": null, "createUserId": "admin", "typeName": "Asset", "type": 6, "resolution": null, "largeCategory": "[\"테스트중\",\"TEST\"]", "designerVersion": null, "id": "43bf2861-fd06-4279-bf55-d585b498c7c1", "updateDatetime": 1664518544347, "os": null, "applyStartDate": null, "updateUserId": "admin", "isSecureData": "N", "filePath": "API공용리소스데이터", "applyEndDate": null, "version": "1.00", "delYn": "N", "createDatetime": 1664518544347, "mediumCategory": "", "name": "API공용리소스_2", "workType": null, "activation": "Y", "category": "string", "desc": "공용리소스설명", "status": 1 }
파일 공용리소스 등록 및 수정
개요
파일 공용리소스를 등록 및 수정 합니다.
API 명세
Feature | 파일 공용리소스 등록 및 수정 |
Method | POST |
API | /asset/api/v1/objects/asset |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명
id : 신규 생성 시: 공란 (""), 수정 : 수정하고자 하는 공용리소스의 id
name : 공용리소스 이름
category : 공용리소스 분류
isSecureData: 보안 유형 여부
largeCategory: 사용자가 설정한 태그, 태그가 존재하지 않는 경우 기본값: []
desc: 공용리소스 설명
file: 공용리소스 파일
ResponseBody 설명
활용 예시 (Input)
요청 사항
파일 공용리소스를 등록한다.
호출 API
/asset/api/v1/objects/asset
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰 * ContentType : multipart/form-data Body { "id":"43bf2861-fd06-4279-bf55-d585b111c7xx", "name": "API공용리소스파일_4", "category": "file", "isSecureData": "N", "largeCategory": "[]", "mediumCategory": "", "desc": "API공용리소스파일설명", "file": hello - 복사본 (2).txt }
활용 예시 (Response)
응답 결과
생성된 파일 공용리소스 또는 수정된 파일 공용리소스 결과 정보를 제공합니다.
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK { "managerUsrId": null, "createUserId": "admin", "typeName": "Asset", "type": 6, "resolution": null, "largeCategory": "[]", "designerVersion": null, "id": "43bf2861-fd06-4279-bf55-d585b111c7xx", "updateDatetime": 1664521052714, "os": null, "applyStartDate": null, "updateUserId": "admin", "isSecureData": "N", "filePath": "hello1 - 복사본 (2).txt", "applyEndDate": null, "version": "1.00", "delYn": "N", "createDatetime": 1664521052714, "mediumCategory": "", "fileSize": "12", "name": "API공용리소스파일_4", "workType": null, "activation": "Y", "category": "file", "desc": "API공용리소스파일설명", "status": 1 }
공용리소스(크리덴셜) 등록 및 수정
개요
공용리소스(크리덴셜) 을 등록 및 수정 합니다.
API 명세
Feature | 공용리소스(크리덴셜) 등록 및 수정 |
Method | POST |
API | /asset/api/v1/objects/credential |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명 [form-data 형식으로 입력 필수]
id : 신규 생성 시: 공란 (""), 수정 : 수정하고자 하는 공용리소스의 id
name : 공용리소스 이름
category : 공용리소스 분류
isSecureData: 보안 유형 여부
largeCategory: 사용자가 설정한 태그, 태그가 존재하지 않는 경우 기본값: []
desc: 공용리소스 설명
data: 공용리소스 데이터
ResponseBody 설명
활용 예시 (Input)
요청 사항
크리덴셜 공용리소스를 등록한다.
호출 API
/asset/api/v1/objects/credential
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰 * ContentType : multipart/form-data Body는 JSON이 아닌 form-data 형식으로 입력해야 함. { "id":"43bf2861-fd06-4279-bf55-d585b498c111", "name": "APICredential2", "largeCategory": "[\"Credential\", \"TEST\"]", "mediumCategory": "", "desc": "API공용리소스설명", "data": "공용리소스데이터" }
활용 예시 (Response)
응답 결과
생성된 크리덴셜 공용리소스 또는 수정된 크리덴셜 공용리소스 결과 정보를 제공합니다.
결과예시
{ "managerUsrId": null, "createUserId": "admin", "updateDatetime": 1664522823537, "os": null, "applyStartDate": null, "updateUserId": "admin", "filePath": "41755747631023413", "typeName": "Credential", "applyEndDate": null, "type": 14, "version": "1.00", "resolution": null, "largeCategory": "[\"Credential\",\"TEST\"]", "delYn": "N", "createDatetime": 1664522823537, "mediumCategory": "", "name": "APICredential2", "workType": null, "designerVersion": null, "id": "43bf2861-fd06-4279-bf55-d585b498c111", "activation": "Y", "category": null, "desc": "API공용리소스설명", "status": 1 }
공용리소스 조회
개요
특정 공용리소스를 조회 합니다.
API 명세
Feature | 공용리소스 조회 |
Method | GET |
API | /asset/api/v1/objects/asset |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | id: 43bf2861-fd06-4279-bf55-d585b498c7cg detail: Y |
(파일 타입 공용리소스의 파일 조회) id: 43bf2861-fd06-4279-bf55-d585b111c7xx isSvg:N | |
body | RequestBody 설명 |
RequestBody 설명
id : 조회할 공용리소스의 id
detail : 상세정보 조회여부 (Y or N)
isSvg : Svg 조회여부 (Y or N)
ResponseBody 설명
활용 예시 (Input)
요청 사항
특정 공용리소스를 조회한다
호출 API
/asset/api/v1/objects/asset
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰 Param id: 43bf2861-fd06-4279-bf55-d585b498c7cg detail: Y Param (파일 타입 공용리소스의 파일 조회) id: 43bf2861-fd06-4279-bf55-d585b111c7xx isSvg: N
활용 예시 (Response)
응답 결과
입력된 아이디에 해당하는 공용리소스 정보를 제공합니다.
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK { "objectActivation": "Y", "createUserId": "admin", "objectStatus": 1, "os": null, "isSecureData": "N", "updateUserId": "admin", "version": "1.00", "resolution": null, "largeCategory": "[\"테스트중\",\"TEST\"]", "updateTimestamp": 1659003748000, "mediumCategory": "", "userHasAuth": { "A": true, "R": true, "S": true, "D": true, "E": true, "U": true }, "name": "API공용리소스", "designerVersion": null, "category": "string", "value": "API공용리소스데이터", "objectId": "43bf2861-fd06-4279-bf55-d585b498c7cg", "desc": "API공용리소스설명" }
공용리소스(크리덴셜) 조회
개요
특정 공용리소스(크리덴셜)을 조회한다
API 명세
Feature | 공용리소스(크리덴셜) 조회 |
Method | GET |
API | /asset/api/v1/objects/credential |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | id: 43bf2861-fd06-4279-bf55-d585b498c111 detail: Y |
body | RequestBody 설명 |
RequestBody 설명
id : 조회할 공용리소스의 id
detail : 상세정보 조회여부 (Y or N)
ResponseBody 설명
활용 예시 (Input)
요청 사항
크리덴셜 공용리소스를 조회한다.
호출 API
/asset/api/v1/objects/credential
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰 Param id: 43bf2861-fd06-4279-bf55-d585b498c111 detail: Y
활용 예시 (Response)
응답 결과
특정 공용리소스(크리덴셜)을 조회한다
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK { "objectActivation": "Y", "createUserId": "admin", "objectStatus": 1, "os": null, "isSecureData": "Y", "updateUserId": "admin", "version": "1.00", "resolution": null, "largeCategory": "[\"Credential\",\"TEST\"]", "updateTimestamp": 1664522823000, "mediumCategory": "", "userHasAuth": { "A": true, "R": true, "S": true, "D": true, "E": true, "U": true }, "name": "APICredential2", "designerVersion": null, "value": "NlNjRWg2R1h4Vk5lOUZJbDlzSEZidz09", "objectId": "43bf2861-fd06-4279-bf55-d585b498c111", "desc": "API공용리소스파일설명" }
공용리소스 삭제
개요
특정 공용리소스를 삭제한다.
API 명세
Feature | 공용리소스 삭제 |
Method | DELETE |
API | /asset/api/v1/objects/asset |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명
id : 삭제할 공용리소스의 id
ResponseBody 설명
활용 예시 (Input)
요청 사항
특정 공용리소스를 삭제한다.
호출 API
/asset/api/v1/objects/asset
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰 Body id: 43bf2861-fd06-4279-bf55-d585b498c7cg
활용 예시 (Response)
응답 결과
특정 공용리소스를 삭제한다.
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK true
공용리소스(크리덴셜) 삭제
개요
특정 공용리소스를 삭제한다.
API 명세
Feature | 공용리소스(크리덴셜) 삭제 |
Method | DELETE |
API | /asset/api/v1/objects/credential |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명
id : 삭제할 공용리소스의 id
ResponseBody 설명
활용 예시 (Input)
요청 사항
특정 공용리소스를 삭제한다.
호출 API
/asset/api/v1/objects/asset
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰 Body id: 43bf2861-fd06-4279-bf55-d585b498c7cg
활용 예시 (Response)
응답 결과
특정 공용리소스를 삭제한다.
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK true
공용리소스(문자열, 파일) 목록 조회
개요
공용리소스(일반, 문자열) 목록을 조회한다.
API 명세
Feature | 공용리소스(크리덴셜) 삭제 |
Method | GET |
API | /asset/api/v1/objects/type/asset |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명
ResponseBody 설명
활용 예시 (Input)
요청 사항
공용리소스(일반, 문자열) 목록을 조회한다.
호출 API
/asset/api/v1/objects/type/asset
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰
활용 예시 (Response)
응답 결과
공용리소스(일반, 문자열) 목록을 조회한다.
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK [ { "managerUsrId": null, "createUserId": "admin", "typeName": "Asset", "type": 6, "resolution": null, "largeCategory": "[]", "designerVersion": null, "id": "43bf2861-fd06-4279-bf55-d585b498c7c1", "updateDatetime": 1664519826000, "os": null, "applyStartDate": null, "updateUserId": "admin", "isSecureData": "N", "filePath": "API공용리소스데이터", "applyEndDate": null, "version": "1.00", "delYn": "N", "createDatetime": 1664518544000, "mediumCategory": "", "name": "API공용리소스파일_3", "workType": null, "activation": "Y", "category": "string", "desc": "API공용리소스파일설명", "status": 1 }]
공용리소스(크리덴셜) 목록 조회
개요
공용리소스(크리덴셜) 목록을 조회한다.
API 명세
Feature | 공용리소스(크리덴셜) 목록 조회 |
Method | GET |
API | /asset/api/v1/objects/type/credential |
Header | Authorization : 테넌트 포털 관리자 토큰 |
PathVariable | 없음 |
Parameter | 없음 |
body | RequestBody 설명 |
RequestBody 설명
ResponseBody 설명
활용 예시 (Input)
요청 사항
공용리소스(크리덴셜) 목록을 조회한다.
호출 API
/asset/api/v1/objects/type/asset
Body 예시
Header * Authorization: 연계용 서버 토큰 * userAuthentication: 연계용 User 토큰
활용 예시 (Response)
응답 결과
공용리소스(크리덴셜) 목록을 조회한다.
결과예시
Site License가 적용된 경우 Response가 HttpStatus 400 Bad Request 로 응답
인증 토큰 권한이 없을 경우 HttpStatus 403 Forbidden 으로 응답
존재하지 않는 테넌트 요청 등 조회 불가 시 HttpStatus 409 Conflict 로 응답
HttpStatus 200 OK [{ "managerUsrId": null, "createUserId": "admin", "updateDatetime": 1664522823000, "os": null, "applyStartDate": null, "updateUserId": "admin", "filePath": "41755747631023413", "typeName": "Credential", "applyEndDate": null, "type": 14, "version": "1.00", "resolution": null, "largeCategory": "[\"Credential\",\"TEST\"]", "delYn": "N", "createDatetime": 1664522823000, "mediumCategory": "", "name": "APICredential2", "workType": null, "designerVersion": null, "id": "43bf2861-fd06-4279-bf55-d585b498c111", "activation": "Y", "category": null, "desc": "API공용리소스파일설명", "status": 1 }]