본문으로 건너뛰기

에러 코드

개요

공급사(Vendor)는 온다(ONDA Hub)로부터 API 요청을 받았을 때 처리에 실패하거나 비즈니스 로직 상 오류가 발생한 경우, 표준 에러 응답 포맷을 사용해 응답해야 합니다.

온다는 공급사의 에러 응답을 수신하여 code 필드를 기반으로 표준 에러 코드로 분류하고, 예약 처리 결과에 반영합니다.


에러 응답 포맷

공급사는 아래 JSON 포맷으로 에러를 응답해야 합니다.

{
"code": "4000",
"error": "No rooms available for booking"
}
필드타입필수설명
codestring필수아래 에러 코드 목록에 정의된 숫자 코드 (예: "4000")
errorstring필수아래 목록에 정의된 영문 에러 메시지

에러 코드 목록

SYSTEM_ERROR — 시스템 오류

codeerrorHTTP설명
1000An error occurred during system processing500시스템 처리 중 오류가 발생했습니다

AUTH_ERROR — 인증/권한 오류

codeerrorHTTP설명
2000Access denied403접근 권한이 없습니다

VALIDATION_ERROR — 입력값 오류

codeerrorHTTP설명
3000Please check your input information400입력 정보를 확인해주세요

BUSINESS_ERROR — 비즈니스 로직 오류

가장 중요한 에러 코드

BUSINESS_ERROR는 예약 생성·확정·취소·조회 과정에서 발생하는 핵심 에러입니다. 공급사는 반드시 해당 상황에 맞는 코드를 정확히 반환해야 하며, 잘못된 코드 또는 누락 시 온다 시스템이 예약 처리를 올바르게 수행할 수 없습니다.

codeerrorHTTP설명
4000No rooms available for booking409예약 가능한 객실이 없습니다 (Create Reservation)
4001Requested amount differs from actual amount409요청 금액과 실제 금액이 다릅니다 (Create Reservation)
4002Minimum guest requirement not met409최소 예약 인원을 충족하지 않습니다 (Create Reservation)
4003Maximum guest capacity exceeded409예약 가능 인원을 초과했습니다 (Create Reservation)
4004Reservation not found404해당 예약을 찾을 수 없습니다 (Check Reservation)
4005Reservation already cancelled409이미 취소된 예약입니다 (Cancel Reservation)
4006Reservation cannot be cancelled409예약 취소가 불가능한 상태입니다 (Cancel Reservation)
4007Reservation cannot be confirmed409예약 확정이 불가능한 상태입니다 (Confirm Reservation)

UNKNOWN_ERROR — 알 수 없는 오류

codeerrorHTTP설명
9999An unknown error occurred500알 수 없는 오류가 발생했습니다

주의사항

  • code 필드 우선 사용: code 필드가 포함된 경우 온다는 해당 코드를 우선 사용합니다. code가 없거나 알 수 없는 값인 경우 error 메시지를 패턴 매칭으로 분류합니다.
  • error 필드는 위 목록의 영문 메시지를 사용해야 합니다. 임의의 문자열을 사용할 경우 온다가 에러를 올바르게 분류하지 못할 수 있습니다.
  • 정의되지 않은 코드: 위 목록에 없는 코드가 포함된 경우, 온다는 HTTP 상태코드 기반으로 에러를 분류하거나 9999 (UNKNOWN_ERROR)로 처리합니다.