Skip to main content

무엇을 하나요

사업자등록증 파일 한 건을 읽어 사업자등록번호, 상호, 대표자명, 개업일, 주소, 업종을 돌려줍니다. 읽은 사업자등록번호, 대표자명, 개업일로 국세청 진위확인을 하고 그 결과도 함께 담습니다. 거래처나 회원이 사업자 정보를 직접 입력하는 수고를 줄일 때 쓰세요.

이용 조건

발급자 등록, 공동인증서, 요청자 관리번호(Bolta-Client-Reference-Id)가 필요 없고 구독 플랜 제한도 없습니다. Authorization 헤더에 Basic {apiKey}만 넣으면 됩니다. 인증은 인증 가이드를 참고하세요.

요금

진위확인 결과(validation)가 MATCHED나 NOT_MATCHED인 문서마다 100포인트를 차감합니다. UNAVAILABLE 결과, 오류 응답, 테스트 키 호출은 차감하지 않습니다. 같은 파일을 다시 보내면 다시 차감합니다.

요청

multipart/form-data의 file 파트에 파일 한 개를 넣으세요.
  • 형식은 PDF, JPG, PNG, WebP입니다.
  • 크기는 5MB(5,242,880바이트) 이하, PDF는 5쪽 이하입니다.
  • 한 요청에 문서 한 건을 보냅니다. 여러 문서는 한 건씩 차례로 보내세요.
  • 사업자등록증만 받습니다. 사업자등록증명이나 등기사항증명서 같은 다른 서류와 사업자등록번호를 읽을 수 없는 파일은 400 INVALID_FILE을 반환합니다.
홈택스에서 내려받은 PDF를 가장 정확하게 읽습니다. 사진을 받을 때는 문서 전체가 들어오고 글자가 선명하게 찍히도록 사용자에게 안내하세요. 사업자등록번호를 읽지 못해 400 INVALID_FILE을 받으면 다시 찍어 달라고 안내하세요.

응답

API는 200 OK와 아래 응답을 반환합니다.
모든 필드를 항상 담습니다. 읽지 못한 값은 null이고, 목록은 빈 배열입니다. 사업자등록번호를 읽지 못하면 결과 대신 400 INVALID_FILE을 반환합니다. representativeNames는 공동대표를 모두 담고 (공동대표) 같은 역할 표기는 뗍니다. 개인 공동사업자 등록증은 성명 칸에 인쇄된 대표 한 사람만 담습니다. 대표자를 한 명만 받는 곳에는 첫 항목을 쓰세요. industries는 같은 행의 업태와 종목이 짝입니다. 대표 업종이 필요하면 첫 행을 쓰세요.

validation

진위확인에 쓰는 값은 사업자등록번호, 첫 번째 대표자명, 개업일 세 가지입니다. 상호, 주소, 업종은 사용자가 직접 확인하게 하세요.

inputQuality

입력 화면에 미리 채우기

validation이 MATCHED이고 inputQuality가 SUFFICIENT면 입력 화면에 값을 미리 채워도 됩니다. 저장하거나 세금계산서를 발행하기 전에는 사용자가 값을 확인하고 고칠 수 있게 하세요.

처리 시간

API는 요청 하나를 최대 약 45초 안에 끝냅니다. 클라이언트 읽기 타임아웃은 60초 이상으로 잡으세요. 그 안에 인식하지 못하면 API가 503 EXTRACTION_UNAVAILABLE을 반환합니다.

데이터 보관

볼타는 올린 파일과 읽은 값을 저장하지 않습니다. 응답에는 주민등록번호 같은 개인식별번호를 담지 않습니다.

테스트 키

테스트 키로 보내면 올린 파일과 관계없이 위 응답 예시와 같은 고정 결과를 돌려주고 포인트를 차감하지 않습니다. 빈 파일, 5MB 초과, 지원하지 않는 형식은 라이브 키와 같은 오류를 반환합니다. 고정 결과의 1000000014는 사업자등록 상태 조회 테스트 키의 계속사업자 번호와 같습니다. 인식 결과를 상태 조회 테스트 호출에 그대로 이어 볼 수 있습니다.

호출 한도

라이브 키는 앞 요청의 응답을 받은 뒤 다음 파일을 보내세요. 같은 파트너의 라이브 키가 여러 개여도 동시 요청을 함께 셉니다. 429를 받으면 Retry-After 헤더의 초만큼 기다린 뒤 같은 파일로 다시 보내세요.

오류

INVALID_FILE의 message는 원인마다 다르고, 사용자에게 그대로 보여 줘도 됩니다. 전체 에러 코드는 에러 코드를 참고하세요.

관련 문서