에러 코드
카플랫 API가 응답하는 에러 코드를 설명합니다.
카플랫 API에서 발생할 수 있는 모든 에러 코드와 처리 방법을 설명합니다.
에러 응답 구조
API 요청이 실패하면 다음과 같은 구조로 에러 정보가 응답됩니다:
json
Loading...
응답 필드 설명
code(필수): 성공 또는 실패 여부를 나타내는 에러 코드message(필수): 에러 발생 사유를 설명하는 메시지result(선택): 에러 원인에 대한 추가 정보가 필요한 경우 포함
일반 에러 코드
400 Bad Request
| 에러 코드 | 메시지 예시 | 원인 | 처리 |
|---|---|---|---|
| E001 |
| HTTP 메시지 변환 불가할 때 | 데이터 포맷 및 유효 값 확인 |
| E001 |
| 유효성 검사가 실패할 때 | 데이터 포맷 및 유효 값 확인 |
| E001 |
| HTTP 메시지 변환 불가할 때 | 데이터 포맷 및 유효 값 확인 |
| E001 |
| 유효성 검사가 실패할 때 | 데이터 포맷 및 유효 값 확인 |
| E001 |
| 비즈니스 로직 상 유효성 검사 실패 | 데이터 포맷 및 유효 값 확인 |
| E004 |
| 기간 검색이 불가할 때 | 데이터 포맷 및 유효 값 확인 |
401 Unauthorized
| 에러 코드 | 메시지 예시 | 원인 | 처리 |
|---|---|---|---|
| A001 |
| 인증 실패 | 인증 확인 |
| A002 |
| 인증 실패 | 인증 확인 |
| A004 |
| 잘못된 인증 정보 | 인증 확인 |
404 Not Found
| 에러 코드 | 메시지 예시 | 원인 | 처리 |
|---|---|---|---|
| E002 |
| HTTP 리소스를 찾을 수 없을 때 | API 확인 (path) |
| E002 |
| HTTP 메소드를 지원하지 않을 때 | API 확인 (method) |
| E003 |
| 특정 리소스를 찾을 수 없을 때 | 식별값 (Id 값) 유효성 확인 |
409 Conflict
| 에러 코드 | 메시지 예시 | 원인 | 처리 |
|---|---|---|---|
| E010 |
| 데이터에 국한되지 않고 무결성 제약 조건을 위반 | 식별값 (Id 값) 정합성 확인 |
| E011 |
| 비즈니스 로직 상 특정 리소스 충돌 | 중복 확인 |
| E012 |
| 요청한 기준을 준수하는 리소스를 찾지 못할 때 | 요청 조건 확인 |
500 Internal Server Error
| 에러 코드 | 메시지 예시 | 원인 | 처리 |
|---|---|---|---|
| E051 |
| 지정된 SQL이 유효하지 않은 경우 | Database Mapper 확인 |
| E052 |
| RDBMS를 사용할 때 잘못된 SQL을 지정할 때 발생 | Database Mapper 확인 |
| E053 |
| 일시적이지 않은 것으로 간주되는 데이터 액세스 예외 | Database Mapper 확인 |
| E055 |
| 적절한 Exception 핸들링 미처리 | Handler 확인 |
| E050 |
| JDBC 오류 | Database 접속 상태 확인 |
503 Service Unavailable
| 에러 코드 | 메시지 예시 | 원인 | 처리 |
|---|---|---|---|
| E060 |
| 드물게 발생 할 수도 있는 알 수 없는 예외 | Handler 확인 |
| E061 |
| 외부 메시징 연동 서비스 예외 | 인포뱅크 연동 이력 확인 |
| E062 |
| 통신에 문제가 있어 정보를 불러오지 못했습니다. 잠시 후 다시 시도해 주세요 | |
| E063 |
| Error : 주소 변환에 실패하였습니다. 다시 시도해주세요 | |
| E064 | Kakao T rent 연동 서비스 에러 | Kakao 연동 이력 확인 | |
| E065 |
| Legacy(C# API 서버) 연동 에러 |
특수 에러 코드
특정 API 요청에서만 나타날 수 있는 실패 응답 코드입니다.
400 Bad Request (특수)
| 에러 코드 | 메시지 예시 | 원인 | 처리 |
|---|---|---|---|
| C001 |
| 비밀번호 변경 시 기존 비밀번호 불일치 예외 | |
| C002 |
| 상품 등록시 다른 상품에 등록되어 있는 차량을 등록하려는 경우 | 메시지 표시 + 데이터 리스트를 전달하여 표시 |
| C003 |
| 예약생성시 계산된 요금과 입력된 요금이 틀릴 경우(KM에서 예약 등록시 E012와 분리해달라는 요청으로 생성) | |
| C004 |
| 허용되지 않은 확장자로 업로드할 경우 (프론트 파일 업로드시 E012 에러코드와 분리해달라는 요청으로 생성) | |
| C005 |
| 예약 등록시 입력받은 조건에 해당하는 차량이 없는 경우(검색과 예약 사이에 다른 예약으로 등록된 경우 등)(KM에서 예약 등록시 E012와 분리해달라는 요청으로 생성) | |
| C006 |
| 단말기 연동 시, 연결 하려는 TID가 다른차량에 이미 연동 되어 있는지 유무를 확인 | |
| C008 |
| 오토비긴즈 차량정보 조회 실패시 사용. Carplat DB 의 데이터가 아니라 오토비긴즈 조회 결과가 없을 경우에 한해서만 사용. 기존에 별도의 로직으로 ResourceNotFoundException을 사용중이여서 별개 코드로 분리 | |
| E8000 |
| Otoplug 단말기 연동 에러 오류 발생 시 출력(KM API Response에 Otoplug 오류 코드를 그대로 전송, KM과 협의 완료) |
409 Conflict (특수)
| 에러 코드 | 메시지 예시 | 원인 | 처리 |
|---|---|---|---|
| C007 |
| 단말기 연동 시, 연동 시도 시의 정보와 현재 갱신 된 정보를 비교 하여 변경 유무를 확인 |
에러 처리 가이드
1. 클라이언트 에러 (4xx)
- 원인: 잘못된 요청 데이터, 인증 실패, 리소스 없음
- 처리: 요청 데이터 검증, 인증 정보 확인, API 문서 참조
2. 서버 에러 (5xx)
- 원인: 서버 내부 오류, 외부 서비스 연동 실패
- 처리: 잠시 후 재시도, 지속 시 관리자 문의
3. 특수 에러 (Cxxx)
- 원인: 특정 비즈니스 로직 위반
- 처리: 에러 메시지에 따른 데이터 수정 후 재시도