소명 요청 제출
소명 요청에 대한 답변을 제출하고 소명 상태를 변경합니다. 제출 가능 여부는 소명 제출 가능 여부 조회 API로 미리 확인할 수 있습니다.
필요 권한
소명 검토 권한을 가진 계정으로 이용하거나, 소명 요청 시 발급된 소명 토큰으로 세션 인증 없이 이용할 수 있습니다.
HTTP 요청
POST /api/sonar/explanation-requests/:request_guid
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
-d 'type=EXPLANATION' \
-d 'status=SUBMITTED' \
-d 'result=0' \
--data-urlencode 'content=정상적인 업무 목적의 시스템 접근입니다.' \
-X POST \
https://HOSTNAME/api/sonar/explanation-requests/49272877-75f2-4c2f-9301-d21c4f9a106d
요청 매개변수
경로 매개변수
| 키 | 타입 | 설명 | 비고 |
|---|---|---|---|
| request_guid | 문자열 | 소명 요청 GUID | 36자 |
요청 본문 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| type | O | 문자열 | 소명 유형 | EXPLANATION, MANAGER_COMMENT, AUDITOR_COMMENT 중 하나 |
| token | X | 문자열 | 소명 토큰 | 세션 인증 대신 사용 |
| status | O | 문자열 | 소명 상태 | NEW, SUBMITTED, MANAGER_REJECTED, MANAGER_CLOSED, AUDITOR_SUBMITTED, AUDITOR_REJECTED, AUDITOR_CLOSED 중 하나 |
| result | O | 32비트 정수 | 소명 결과 | 강제 종료(MANAGER_CLOSED, AUDITOR_CLOSED) 시 위반이면 1, 정상이면 0으로 기록됩니다. |
| content | O | 문자열 | 소명 내용 |
정상 응답
{}
오류 응답
type이 누락된 경우
HTTP 상태 코드 400 응답
{
"error_code": "null-argument",
"error_msg": "type should be not null"
}
status가 지원되지 않는 값인 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "No enum constant com.logpresso.sonar.api.explanation.ExplanationStatus.INVALID"
}
result가 누락된 경우
HTTP 상태 코드 400 응답
{
"error_code": "null-argument",
"error_msg": "result should be not null"
}
request_guid가 GUID 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-param-type",
"error_msg": "request_guid should be guid type."
}
소명 제출이 불가능한 경우
HTTP 상태 코드 500 응답입니다. 사유 코드는 소명 제출 가능 여부 조회 API로 확인할 수 있습니다.
{
"error_code": "illegal-state",
"error_msg": "already-submitted"
}
감사자 의견 제출 시 임직원 정보가 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "not-employee"
}
권한이 없거나 토큰이 유효하지 않은 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}