React - 사업자등록정보 확인 서비스 Open API (공공데이터포털)

이혜란·2023년 11월 8일
1

React

목록 보기
7/9
post-thumbnail

사업자 회원가입 시 사업자등록정보를 인증하는 단계를 구현하기 위해 공공데이터 포털에서 제공하는 사업자등록정보 진위 확인 및 상태조회 서비스를 활용하였습니다.

1. 공공데이터포털 오픈 API 활용신청

우선 Open API 서비스를 사용하기 위해서 공공데이터포털 사이트에서 회원가입 후 로그인을 합니다.

데이터 찾기에서 국세청_사업자등록정보 진위확인 및 상태조회 서비스를 검색합니다.

하단에 보이는 오픈 API 내용을 클릭하고 활용신청을 합니다.

마이페이지에서 데이터활용 > Open API > 인증키 발급현황에서 발급된 개인키를 확인할 수 있는데, api 요청시 필요한 정보이므로 저장해둡니다.

2. .env API key 추가하기

API 요청을 할때 베이스 url 에서 serviceKey= 옆에 개인이 발급받은 인증키를 넣어주어야 요청이 가능합니다.

공공데이터포털에서 발급받은 개인 API 인증키는 노출의 위험이 있기 때문에 env 파일에 추가해서 사용해줍니다.

이때 변수 이름을 REACT_APP 으로 시작해야 값을 가져와서 사용할 수 있습니다.
env 파일에 있는 인증키를 가져와서 적용할 때 process.env.REACT_APP_변수명 이런식으로 가져와서 사용 가능합니다.
적용을 해준 후에는 npm run start로 재시작 해주어야 정상적으로 API 요청이 작동하게 됩니다.

3. API 호출 함수 생성

API 호출 방식은 진위확인을 할 수 있는 validate 요청과 상태를 확인할 수 있는 status 요청 두가지가 있습니다.

두가지 요청은 body에 필요한 필수 항목이 다르므로 꼭 확인하여 정확하게 값을 넣어 api 호출을 하면 response 값을 얻을 수 있습니다.

아래의 코드는 사업자등록정보의 상태조회가 가능한 status 요청을 위한 함수입니다. post로 요청을 하고 req에 사업자등록번호를 넘겨줍니다.

export const handleCheckRegistrationNumber = async (
  req: string
): Promise<string> => {
  const url: string = `https://api.odcloud.kr/api/nts-businessman/v1/status?serviceKey=${process.env.REACT_APP_BUSINESS_API_KEY}`;
  const { data } = await axios.post(url, {
    b_no: [req],
  });
  // 📌 01 값이 반환되면 계속사업자 02 값은 휴업자 03 값은 폐업자로 확인이 가능합니다.
  return data.data[0].b_stt_cd; 
};

다음으로는 인증하기 버튼을 클릭 했을때 동작할 이벤트 함수를 작성해 주고 계속사업자를 확인할 수 있는 기능을 구현할 수 있습니다.

 const handlerCheckSchoolNum = useCallback(async () => {
    try {
      const data = await handleCheckRegistrationNumber(schoolNum);
      if (data === "01") {
        setConfirmedSchoolNum(true); // 영업중으로 확인되는 사업자
      } else {
        setConfirmedSchoolNum(false); // 휴업, 폐업으로 확인되는 사업자
      }
    } catch (error) {
      console.log(error);
    }
}, [schoolNum, setSchoolNum, confirmedSchoolNum, setConfirmedSchoolNum]);

0개의 댓글

관련 채용 정보