OpenAPI 오류코드

ScienceON API Gateway는 HTTP 상태 코드(HTTP status code)로 API 처리 결과를 응답합니다.
오류 발생 시, 상태 코드는 오류 유형에 따라 XML 혹은 JSON 형태로 오류 메시지를 반환합니다.
사용자는 오류 메시지를 파싱하여 적절한 조치를 취할 수 있습니다.

주요 HTTP 상태 코드(오류 유형)

ScienceON에서는 다음 6개의 HTTP status code를 사용한다.
정상 호출: HTTP 상태 코드는 '200'이며, 각 API별로 지정된 형식의 결과값을 반환받습니다.
비정상 호출: HTTP 상태 코드는 400번대와 500번대이며, 각 상태코드별로 지정된 상세 오류 코드와 오류 메시지를 반환받습니다.
Status Code Status Message Description
200 OK 정상 호출인 경우
400 Bad Request Request 데이터에 올바르지 못한 값이 있는 경우
401 Unauthorized 인증이 실패한 경우
403 Forbidden 인증과 상관없이 액세스 금지된 경우
404 Not Found Resource가 존재하지 않는 경우
500 Internal Server Error 제공 API 측 문제로 인한 실패한 경우

오류 메시지 형식

오류 메시지는 XML 형식 또는 JSON 형식으로 반환됩니다.
API 응답 상태는 statusCode와 statusMessage로 표현되며, 오류 발생 경우에 따라 오류 내용을 errorMessage와 errorCode로 표현하여 상태 코드와 함께 사용자에게 반환합니다.
토큰 발급과 관련된 오류 메시지는 JSON형식의 오류 메시지가 반환되며 그 외 API 이용에 대한 오류 메시지는 XML 형식의 오류 메시지를 반환합니다.
  • XML 형식의 오류 메시지

    <?xml version="1.0" encoding="UTF-8"?>
    <MetaData>
    <resultSummary>
        <statusCode>400</statusCode>
    </resultSummary>
    <errorDetail>
        <statusMessage>Bad Request</statusCode>
        <errorCode>E4002</errorCode>
        <errorMessage>필수 항목 미입력 오류</errorMessage>
    </errorDetail>
    </MetaData>
  • JSON 형식의 오류 메시지

    {
        "statusCode": "400",
        "statusMessage": "Bad Request",
        "errorCode": "E4005",
        "errorMessage": "(토큰발급용)필수 항목 미입력"
    }

HTTP 상태 코드별 주요 오류코드 및 메시지 설명

400("Bad Request")
  • Request 데이터에 올바르지 못한 값이 있는 경우에 발생하는 코드입니다. 필수항목이 값이 미입력 되었거나 요청 변수 값에 WAS서버에서 처리할 수 없는 문자가 들어 있는 경우 등 발생합니다.

    Error Code Error Message 출력형식 설명
    E4001 서버 에러(Bad Request) XML 클라이언트에서 잘못된 문법으로 리소스(URL)를 요청해서 서버가 요청을 이해할 수 없는 경우
    E4002 필수 항목 미입력 오류 XML 필수 요청 파라미터가 없거나 처리할 수 없는 특수문자 등이 들어가 있는 경우
    E4003 OpenAPI 버전 오류 XML OpenAPI 버전이 맞지 않는 경우
    E4004 숫자유형필드 입력 오류 XML 숫자유형필드에 문자가 입력된 경우
    E4005 (토큰발급용)필수 항목 미입력 JSON 토큰발급에 필요한 파라미터가 없는 경우
    E4006 (토큰발급용)MAC Address 확인 불가 JSON accounts 파라미터에서 MAC Address값을 추출할 수 없는 경우.암호화가 안되거나 잘못되어 있는 경우
    E4007 searchField 값 오류 XML 정의되지 않은 searchField 값을 사용한 경우
    E4008 target 값 오류 XML 정의되지 않은 target 값을 사용한 경우, 따라서 실행 API 정보 확인불가
    E4009 action 값 오류 XML 정의되지 않은 action 값을 사용한 경우, 따라서 실행 API 정보 확인불가
    E4010 call_apiid 값 오류 XML 정의되지 않은 call_apiid 값을 사용한 경우, 따라서 다중 API 정보 확인불가
    E4011 run_apiid , order 값 오류 XML 정의되지 않은 run_apiid , order 값을 사용한 경우, 따라서 다중 API의 이용순차 정보, 실행 API 정보 확인불가
    E4012 링크리졸버 API 필수 항목 미입력 오류 XML 링크리졸버 API의 파라메터 값 입력은 id(CN, DOI 등) 또는 atitle(논문명) 또는 issn, volume(권), issue(호), date(출판년), spage(시작페이지)의 값이 없는 경우
    E4013 (TEST TOKEN) 제공API 사용권한 없음 XML TEST TOKEN을 TEST 페이지 외에 사용한 경우
    E4014 include, exclude 동시 입력 오류 XML include와 exclude 파라미터가 동시에 입력 된 경우
    E4015 입력형식, 데이터 유효성 오류 XML 입력형식, 데이터 유효성이 일치하지 않는 경우
