소명 요청 제출

소명 요청에 대한 답변을 제출하고 소명 상태를 변경합니다. 제출 가능 여부는 소명 제출 가능 여부 조회 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문자열소명 요청 GUID36자
요청 본문 매개변수
필수타입설명비고
typeO문자열소명 유형EXPLANATION, MANAGER_COMMENT, AUDITOR_COMMENT 중 하나
tokenX문자열소명 토큰세션 인증 대신 사용
statusO문자열소명 상태NEW, SUBMITTED, MANAGER_REJECTED, MANAGER_CLOSED, AUDITOR_SUBMITTED, AUDITOR_REJECTED, AUDITOR_CLOSED 중 하나
resultO32비트 정수소명 결과강제 종료(MANAGER_CLOSED, AUDITOR_CLOSED) 시 위반이면 1, 정상이면 0으로 기록됩니다.
contentO문자열소명 내용

정상 응답

{}

오류 응답

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"
}