내부 임직원에 한해 결재 상신이 가능합니다.
결재 상신 뿐만 아니라 결재상황조회 및 상신취소 등이 가능합니다.
| API | URI | Method | Description |
|---|
| 결재상신 | /approval/api/v2.0/approvals/submit | POST | 결재를 상신한다 |
| 보안결재상신 | /approval/api/v2.0/approvals/secu-submit | POST | 보안(대외비/극비) 결재를 상신한다 |
| 결재상세상황조회 | /approval/api/v2.0/approvals/{apInfId}/detail | GET | 결재문서의 정보를 상세 조회한다 |
| 결재본문조회 | /approval/api/v2.0/approvals/{apInfId}/content | GET | 결재문서의 본문을 조회한다 |
| 결재상황조회 | /approval/api/v2.0/approvals/status | POST | 결재문서의 진행 상태를 조회한다 |
| 결재연계ID조회 | /approval/api/v2.0/approvals/apinfids | GET | 결재ID로 결재연계ID를 조회한다 |
| 상신함리스트조회 | /approval/api/v2.0/approvals/submission | GET | 요청 연계시스템ID로 연계 상신처리된 상신자의 상신함의 정보를 조회한다 |
| 연계이력조회 | /approval/api/v2.0/approvals/apinfidinfos | GET | 요청 연계시스템ID에서 상신된 결재문서의 연계 이력을 조회한다 |
| 상신취소 | /approval/api/v2.0/approvals/{apInfId}/cancel | POST | 결재문서를 상신취소한다 |
| 저장된결재경로목록조회 | /approval/api/v2.0/approvals/ownaplnlist | GET | 개인별 저장된 결재경로 목록을 조회한다 |
| 저장된결재경로상세조회 | /approval/api/v2.0/approvals/{pslAplnId}/ownaplndetail | GET | 개인별 저장된 결재경로 ID로 정보를 상세 조회한다 |
/approval/api/v2.0/approvals/submit
삼성 그룹사 임직원 뿐만 아니라 외부수신인을 포함하여 결재 상신이 가능하며, 상신된 결재는 각 사용자의 결재함에 저장됩니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계 시스템 ID | System-ID | Y | Header | String | CXXREST0001 | |
| 2 | 결재본문 | contents | Y | Body | String | TEST | |
| 3 | 본문종류 | contentsType | Y | Body | String | TEXT | TEXT,HTML,MIME |
| 4 | 보안문서타입 | docSecuType | Y | Body | String | PERSONAL | CONFIDENTIAL, CONFIDENTIAL_STRICT 지정 시 에러 |
| 5 | 통보옵션 | notifyOption | Y | Body | String | 0 | 0: 통보자통보 결재경로포함 , 1: 모두통보 결재경로포함 2: 통보자통보 결재경로포함안함 , 3: 모두통보 결재경로포함안함 |
| 6 | 긴급여부 | urgYn | Y | Body | String | N | |
| 7 | 상신일시 | sbmDt | Y | Body | String | 20190524145033 | |
| 8 | 타임존 | timeZone | Y | Body | String | GMT | |
| 9 | 문서관리저장코드 | docMngSaveCode | Y | Body | String | 0 | 0 : 문서관리저장안함 1 : 문서관리저장함 |
| 10 | 결재제목 | subject | Y | Body | String | 근태신청 | |
| 11 | 상신언어 | sbmLang | Y | Body | String | ko | ko : korean ja : japanese zh : chinese en : english |
| 12 | 연계ID | apInfId | Y | Body | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
| 13 | 중요여부 | importantYn | N | Body | String | Y | |
| 14 | 결재경로 | aplns | Y | Body | JSON String | 상신자, 결재자 1명 이상 필수 ※결재자/합의자 없이 통보자만 지정된 결재경로 불가 |
|
| 15 | EPID | epId | Y | Body | String | M071015062623C9884 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 16 | 사용자ID | userId | Y | Body | String | qtp03 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 17 | 사용자이메일 | emailAddress | Y | Body | String | qtp03@stage.sasmung.com | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 18 | 결재순번 | seq | Y | Body | String | 0 | 상신자의 경우 반드시 0, 병렬결재(합의)자의 경우 seq 일치 |
| 19 | 설정구분 | role | Y | Body | String | 0 | 기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
(후결자는 최대 1명, 병렬결재 & 병렬합의자는 최소 2명 이상) |
| 20 | 처리구분 | aplnStatsCode | Y | Body | String | 0 | 미결(0), 결재(1), 반려(2), 전결(3), 자동결재(5) |
| 21 | 전결권한여부 | arbPmtYn | Y | Body | String | Y | |
| 22 | 본문수정권한여부 | contentsMdfyPmtYn | Y | Body | String | Y | |
| 23 | 경로변경권한여부 | aplnMdfyPmtYn | Y | Body | String | Y | |
| 24 | 상신의견 | opinion | Y | Body | String | 근태결재입니다. | |
| 25 | 첨부파일 | attachments | N | Body | multipart/form-data | multipart/form-data로 변환된 바이너리 파일 및 파일명 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 결재연계ID정보 | data | JSON String | ||
| 결재연계ID | apInfId | String | TEST1A000A11ACa02CVQ1A0CA4CA33C1 | 리턴받은 결재 아이디를 이용하여, 상황조회 및 상신취소가 가능합니다. |
| Request | Response |
|---|
/approval/approvals/api/v2.0/submit
Content-Disposition: form-data; name="approval"
{
"aplns": [
{
"epId": "M071015062623C988403","seq": "0","role": "0","aplnStatsCode": "0",
"arbPmtYn": "Y","contentsMdfyPmtYn": "Y", "aplnMdfyPmtYn": "Y"
},
{
"epId": "M080325053708C989824","seq": "1","role": "1","aplnStatsCode": "0",
"arbPmtYn": "Y","contentsMdfyPmtYn": "Y", "aplnMdfyPmtYn": "Y"
}
],
"contents": "TEST",
"contentsType": "TEXT",
"docSecuType": "PERSONAL",
"notifyOption": "0",
"urgYn": "N",
"sbmDt": "20190526121212",
"subject": "Test application",
"sbmLang": "ko",
"apInfId": "TEST0000000000002120190514143359",
"docMngSaveCode": "0",
"timeZone": "GMT+9"
}
Content-Disposition: form-data; name="attachments"; filename="attach1.jpg"
Content-Disposition: form-data; name="attachments"; filename="attach2.txt"
|
{
"result": "success",
"data": {
"apInfId": "TEST0000000000002120190514143359"
}
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 400 | APE001 | 데이터가 필요합니다. | |
| 400 | APE002 | 입력된 데이터 형식이 잘못되었습니다. | |
| 400 | APE003 | 입력값이 잘못되었습니다. | |
| 400 | APE004 | 본문은 1MB를 초과할 수 없습니다. | |
| 400 | APE006 | 제목에는 엔터값이 들어갈 수 없습니다. | |
| 400 | APE007 | 제목은 300자를 초과할 수 없습니다. | |
| 403 | APE008 | 중복된 데이터가 있습니다. | |
| 400 | APE009 | 후결자는 1명만 지정 가능합니다. | |
| 400 | APE010 | 결재경로는 최소 2명 이상입니다. | |
| 400 | APE011 | 결재경로는 최대 99명 이하입니다. | |
| 400 | APE012 | 상신자를 제외한 사용자들은 의견값을 설정할 수 없습니다. | |
| 400 | APE013 | 미결 상태로 설정된 사용자들은 처리일시값을 설정할 수 없습니다. | |
| 400 | APE014 | 상신의견값의 길이가 너무 깁니다. | |
| 400 | APE016 | 결재자 혹은 합의자가 결재경로상에 없습니다. | |
| 400 | APE017 | 결재경로 내 휴직 또는 퇴직자가 포함되어 있습니다. | |
| 400 | APE018 | 외부 사용자는 통보자로만 지정이 가능합니다. | |
| 400 | APE019 | 결재경로에 포함될 수 없는 사용자가 입력되었습니다. |
/approval/api/v2.0/approvals/secu-submit
보안 결재 옵션을 설정하여 대외비, 극비로 보안 결재를 상신할 수 있습니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계 시스템 ID | System-ID | Y | Header | String | CXXREST0001 | |
| 2 | 결재본문 | contents | Y | Body | String | TEST | |
| 3 | 본문종류 | contentsType | Y | Body | String | TEXT | TEXT,HTML,MIME |
| 4 | 보안문서타입 | docSecuType | Y | Body | String | CONFIDENTIAL | CONFIDENTIAL, CONFIDENTIAL_STRICT 지정 시 에러 |
| 5 | 통보옵션 | notifyOption | Y | Body | String | 0 | 0: 통보자통보 결재경로포함 , 1: 모두통보 결재경로포함 2: 통보자통보 결재경로포함안함 , 3: 모두통보 결재경로포함안함 |
| 6 | 긴급여부 | urgYn | Y | Body | String | N | |
| 7 | 상신일시 | sbmDt | Y | Body | String | 20190524145033 | |
| 8 | 타임존 | timeZone | Y | Body | String | GMT | |
| 9 | 문서관리저장코드 | docMngSaveCode | Y | Body | String | 0 | 0 : 문서관리저장안함 1 : 문서관리저장함 |
| 10 | 결재제목 | subject | Y | Body | String | 근태신청 | |
| 11 | 상신언어 | sbmLang | Y | Body | String | ko | ko : korean ja : japanese zh : chinese en : english |
| 12 | 연계ID | apInfId | Y | Body | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
| 13 | 중요여부 | importantYn | N | Body | String | Y | |
| 14 | 결재경로 | aplns | Y | Body | JSON String | 상신자, 결재자 1명 이상 필수 ※결재자/합의자 없이 통보자만 지정된 결재경로 불가 |
|
| 15 | EPID | epId | Y | Body | String | M071015062623C9884 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 16 | 사용자ID | userId | Y | Body | String | qtp03 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 17 | 사용자이메일 | emailAddress | Y | Body | String | qtp03@stage.sasmung.com | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 18 | 결재순번 | seq | Y | Body | String | 0 | 상신자의 경우 반드시 0, 병렬결재(합의)자의 경우 seq 일치 |
| 19 | 설정구분 | role | Y | Body | String | 0 | 기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
(후결자는 최대 1명, 병렬결재 & 병렬합의자는 최소 2명 이상) |
| 20 | 처리구분 | aplnStatsCode | Y | Body | String | 0 | 미결(0), 결재(1), 반려(2), 전결(3), 자동결재(5) |
| 21 | 전결권한여부 | arbPmtYn | Y | Body | String | Y | |
| 22 | 본문수정권한여부 | contentsMdfyPmtYn | Y | Body | String | Y | |
| 23 | 경로변경권한여부 | aplnMdfyPmtYn | Y | Body | String | Y | |
| 24 | 상신의견 | opinion | Y | Body | String | 근태결재입니다. | |
| 25 | 첨부파일 | attachments | N | Body | multipart/form-data | multipart/form-data로 변환된 바이너리 파일 및 파일명 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 결재연계ID정보 | data | JSON String | ||
| 결재연계ID | apInfId | String | TEST1A000A11ACa02CVQ1A0CA4CA33C1 | 리턴받은 결재 아이디를 이용하여, 상황조회 및 상신취소가 가능합니다. |
| Request | Response |
|---|
/approval/v2.0/approvals/secu-submit
Content-Disposition: form-data; name="approval"
{
"aplns": [
{
"epId": "M071015062623C988403","seq": "0","role": "0","aplnStatsCode": "0",
"arbPmtYn": "Y","contentsMdfyPmtYn": "Y", "aplnMdfyPmtYn": "Y"
},
{
"epId": "M080325053708C989824","seq": "1","role": "1","aplnStatsCode": "0",
"arbPmtYn": "Y","contentsMdfyPmtYn": "Y", "aplnMdfyPmtYn": "Y"
}
],
"contents": "TEST",
"contentsType": "TEXT",
"docSecuType": "CONFIDENTIAL",
"notifyOption": "0",
"urgYn": "N",
"sbmDt": "20190526121212",
"subject": "Test application",
"sbmLang": "ko",
"apInfId": "TEST0000000000002120190514143359",
"docMngSaveCode": "0",
"timeZone": "GMT+9"
}
Content-Disposition: form-data; name="attachments"; filename="attach1.jpg"
Content-Disposition: form-data; name="attachments"; filename="attach2.txt"
|
{
"result": "success",
"data": {
"apInfId": "TEST0000000000002120190514143359"
}
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 400 | APE001 | 데이터가 필요합니다. | |
| 400 | APE002 | 입력된 데이터 형식이 잘못되었습니다. | |
| 400 | APE003 | 입력값이 잘못되었습니다. | |
| 400 | APE004 | 본문은 1MB를 초과할 수 없습니다. | |
| 400 | APE006 | 제목에는 엔터값이 들어갈 수 없습니다. | |
| 400 | APE007 | 제목은 300자를 초과할 수 없습니다. | |
| 403 | APE008 | 중복된 데이터가 있습니다. | |
| 400 | APE009 | 후결자는 1명만 지정 가능합니다. | |
| 400 | APE010 | 결재경로는 최소 2명 이상입니다. | |
| 400 | APE011 | 결재경로는 최대 99명 이하입니다. | |
| 400 | APE012 | 상신자를 제외한 사용자들은 의견값을 설정할 수 없습니다. | |
| 400 | APE013 | 미결 상태로 설정된 사용자들은 처리일시값을 설정할 수 없습니다. | |
| 400 | APE014 | 상신의견값의 길이가 너무 깁니다. | |
| 400 | APE016 | 결재자 혹은 합의자가 결재경로상에 없습니다. | |
| 400 | APE017 | 결재경로 내 휴직 또는 퇴직자가 포함되어 있습니다. | |
| 400 | APE018 | 외부 사용자는 통보자로만 지정이 가능합니다. | |
| 400 | APE019 | 결재경로에 포함될 수 없는 사용자가 입력되었습니다. |
/approval/api/v2.0/approvals/{apInfId}/detail
결재 연계 ID를 이용하여 결재문서의 정보(결재현황, 결재문서 상태)를 상세 조회 할 수 있습니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계ID | apInfId | Y | Path | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 결재상세정보 | data | JSON String | ||
| 본문종류 | contentsType | String | TEXT | TEXT,HTML,MIME |
| 상신일시 | sbmDt | String | 20190524145033 | |
| 상신언어 | sbmLang | String | ko | ko : korean ja : japanese zh : chinese en : english |
| 연계ID | apInfId | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
| 연계 시스템 ID | System-ID | String | CXXREST0001 | |
| 통보옵션 | notifyOption | String | 0 | 0: 통보자통보 결재경로포함 , 1: 모두통보 결재경로포함 2: 통보자통보 결재경로포함안함 , 3: 모두통보 결재경로포함안함 |
| 긴급여부 | urgYn | String | N | |
| 보안문서타입 | docSecuType | String | PERSONAL | CONFIDENTIAL, CONFIDENTIAL_STRICT 지정 시 에러 |
| 결재상태정보 | status | String | 1 | 암호화실패(-3),암호화중(-2), 예약상신(-1),보류(0),진행중(1),완결(2),반려(3),상신취소(4),전결(5),후완결(6) |
| 타임존 | timeZone | String | GMT | |
| 결재제목 | subject | String | 근태신청 | |
| 결재경로 | aplns | JSONList | ||
| 처리일시 | actPrssDt | String | 20190521015954 | |
| 개봉일시 | docOpenDt | String | 20190521015954 | |
| 도착일시 | docArvDt | String | 20190521015954 | |
| 상신의견 | opinion | String | 근태결재입니다. | |
| 결재관계자회사코드 | companyCode | String | C98 | |
| 결재관계자회사명 | companyName | String | SAMSUNG | |
| 결재관계자총괄코드 | subOrgCode | String | C98S01 | |
| 결재관계자총괄명 | subOrgName | String | 개발총괄 | |
| 결재관계자부서코드 | departmentCode | String | C98S0201 | |
| 결재관계자부서명 | departmentName | String | 개발1팀 | |
| 결재관계자 epid | epId | String | M071015062623C988403 | |
| 결재관계자 메일주소 | emailAddress | String | qtp03@stage.samsung.com | |
| 결재관계자 이름 | name | String | qtp03 | |
| 결재관계자 직급코드 | titleCode | String | B3P1 | |
| 결재관계자 직급명 | titleName | String | Engineer | |
| 결재순번 | seq | String | 0 | 상신자의 경우 반드시 0, 병렬결재(합의)자의 경우 seq 일치 |
| 설정구분 | role | String | 0 | 기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
(후결자는 최대 1명, 병렬결재 & 병렬합의자는 최소 2명 이상) |
| 처리구분 | aplnStatsCode | String | 0 | 미결(0), 결재(1), 반려(2), 전결(3), 자동결재(5) |
| 대리결재자여부 | prxAprYn | String | N | |
| 위임결재자EPID | dlgAprEpid | String | M345615062623C988000 | |
| 전결권한여부 | arbPmtYn | String | Y | |
| 전결수행여부 | arbActYn | String | ||
| 경로변경권한여부 | aplnMdfyPmtYn | String | Y | |
| 경로수정수행여부 | aplnMdfyActYn | String | ||
| 본문수정권한여부 | contentsMdfyPmtYn | String | Y | |
| 본문수정수행여부 | contentsMdfyActYn | String | ||
| 첨부파일정보 | attachments | JSONList | ||
| 첨부파일명 | attachfileName | JSON String | test.txt | |
| 첨부파일사이즈 | attachfileSize | String | 140 | byte단위 |
| 순번 | seq | String | 0 | |
| 결재 ID | apId | String | test1e1703024e9cbdd0e79569dbb458 |
| Request | Response |
|---|
/approval/api/v2.0/approvals/TEST0000000000002120190514143359/detail
|
{
"result": "success",
"data": {
"contentsType": "TEXT",
"sbmDt": "20231004061200",
"sbmLang": "ko",
"apInfId": "TEST0000000000002120190514143359",
"systemId": "KCC98REST00008",
"notifyOption": "1",
"urgYn": "0",
"docSecuType": "PERSONAL",
"status": "1",
"timeZone": "GMT",
"subject": "Test application",
"aplns": [
{
"actPrssDt": "20231004061200",
"docOpenDt": null,
"docArvDt": "20231004061200",
"opinion": "",
"companyCode": "C98",
"companyName": "삼성 Intranet",
"departmentCode": "H66329",
"departmentName": "autotest",
"epId": "M071015062623C988403",
"emailAddress": "qtp03@stage.samsung.com",
"userId": null,
"name": "qtp03",
"jobPositionCode": "J2",
"jobPosition": "사원",
"subOrgCode": "C98S02",
"subOrgName": "개발총괄",
"seq": "0",
"role": "0",
"aplnStatsCode": "0",
"arbPmtYn": "Y",
"arbActYn": "N",
"rsrvSbmDt": null,
"subSeq": null,
"titleCode": "J2",
"titleName": "사원",
"dlgAprEpid": null,
"aplnMdfyPmtYn": "Y",
"prxAprYn": "N",
"contentsMdfyPmtYn": "Y",
"contentsMdfyActYn": "N",
"aplnMdfyActYn": "N"
},
{
"actPrssDt": "",
"docOpenDt": null,
"docArvDt": "20231004061200",
"opinion": "",
"companyCode": "C60",
"companyName": "삼성SDS",
"departmentCode": "V8TESTGROUP",
"departmentName": "V8 테스트그룹",
"epId": "M071015063405C983280",
"emailAddress": "qtp06@stage.samsung.com",
"userId": null,
"name": "qtp06",
"jobPositionCode": "G0H0",
"jobPosition": "자문역",
"subOrgCode": "ASIZE01",
"subOrgName": "첨부용량",
"seq": "1",
"role": "1",
"aplnStatsCode": "0",
"arbPmtYn": "Y",
"arbActYn": "N",
"rsrvSbmDt": null,
"subSeq": null,
"titleCode": "G0H0",
"titleName": "자문역",
"dlgAprEpid": null,
"aplnMdfyPmtYn": "Y",
"prxAprYn": "N",
"contentsMdfyPmtYn": "Y",
"contentsMdfyActYn": "N",
"aplnMdfyActYn": "N"
}
],
"attachments": [
{
"seq": "0",
"attachfileName": "test.txt",
"attachfileSize": 23
}
]
}
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 404 | APE020 | 해당 연계 ID의 결재문서는 존재하지 않습니다. |
/approval/api/v2.0/approvals/{apInfId}/content
결재 연계 ID를 이용하여 결재문서의 본문을 조회 할 수 있습니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계ID | apInfId | Y | Path | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 결재본문정보 | data | JSON String | ||
| 본문종류 | contentsType | String | TEXT | TEXT,HTML,MIME |
| 결재본문 | contents | String | TEST | |
| 결재연계ID | apInfId | String | TEST1A000A11ACa02CVQ1A0CA4CA33C1 |
| Request | Response |
|---|
/approval/api/v2.0/approvals/TEST0000000000002120190514143359/content |
{
"result": "success",
"data": {
"contents": "test",
"contentType": "TEXT",
"apInfId": "TEST0000000000002120190521110026"
}
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 404 | APE020 | 해당 연계 ID의 결재문서는 존재하지 않습니다. |
/approval/api/v2.0/approvals/status
결재 연계 ID를 이용하여 결재문서의 상황을 조회 할 수 있습니다.(최대 1000건)
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계 시스템 ID | System-ID | Y | Header | String | CXXREST0001 | |
| 2 | 연계 ID 리스트 | apinfids | Y | Body | JSONList | 최대 1000개 | |
| 3 | 연계 ID | apinfid | Y | Body | String | 최대 1000개 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 결재상세정보 | data | JSONList | ||
| 결재연계ID | apInfId | String | TEST1A000A11ACa02CVQ1A0CA4CA33C1 | 리턴받은 결재 아이디를 이용하여, 상황조회 및 상신취소가 가능합니다. |
| 문서변경횟수 | docChgNum | String | 0 | |
| 결재상태정보 | status | String | 1 | 암호화실패(-3),암호화중(-2), 예약상신(-1),보류(0),진행중(1),완결(2),반려(3),상신취소(4),전결(5),후완결(6) |
| Request | Response |
|---|
/approval/v2.0/approvals/status
body:
[
{"apinfid":"TEST0000000000002120190521155428"},
{"apinfid":"TEST0000000000002120190521155422"}
]
|
{
"result": "success",
"data": [
{
"apInfId": "TEST0000000000002120190521155428",
"docChgNum": "0",
"status": "1"
},
{
"apInfId": "TEST0000000000002120190521155422",
"docChgNum": "1",
"status": "2"
}
]
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 400 | APE022 | 최대 1000개의 요청만 가능합니다. |
/approval/api/v2.0/approvals/apinfids
결재 ID를 이용하여 결재연계 ID를 조회 할 수 있습니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계 시스템 ID | System-ID | Y | Header | String | CXXREST0001 | |
| 2 | 결재 ID | apId | Y | Query | String | test1e1703024e9cbdd0e79569dbb458 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 결재연계ID정보 | data | JSON String | ||
| 결재 ID | apId | String | test1e1703024e9cbdd0e79569dbb458 | |
| 연계ID | apInfId | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
| 연계 시스템 ID | systemId | String | CXXREST0001 |
| Request | Response |
|---|
/approval/api/v2.0/approvals/apinfids?apId=testd269bd3743ca8a0b4c0e7d9de5af |
{
"result": "success",
"data": {
"apId": "test1e1703024e9cbdd0e79569dbb458",
"apInfId": "TEST0000000000002120190517133353",
"systemId": "C60REST0001"
}
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 400 | APE001 | 데이터가 필요합니다. | |
| 404 | APE021 | 해당 결재 ID의 결재문서는 존재하지 않습니다. |
/approval/api/v2.0/approvals/submission
요청 연계시스템ID로 연계 상신처리된 상신자의 상신함의 정보를 조회 할 수 있습니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계 시스템 ID | System-ID | Y | Header | String | CXXREST0001 | |
| 2 | EPID | epId | Y | Query | String | M071015062623C9884 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 3 | 사용자ID | userId | Y | Query | String | qtp03 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 4 | 사용자이메일 | emailAddress | Y | Query | String | qtp03@stage.sasmung.com | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 결재연계정보 | data | JSONList | ||
| 결재제목 | subject | String | 근태신청 | |
| 연계ID | apInfId | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
| 결재관계자회사코드 | companyCode | String | C98 | |
| 결재관계자회사명 | companyName | String | SAMSUNG | |
| 결재관계자총괄코드 | subOrgCode | String | C98S01 | |
| 결재관계자총괄명 | subOrgName | String | 개발총괄 | |
| 결재관계자부서코드 | departmentCode | String | C98S0201 | |
| 결재관계자부서명 | departmentName | String | 개발1팀 | |
| 결재관계자 직급코드 | titleCode | String | B3P1 | |
| 결재관계자 직급명 | titleName | String | Engineer | |
| EPID | epId | String | M071015062623C9884 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 결재관계자 이름 | name | String | qtp03 | |
| 상신일시 | sbmDt | String | 20190524145033 | |
| 결재상태정보 | status | String | 1 | 암호화실패(-3),암호화중(-2), 예약상신(-1),보류(0),진행중(1),완결(2),반려(3),상신취소(4),전결(5),후완결(6) |
| Request | Response |
|---|
/approval/api/v2.0/approvals/submission?epId=M071015062623C988403
|
{
"result": "success",
"data": [
{
"subject": "Test application",
"apInfId": "TEST0000000000002120190514143359",
"compCode": "C98",
"compName": "삼성 Intranet",
"deptCode": "H66329",
"deptName": "autotest",
"jobPosition": "사원",
"jobPositionCode": "J2",
"subOrgCode": "C98S02",
"subOrgName": "개발총괄",
"epId": "M071015062623C988403",
"name": "qtp03",
"sbmDt": "20231004061200",
"status": "1",
"companyCode": "C98",
"companyName": "삼성 Intranet",
"departmentCode": "H66329",
"departmentName": "autotest",
"titleName": "사원",
"titleCode": "J2"
},
{
"subject": "Test application",
"apInfId": "TEST0000000000002120190514143359",
"compCode": "C98",
"compName": "삼성 Intranet",
"deptCode": "H66329",
"deptName": "autotest",
"jobPosition": "사원",
"jobPositionCode": "J2",
"subOrgCode": "C98S02",
"subOrgName": "개발총괄",
"epId": "M071015062623C988403",
"name": "qtp03",
"sbmDt": "20231004061200",
"status": "1",
"companyCode": "C98",
"companyName": "삼성 Intranet",
"departmentCode": "H66329",
"departmentName": "autotest",
"titleName": "사원",
"titleCode": "J2"
}
]
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 400 | APE001 | 데이터가 필요합니다. |
/approval/api/v2.0/approvals/apinfidinfos
요청 연계시스템ID에서 상신된 결재문서의 연계 이력을 조회 할 수 있습니다. 조회 기준일시 이하 조회 기간(분) 동안 호출 계정의 결재건 정보 리턴 (상신, 결재승인, 경로변경, 본문수정 등 결재건 처리 시)
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계 시스템 ID | System-ID | Y | Header | String | CXXREST0001 | |
| 2 | 조회기준일시 | endDate | Y | Query | String | 201905211500 | 조회의 기준시간 해당 일자 이하로 조회 yyyyMMddHHmm 형식 |
| 3 | 페이지번호 | page | N | Query | String | 1 | paging 처리 |
| 4 | 조회기간 | duration | N | Query | String | 1 | 단위 : 분 / 최소 1분 ~ 최대 60분 default : 1 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 순번 | seq | String | 1 | |
| 결재연계정보 | data | JSONList | ||
| 순번 | seq | String | 1 | |
| 연계ID | apInfId | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
| 전체 데이터 개수 | totalCount | String | 2 | |
| 전체 페이지 개수 | seq | String | 1 | |
| 페이지번호 | seq | String | 1 |
| Request | Response |
|---|
/approval/v2.0/approvals/apinfidinfos?endDate=201905211500 |
{
"result": "success",
"data": [{
"seq": 1,
"apInfId": "TEST0000000000002120190521155428",
"totalcount": 6,
"totalpage": 1,
"currentpage": 1
},
{
"seq": 2,
"apInfId": "TEST0000000000002220190521155428",
"totalcount": 6,
"totalpage": 1,
"currentpage": 1
},
{
"seq": 3,
"apInfId": "TEST0000000000002220190521155428",
"totalcount": 6,
"totalpage": 1,
"currentpage": 1
},
{
"seq": 4,
"apInfId": "TEST0000000000002120190521155759",
"totalcount": 6,
"totalpage": 1,
"currentpage": 1
},
{
"seq": 5,
"apInfId": "TEST0000000000002220190521155759",
"totalcount": 6,
"totalpage": 1,
"currentpage": 1
},
{
"seq": 6,
"apInfId": "TEST0000000000002220190521155759",
"totalcount": 6,
"totalpage": 1,
"currentpage": 1
}
]
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 400 | APE001 | 데이터가 필요합니다. | |
| 400 | APE002 | 입력된 데이터 형식이 잘못되었습니다. |
/approval/api/v2.0/approvals/{apInfId}/cancel
연계 ID에 해당하는 결재문서를 상신취소처리 할 수 있습니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계ID | apInfId | Y | Path | String | TEST0000000000002120190523185902 | 32자리의 고유 결재값 |
| 2 | 상신취소의견 | opinion | Y | Query | String | 상신취소드립니다 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| API 호출 성공여부 | result | String | success | |
| 결재연계ID정보 | data | JSON String | ||
| 결재연계ID | apInfId | String | TEST1A000A11ACa02CVQ1A0CA4CA33C1 | 리턴받은 결재 아이디를 이용하여, 상황조회 및 상신취소가 가능합니다. |
| Request | Response |
|---|
/approval/api/v2.0/approvals/TEST0000000000002120190521110026/cancel?opinion=reject |
{
"result": "success",
"data": {
"apInfId": "TEST0000000000002120190521110026"
}
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 400 | APE001 | 데이터가 필요합니다. | |
| 400 | APE002 | 입력된 데이터 형식이 잘못되었습니다. | |
| 404 | APE020 | 해당 연계 ID의 결재문서는 존재하지 않습니다. | |
| 400 | APE023 | 해당 결재 ID의 결재문서는 이미 완결 혹은 상신취소처리 되었습니다. |
/approval/api/v2.0/approvals/ownaplnlist
개인별 저장된 결재경로 목록을 조회 할 수 있습니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계 시스템 ID | System-ID | Y | Header | String | CXXREST0001 | |
| 2 | EPID | epId | N | Query | String | M071015062623C9884 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 3 | 사용자ID | userId | N | Query | String | test | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 4 | 사용자이메일 | emailAddress | N | Query | String | test@stage.samsung.com | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| 저장된 결재경로ID | pslAplnId | String | 168cf04db4aa4e64b010f434d9088312 | |
| 저장된 결재경로이름 | pslAplnNm | String | TEST | |
| 등록자EPID | ownEpid | String | M201026053604S204412 |
| Request | Response |
|---|
/approval/api/v2.0/approvals/ownaplnlist?emailAddress=test@stage.samsung.com |
{
"result": "success",
"data": [
{
"pslAplnId": "168cf04db4aa4e64b010f434d9088312",
"pslAplnNm": "TEST",
"ownEpid": "M201026053604S204412"
},
{
"pslAplnId": "876f1522d1e440288f5ad4fbda42d712",
"pslAplnNm": "TEST2",
"ownEpid": "M201026053604S204412"
}
]
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 400 | APE001 | 데이터가 필요합니다. | |
| 404 | APE030 | 저장된 결재경로가 없습니다. |
/approval/api/v2.0/approvals/{pslAplnId}/ownaplndetail
개인별 저장된 결재경로 목록을 조회 할 수 있습니다.
Request Parameter
| No. | Properties | Attribute | Mandatory | Parameter Type | Data Type | Sample Data | Note |
|---|
| 1 | 연계 시스템 ID | System-ID | Y | Header | String | CXXREST0001 | |
| 2 | 저장된 결재경로ID | pslAplnId | N | Path | String | 168cf04db4aa4e64b010f434d9088312 |
Response Parameter
| Properties | Attribute | Data Type | Sample Data | Note |
|---|
| 저장된 결재경로ID | pslAplnId | String | 168cf04db4aa4e64b010f434d9088312 | |
| EPID | epId | String | M071015062623C9884 | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 순번 | seq | String | 1 | |
| 설정구분 | role | String | 0 | 기안(0), 결재(1), 합의(2), 후결(3), 병렬합의(4), 병렬결재(7), 통보(9)
(후결자는 최대 1명, 병렬결재 & 병렬합의자는 최소 2명 이상) |
| 국문이름 | fnm | String | test | |
| 영문이름 | enFnm | String | OneTest | |
| 사용자이메일 | emailAddress | String | test@stage.samsung.com | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| 사용자ID | userId | String | test | 속성 한가지와 조합하여 사용 우선순위 userId > epId > emailAddress |
| Request | Response |
|---|
/approval/api/v2.0/approvals/168cf04db4aa4e64b010f434d9088312/ownaplndetail |
{
"result": "success",
"data": [
{
"pslAplnId": "168cf04db4aa4e64b010f434d9088312",
"epId": "M201026053604S204412",
"seq": "0",
"role": "0",
"fnm": "test",
"enFnm": "OneTest",
"emailAddress": "test@stage.samsung.com",
"userId": "test"
},
{
"pslAplnId": "168cf04db4aa4e64b010f434d9088312",
"epId": "M201026053604S204412",
"seq": "1",
"role": "1",
"fnm": "test2",
"enFnm": "TwoTest",
"emailAddress": "test2@stage.samsung.com",
"userId": "test2"
},
{
"pslAplnId": "168cf04db4aa4e64b010f434d9088312",
"epId": "M201026053604S204412",
"seq": "2",
"role": "1",
"fnm": "test3",
"enFnm": "ThreeTest",
"emailAddress": "test3@stage.samsung.com",
"userId": "test3"
}
]
}
|
Error Code
| HTTP응답코드 | 에러코드 | 에러메시지 | 조치방안 |
|---|
| 404 | APE030 | 저장된 결재경로가 없습니다. |