401("Unauthorized")
  • 클라이언트 인증이 실패한 경우 발생하는 코드입니다. 발급받은 클라이언트 ID나 Token 값이 잘못된 경우 혹은 신청기관 승인상태가 아닌 경우 발생합니다.

    Error Code Error Message 출력형식 설명
    E4101 서버 에러(Unauthorized) XML 인증되지 않은 사용자가 인증이 필요한 리소스를 요청하는 경우
    E4102 클라이언트 ID 값 오류 XML 클라이언트 ID가 미발급 또는 잘못된 값으로 호출한 경우
    E4103 Access Token 값 오류 XML Access Token 값이 잘못되거나 기간이 만료된 경우
    E4104 승인상태가 아닌 경우 XML API Gateway 신청정보가 승인상태가 아닌 경우(미승인, 이용중지, 이용취소 등)
    E4105 (토큰발급용)클라이언트 ID 값 오류 XML 클라이언트 ID가 미발급 또는 잘못된 값으로 호출한 경우
    E4106 (토큰발급용)Refresh Token 값 오류 JSON Refresh Token 값이 잘못되거나 기간이 만료된 경우
    E4107 (토큰발급용)MAC Address 값 오류 JSON accounts 파라미터에서 추출한 MAC Address값이 제출된 MAC Address와 불일치한 경우
    E4108 (토큰발급용)승인상태가 아닌 경우 JSON API Gateway 신청정보가 승인상태가 아닌 경우(미승인, 이용중지, 이용취소 등)
403("Forbidden")
  • 인증된 사용자가 사용 권한이 없는 API를 호출할 경우 발생하는 코드입니다. 입력 파라미터의 Target 및 Action은 서버에서 정상 식별되지만, API 호출 권한이 없을 때 발생합니다.

    Error Code Error Message 출력형식 설명
    E4301 서버 에러(Forbidden) XML 클라이언트가 접근이 금지된 리소스(URL)를 요청한 경우
    E4301 API 사용권한 없음 XML API 사용 권한이 없는 경우
404("Not Found")
  • 요청한 URL 페이지 정보가 존재하지 않거나 API를 식별할 수 없는 경우 발생하는 코드입니다. 잘못된 URL 호출 및 정의되지 않는 target 및 action 값을 호출한 경우 발생합니다.

    Error Code Error Message 출력형식 설명
    E4401 요청 URL 오류(Not Found) XML 클라이언트가 요청한 리소스(URL)가 존재하지 않아서 찾을 수 없는 경우
    E4402 제공 API 식별 오류 XML 클라이언트가 요청한 리소스(URL)는 존재하지만 파라메터 target값과 action값이 맞지 않아서 제공 API를 식별할 수 없는 경우
500("Internal Server Error")
  • API 호출은 정상이지만, WAS나 검색엔진 시스템 오류로 인한 에러가 발생하였을 경우 발생하는 코드입니다.

    Error Code Error Message 출력형식 설명
    E5001 내부 서버 에러(Internal Server Error) XML API 호출은 정상이지만 처리 도중에 시스템 내부 에러가 발생한 경우
    E5002 검색중 오류 발생 XML 검색엔진 또는 다른 문제로 검색 도중 오류가 발생한 경우
    E5003 알 수 없는 오류 XML 알 수 없는 여러가지 요인으로 오류가 발생한 경우