728x90
반응형

어떤 API를 사용하는가?

https://www.data.go.kr/

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

위 링크를 통해 들어가면 공공데이터 및 API들을 제공해 준다.

상상 이상으로 다양한 데이터들이 있고 제공해 주는 API가 많아서 기존 서비스에도 재공학이 가능할 듯싶다.

현재 개발 중인 페이지에서 사업자등록번호 등록 여부와 상태 확인이 필요함으로 다음 섹션에서 활용 방법을 살펴보자.

 

사용 방법

1. 공공데이터포털 접속 후 회원가입 진행

2. 로그인 후 API 활용 신청

위 검색창에 [사업자등록정보]를 입력하면 아래와 같이 [오픈 API] 영역에 [국세청_사업자등록정보 진위확인 및 상태조회 서비스]가 검색된다.

위 이미지에서 보이는 [활용신청]을 통해서 개인인증키를 발급받는다.

 

3. 실제 코드 구현하기

<!-- 아래 코드에 모든 소스 코드가 담겨 있지 않으므로 일부 수정 및 추가가 필요합니다. -->
<!-- jQuery, Ajax를 활용함으로 jQuery 사용이 필요합니다. -->

<script language="javascript">
   function code_check(){
   	if(!checkInput_null('frm1','code1,code2,code3')){ frm1.overlap_code_ok.value = "";}
    else{
    	document.frm1.code.value = frm1.code1.value + frm1.code2.value + frm1.code3.value;
		var data = {
			"b_no":[document.frm1.code.value]	
		};
   			
   			$.ajax({
   		        url: "https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=[서비스키]", //활용 신청 시 발급 되는 serviceKey값을 [서비스키]에 입력해준다.
   		        type: "POST",
   		        data: JSON.stringify(data), // json 을 string으로 변환하여 전송
   		        dataType: "JSON",
   		        traditional: true,
   		        contentType: "application/json; charset:UTF-8",
   		        accept: "application/json",
   		        success: function(result) {
   		            console.log(result);
   		            if(result.match_cnt == "1") {
                    	//성공
   		                console.log("success");
   		             	document.frm1.submit();
   		            } else {
                    	//실패
   		                console.log("fail");
   		                alert(result.data[0]["tax_type"]);
   		            }
   		        },
   		        error: function(result) {
   		            console.log("error");
   		            console.log(result.responseText); //responseText의 에러메세지 확인
   		        }
   		    });
 		}
   }
</script>

<form name="frm1" method="post" action="..">
<table class="tb_board_1">
	<tr>
		<th scope="row">사업자등록번호</th>
		<td  class="left_5">
			<div>
                <input type="text" name="code1" value="" size="3" alt="사업자등록번호1" style="ime-mode:disabled;" maxlength="3">
                -<input type="text" name="code2" value="" size="2" alt="사업자등록번호2" style="ime-mode:disabled;" maxlength="2">
                -<input type="text" name="code3" value="" size="5" alt="사업자등록번호3" style="ime-mode:disabled;" maxlength="5">
            </div>
			<span style="cursor:hand" onclick="code_check();">확인</span>
		</td>
	</tr>
</table>
</form>

 

4. 유의사항

  • API 호출 1회당 최대 100개에 해당하는 사업자등록정보의 진위확인 또는 상태조회 가능
  • GET이 아닌 POST 메서드로 제공
  • 숫자로 이루어진 13자리 값만 가능하므로 ('-' 등의 기호는 제거가 필요하므로 필자는 아래 이미지와 같이 생성함)

 

마무리

위 input에 사업자등록번호 입력 시,

성공일 경우 콘솔에서 JSON 형태로 사업자번호, 계속사업자, 일반과제자 등 상태 조회가 가능하다.

실패일 경우 Alert으로 '국세청에 등록되지 않은 사업자등록번호입니다.'라고 출력된다.

위 내용을 참조하여 내가 원하는 방식으로 사용자에게 출력해 주면 된다.


728x90
반응형