소명 제출 가능 여부 조회
지정한 소명 요청에 대해 소명을 제출할 수 있는지 확인합니다. 소명 제출은 소명 요청 제출 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 | 문자열 | 소명 요청 GUID | 36자 |
쿼리 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| type | O | 문자열 | 소명 유형 | EXPLANATION, MANAGER_COMMENT, AUDITOR_COMMENT 중 하나 |
| token | X | 문자열 | 소명 토큰 | 세션 인증 대신 사용 |
정상 응답
소명 제출이 가능한 경우 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"
}