개발가이드

HOME 개발가이드

OpenAPI 서비스 개요

개요
인터넷 이용자가 웹 검색 결과 및 사용자인터페이스(UI) 등을 제공받는 데 그치지 않고 직접 응용 프로그램과 서비스를 개발할 수 있도록 공개된 API입니다.


사전준비사항
Open API 서비스를 이용하기 위해서는 아래 절차에 따라 인증키 신청을 하시기 바랍니다.
1. 회원가입
2. Key발급
3. 신고인기본값 설정

서비스 API 참조

요청 정보

API종류 URL 프로토콜 메서드 등 항목으로 구성된 서비스API 참조 관련 표입니다.
API 종류 선적요청서 수신 URL /api/cipl/shippingReqRecv.json
프로토콜 HTTPS 버전 1.0
HTTP 메서드 POST 월 최대거리 건수 300000
일 최대호출 건수 10000 회당 처리 건 999
공개 여부 Y Method방식 POST
유료 여부 N 게시시작일자 2020-11-06
URL 호출(테스트) https://testapi.utradehub.or.kr/RPA/shippingReqRecv/api/cipl/shippingReqRecv.json
URL 호출(운영) https://kapi.utradehub.or.kr/RPA/shippingReqRecv/api/cipl/shippingReqRecv.json

Open API 인증키 사용 제한 기준

구분 method content type data format 항목으로 구성된 Open API 인증키 사용 제한 기준 표입니다.
구분 Method Content-Type Data Format
요청 POST Application/json JSON
응답 Application/json JSON

요청 JSON 데이터 파라미터 정의(M:필수 , O:비필수)

json key 데이터 타입 설명 샘플 항목으로 구성된 요청 json 데이터 파라미터 정의 표입니다.
JSON Key 반복 필수 데이터타입 설명 샘플
ReqeustId N M VARCHAR(15) 화주/포워더의 사업자번호 1208102922
DocumentTypeCode N M VARCHAR(3) 요청문서구분 SR1
DocCount N M NUMBER 신청갯수 2
DocList Y O LIST 결과요청신청서. DocCount만큼 반복
ShippingRequestNo N M VARCHAR(35) 선적요청서번호 INV20200918-001-01
※ 이하 생략

API테스트

API 테스트

1. 요청데이터에 값 입력

2. "전송"버튼 클릭 후 응답 데이터 확인

<정상응답>

{
  "TotalCount": 1,
  "ErrorCount": 0,
  "ResultList": [
    {
      "SellerPartyId": "BIGDAE42",
      "OrgSeq": 0,
      "ResultTypeCode": "220",
      "ErrorDescription": "",
      "OrderNo": "101000856",
      "RequestNo": "20200309123106_101000856"
    }
  ]
}						
<오류응답>

{
  "TotalCount": 1,
  "ErrorCount": 1,
  "ResultList": [
    {
      "SellerPartyId": "BIGDAE42",
      "OrgSeq": 0,
      "ResultTypeCode": "-1",
      "ErrorDescription": "주문번호와  수출신고번호를 다시 확인해 주십시요."
    }
  ]
}

						

응답코드

json key 데이터 타입 설명 샘플 항목으로 구성된 요청 json 데이터 파라미터 정의 표입니다.
코드 코드상태 설명
220 SUCCESS 정상적으로 전송
421 잘못된 요청 api_consumer_key 또는 MallID인증정보 미존재 시
422 잘못된 요청 항목오류로 요청구조 오류, 필수항목 누락 등
500 내부 시스템 처리 오류 내부 시스템에서 발생한 오류
-1 Business 처리 오류 업무정합성 검증 오류

API 구현예제


import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;

public class APIExam {

    public static void main(String[] args) {
        try {
            String lineEnd = "\r\n";

            String apiURL = "https://testcbtapi.utradehub.or.kr/api/export/expFulfillmentStatus.do";
            String body = "{" +
                    "\"DocCount\": 1," +
                    "\"DocList\": [" +
                    "{" +
                    "\"SellerPartyId\": \"BIGDAE42\"," +
                    "\"InquiryNo\": \"771113332535\"," +
                    "\"InquiryTypeCode\": \"BL\"" +
                    "}" +
                    "]" +
                    "}";

            body = new String(body.getBytes("utf-8"));
            System.out.println(body);
            URL url = new URL(apiURL);
            HttpURLConnection con = (HttpURLConnection)url.openConnection();
            con.setRequestMethod("POST");
            con.setRequestProperty("api_consumer_key", "인증키");
            con.setRequestProperty("Content-Type", "application/json; utf-8");

            con.setDoOutput(true);
            DataOutputStream wr = new DataOutputStream(con.getOutputStream());
            wr.write(body.getBytes("utf-8"));
            wr.flush();
            wr.close();

            int responseCode = con.getResponseCode();
            BufferedReader br;
            if(responseCode==220) { // 정상 호출
                br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
            } else {  // 에러 발생
                br = new BufferedReader(new InputStreamReader(con.getErrorStream(), "UTF-8"));
            }

            String inputLine;
            StringBuffer response = new StringBuffer();
            while ((inputLine = br.readLine()) != null) {
                response.append(inputLine);
            }
            br.close();
            System.out.println(response.toString());

        } catch (Exception e) {
            System.out.println(e);
        }
    }

}