성실한 사람이 되자

성실하게 글쓰자

This is spear

Programming/Open API

국세청 사업자 등록정보 진위확인 및 상태조회 (공공데이터 포탈 오픈 API, POST 요청)

Imaspear 2021. 7. 5. 21:49
728x90

 

오픈 API 활용 신청하기!!

 

우선 공공데이터 포털을 이용하기 위해서는 이 사이트에 회원가입을 해야 합니다. 회원가입을 하고 나서 다음 단계로 넘어가 주세요

오픈 API를 사용하기 위해는 자신이 원하는 데이터를 직접 검색하여 오픈 API를 제공하는지를 먼저 확인해야 합니다. 파일 데이터 형식으로 데이터를 제공받을 수 있고, 오픈 API 형식으로도 제공받을 수 있지만 제공하지 않는 경우도 있습니다.

 

 

 

저는 메인 페이지 들어가자마자 나오는 팝업창에서 오픈 API를 제공하는 서비스를 이용해보려고 합니다. 그 중 국세청에서 제공하는 사업자등록정보를 이용해보도록 하겠습니다.

 

사업자 등록정보 진위확인 및 상태조회

 

클릭해 공지사항 페이지로 이동했습니다.

 

두개의 링크가 있는데 위의 링크를 서비스에 대한 자세한 내용과 활용신청할 수 있는 페이지로 들어갈 수 있고, 그 아래 링크는 엑셀 파일 업로드를 통해 사업자등록 상태 조회 오픈 API를 테스트해볼 수 있습니다. 

공지사항 페이지

 

 

사업자 등록정보 진휘확인 및 상태 조회 서비스에 대한 자세한 내용이 적혀있는 페이지입니다.

https://www.data.go.kr/data/15081808/openapi.do

 

국세청_사업자등록정보 진위확인 및 상태조회 서비스

국세청에서 제공하는 사업자등록정보 진위확인 및 사업자등록 상태조회 API 서비스입니다.

www.data.go.kr

 

 

상세 페이지에서 API에 대한 참조 문헌도 볼 수 있고 다른 내용들도 볼 수 있습니다. 

상세 페이지 

 

 

그중 데이터 활용 신청을 위해서 오른쪽 상단에 있는 '활용신청' 버튼을 눌러 데이터를 활용 신청하면 됩니다. 

 

 

 

 

입력한 사업자 정보에 대한 일치 여부를 제공


 

 

https://api.odcloud.kr/api/nts-businessman/v1/validate?serviceKey=[서비스키]   

 

입력한 사업자 정보에 대한 일치 여부를 제공합니다. 
1회 호출 시 최대 100개에 해당하는 사업자 상태 정보 요청이 가능합니다. 
일치할 경우는 해당 사업자를 출력하고 일치하지 않는 경우는 msg: '확인할 수 없습니다'를 출력합니다.

 

API 항목 내용
진위확인 공통 요청항목이 전부 일치하는 경우, 해당 사업자에 대해 상태조회 API 호출 시의 결과가 return
    필수가 아닌 항목을 빈값으로 검색해야할 경우, 아래와 같이 empty string("")으로 JSON에 포함되어야 합니다.
예) 대표자성명2(p_nm2)를 빈값으로 호출해야할 경우, "p_nm2": "",
  사업자등록번호(필수) 숫자로 이루어진 10자리 값만 가능 ( '-' 등의 기호 반드시 제거 후 호출)
  대표자성명(필수) 외국인 사업자의 경우, 영문명 입력
  개업일자(필수) 1) YYYYMMDD 포맷의 날짜로 입력('-' 등의 기호 반드시 제거 후 호출)
2) 사업자등록증에 표기된 개업연월일 날짜로 입력
  대표자성명2 외국인 사업자의 경우, 한글명칭으로 입력
  상호 1) 상호가 주식회사인 경우, 아래의 단어에 대해서는 상호의 맨 앞 또는 맨 뒤에 붙어도 동일하게 검색 가능
 - (주)
 - 주식회사
 - (주)--> 'ㄴ' 으로 한자키 입력을 통한 특수문자 괄호
