소명 제출 가능 여부 조회

지정한 소명 요청에 대해 소명을 제출할 수 있는지 확인합니다. 소명 제출은 소명 요청 제출 API로 수행합니다.

필요 권한

소명 조회 권한을 가진 사용자 이상의 계정으로 이용하거나, 소명 요청 시 발급된 소명 토큰으로 세션 인증 없이 이용할 수 있습니다.

HTTP 요청

GET /api/sonar/explanation-requests/:guid/explainable
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     "https://HOSTNAME/api/sonar/explanation-requests/49272877-75f2-4c2f-9301-d21c4f9a106d/explainable?type=EXPLANATION"
요청 매개변수
경로 매개변수
타입설명비고
guid문자열소명 요청 GUID36자
쿼리 매개변수
필수타입설명비고
typeO문자열소명 유형EXPLANATION, MANAGER_COMMENT, AUDITOR_COMMENT 중 하나
tokenX문자열소명 토큰세션 인증 대신 사용

정상 응답

소명 제출이 가능한 경우 explainable 값으로 null을 반환합니다.

{
  "explainable": null
}

소명 제출이 불가능한 경우 explainable 값으로 사유 코드를 반환합니다.

{
  "explainable": "already-submitted"
}
  • explainable (문자열): 소명 제출이 가능하면 null, 불가능하면 사유 코드입니다. 사유 코드는 다음 중 하나입니다.
    • request-not-found: 소명 요청이 존재하지 않음
    • already-closed: 이미 종료된 소명 요청
    • invalid-session: 유효한 세션이 없음
    • not-employee: 임직원 정보가 없음
    • no-permission: 소명 검토 권한이 없음
    • not-submitted: 아직 소명이 제출되지 않음(검토 유형)
    • already-submitted: 이미 소명이 제출됨
    • in-review: 검토가 진행 중임
    • before-created-at: 소명 요청 시작 시각 이전임
    • after-expired-at: 소명 마감 시한이 지남
    • invalid-type: 지원되지 않는 소명 유형

오류 응답

type이 누락된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "null-argument",
  "error_msg": "type should be not null"
}
type이 지원되지 않는 값인 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "No enum constant com.logpresso.sonar.api.explanation.ExplanationType.INVALID"
}
guid가 GUID 형식이 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-param-type",
  "error_msg": "guid should be guid type."
}
권한이 없거나 토큰이 유효하지 않은 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "no-permission"
}