바로빌 API 시작하기
바로빌 API 소개
바로빌 API 에 대하여
바로빌은 ERP, 쇼핑몰, 판매재고, SI, 온라인게임 등 다양한 서비스를 개발/운영하는 개발사를 위해, 필요한 기능을 쉽고 빠르게 연동할 수 있도록 API 서비스를 제공하고 있습니다.
전자세금계산서 법제화가 시행된 2010년부터 국내 최초로 API 방식의 전자세금계산서 연동서비스를 시작하여 운영하고 있습니다.
모토
바로빌 API는 바로빌 사이트의 모든 기능을 고객사의 프로그램에서도!
를 모토로 탄생하였습니다. 바로빌 사이트에서 제공하는 다양한 기능을 고객사의 프로그램에도 구현할 수 있도록 다양한 API를 제공하는 것을 목표로 하고 있습니다.
지원
타 서비스와의 연동 작업은 결코 쉽지 않습니다.
원활한 연동 개발을 위해서는 테스트환경
, 가이드 문서
, 기술지원
의 3가지 요소가 충족되어야 합니다.
바로빌은 개발자분들을 위해,
- 실제 운영환경과 동일한 테스트환경를 제공하고 있으며
- 상세한 가이드 문서를 제공하고
- 한가지를 문의하시면 세가지를 알려드리기 위해 노력하고 있습니다.
제공하는 API
바로빌은 3종류로 구분된 9가지 서비스를 제공하고 있습니다.
서비스 | 내용 |
---|---|
문서 서비스 | * 세금계산서를 발급하고 국세청으로 전송하는 서비스 * 현금영수증을 발급하고 국세청으로 전송하는 서비스 * 전자문서 발급 서비스 |
메시징 서비스 | * 문자 전송 서비스 * 팩스 전송 서비스 |
스크래핑 서비스 | * 홈택스에서 세금계산서, 현금영수증을 조회하는 서비스 * 카드사 홈페이지에서 카드 사용내역을 조회하는 서비스 * 은행 홈페이지에서 계좌 입출금내역을 조회하는 서비스 * 사업자의 등록 상태를 조회하는 서비스 |
각 서비스마다 단계별 개발 가이드를 제공합니다. 가이드를 따라 빠르게 연동할 수 있습니다.
연동 절차
바로빌 API 연동은 계정 생성 및 개발
→ 운영 전환
의 단계로 진행됩니다.
계정 생성 및 개발
바로빌 개발자센터에 계정을 생성하고, 파트너를 등록하는 것만으로 개발을 시작할 수 있습니다.
- 1단계 : 이메일 또는 소셜계정(네이버, 카카오, 구글)으로 개발자센터 계정 생성
- 2단계 : 파트너 등록 후 인증키 및 제휴 정보 메뉴에서 "연동인증키" 확인
"연동인증키" 를 확인하셨다면, 개발 가이드를 참고하여 개발을 시작하세요.
파트너 등록 시, 바로빌 담당자가 "재판매 여부", "단가 설정" 등의 내용을 안내드리기 위해 유선으로 연락을 드립니다.
운영으로 전환되기 전까지의 모든 비용은 무료입니다.
운영 전환
개발이 완료되면 별도의 신청 없이 운영으로 전환할 수 있습니다.
운영 전환 가이드를 따라 진행해주세요.
서비스 환경
통신 방식
바로빌 API는 SOAP 방식(http 통신 기반)의 API를 제공하고 있으며, 인터넷 연결이 가능하다면 어떠한 환경에서도 연동이 가능합니다.
SOAP(Simple Object Access Protocol) 이란?
JSON 을 기반으로 하는 REST 방식과 달리, XML을 기반으로 하는 메시지 교환 프로토콜입니다.
JSON 보다 메시지의 크기가 크다는 단점이 있지만, 더 엄격한 값 검증이 가능합니다.REST 의 경우 {"공급자": "바로빌", "공급받는자": "개발사\n"} 처럼 값에 개행문자와 같은 특수문자가 포함된 경우에도 오류가 발생하지 않습니다.
(텍스트박스에ctrl + c, v
방식으로 붙여넣어진 값을 DB에 저장하는 과정에서 종종 발생합니다.)SOAP 방식에서는 400 Bad Request 를 응답하게 됩니다.
세금계산서와 같이 정확한 값을 국세청으로 전송해야 하는 서비스에서, 예상하지 못한 값이 전송되는 것을 방지할 수 있습니다.국세청에서 운영하는 전자세금계산서 시스템에서도 SOAP 방식을 채택하고 있습니다.
연동 방법
개발언어 마다 SOAP 통신 관련 라이브러리가 존재하며, 라이브러리를 통해 연동하는 것을 권장합니다.
바로빌은 각 언어별로 아래 표에서 기술한 방식으로 구현된 샘플소스와 가이드를 제공합니다.
자세한 개발방법은 바로빌 API 개발준비 가이드를 참고해주세요.
개발언어 | 방법 |
---|---|
Java | jar 제공 |
.NET | Visual Studio 의 서비스 참조 추가, 웹 참조 추가 사용 |
Python | Zeep 패키지 사용 |
Node.js | soap 패키지 사용 |
PowerBuilder | New > Project > Web Service Proxy Wizard 사용 |
Delphi | File > New > Other > WebServices > WSDL Importer 사용 |
PHP | 내장된 SOAP 모듈을 사용 |
ASP | SDK 클래스 모음 제공 |
Visual Basic 6.0 | SDK 클래스 모음 제공 |
외부 모듈을 사용할 수 없는 환경인 경우
HTTP 통신을 직접 구현하여 개발할 수 있도록 통신 규격을 제공합니다.
직접 HTTP 통신을 구현하는 방법을 참고하여 개발을 진행할 수 있습니다.
방화벽 설정
Outbound 방화벽이 설정된 환경에서 연동하는 경우, 바로빌 API 서버에 대해 Outbound 방화벽 허용 설정이 필요합니다.
아이피 기반 방화벽인 경우
운영환경
서버 | 프로토콜 | 아이피/포트 | 비고 |
---|---|---|---|
API 서버 | HTTP | 14.63.175.118:80 , 14.63.175.123:80 | |
HTTPS | 14.63.175.118:443 , 14.63.175.123:443 | ||
FTP 서버 | FTP | 14.63.175.128:9030 , 14.63.175.128:60000~65535 | FTP 파일업로드 기능을 구현한 경우에만 |
테스트환경
서버 | 프로토콜 | 아이피/포트 | 비고 |
---|---|---|---|
API 서버 | HTTP | 14.63.172.31:80 | |
HTTPS | 14.63.172.31:443 | ||
FTP 서버 | FTP | 14.63.172.31:9031 , 14.63.172.31:60000~65535 | FTP 파일업로드 기능을 구현한 경우에만 |
도메인 기반 방화벽인 경우
운영환경
서버 | 프로토콜 | 도메인/포트 | 비고 |
---|---|---|---|
API 서버 | HTTP | ws.baroservice.com:80 | |
HTTPS | ws.baroservice.com:443 | ||
FTP 서버 | FTP | ftp.barobill.co.kr:9030 , ftp.barobill.co.kr:60000~65535 | FTP 파일업로드 기능을 구현한 경우에만 |
테스트환경
서버 | 프로토콜 | 도메인/포트 | 비고 |
---|---|---|---|
API 서버 | HTTP | testws.baroservice.com:80 | |
HTTPS | testws.baroservice.com:443 | ||
FTP 서버 | FTP | testftp.barobill.co.kr:9031 , testftp.barobill.co.kr:60000~65535 | FTP 파일업로드 기능을 구현한 경우에만 |