2) 앞뒤 공백(empty space) 무시하고 검색
  법인등록번호 숫자로 이루어진 13자리 값만 가능 ('-' 등의 기호 반드시 제거 후 호출)
  주업태명 1) 모든 공백(앞뒤 포함)에 대해 무시하고 검색됨
예) '서 비 스' -> '서비스' 로 검색됨"
  주종목명 1) 모든 공백(앞뒤 포함)에 대해 무시하고 검색됨 (주업태명과 동일)

 

 

{
  "businesses": [
    {
      "b_no": "0000000000",
      "start_dt": "20000101",
      "p_nm": "홍길동",
      "p_nm2": "홍길동",
      "b_nm": "(주)테스트",
      "corp_no": "0000000000000",
      "b_sector": "",
      "b_type": ""
    }
  ]
}

 

curl -X POST "https://api.odcloud.kr/api/nts-businessman/v1/validate?serviceKey=[서비스키]
-H  "accept: application/json" 
-H  "Content-Type: application/json" 
-d "{  \"businesses\": [    
		{      
        \"b_no\": \"0000000000\",      
        \"start_dt\": \"20000101\",      
        \"p_nm\": \"홍길동\",      
        \"p_nm2\": \"홍길동\",      
        \"b_nm\": \"(주)테스트\",      
        \"corp_no\": \"0000000000000\",      
        \"b_sector\": \"\",     
        \"b_type\": \"\"    
        }  
      ]
	}"

 

각 데이터들은 포스트로 송수신하기 때문에 파라미터로 데이터를 주면 에러가 납니다!! 그래서 Body안에 데이터를 넣어서 요청해보도록 하겠습니다. 

 

raw를 클릭한후 데이터를 json으로 선택해서 보냈습니다.

status_code가 "OK"라고 성공정으로 데이터를 요청했고, 응답받았습니다.

 

사업자 상태 조회 정보 제공


 

https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=[서비스키]

 

사업자 상태 조회 정보 제공합니다.
1회 호출 시 최대 100개 에 해당하는 사업자 상태 정보 요청 가능합니다.

 

api 항목 내용
상태조회 사업자등록번호(필수) 숫자로 이루어진 10자리 값만 가능 ('-' 등의 기호 반드시 제거 후 호출)

 

{
  "b_no": [
    "0000000000"
  ]
}

 

curl -X POST "https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=서비스키"
			-H  "accept: application/json" -H  
			"Content-Type: application/json" -d "{  \"b_no\": [    \"0000000000\"  ]}"

 

 

위와 같이 파라미터로 데이터를 주면 에러가 납니다. 그래서 한번 더 Body안에 데이터를 넣어서 요청해보도록 하겠습니다. 

 

raw를 클릭한 후 데이터를 json으로 선택해서 보냈습니다.

 

마찬가지로 status_code가 "OK"라고 성공정으로 데이터를 요청했고, 응답받았습니다.

 

등록 정보 진위 확인 오픈 API는 데이터를 POST로 요청받기 때문에 데이터를 보내기 전에 확인 먼저 해야 합니다. POST는 URL에 파라미터 형식을 데이터를 보낼 수 없기에 Body안에 데이터를 넣어서 요청받길 바랍니다.

 

이후 SDK를 활용하여 데이터를 요청하고 응답받는 포스트는 다음 포스트에서 알려드리도록 하겠습니다.

https://imspear.tistory.com/130

 

OpenAPI 데이터를 JAVA를 이용해 데이터를 받기(POSTMAN을 이용해 공공데이터 오픈API에 데이터 요청, O

공공데이터에서 활용 신청을 받은 후 POSTMAN, OkHttp, Java를 이용해 데이터를 받아보도록 하겠습니다. POSTMAN에서 Request 요청을 받을 데이터들을 다 작성한 후 코드 스니펫으로 Java - OkHttp를 선택해

imspear.tistory.com