바로빌 API 개발준비
연동인증키 준비
연동인증키
란, 바로빌 API 호출 시 파트너를 식별하는 기준이 되는 키입니다.
바로빌에 새 파트너가 등록되면 테스트용 연동인증키
와 운영용 연동인증키
가 자동으로 발급됩니다.
연동인증키는, B5B015A0-4808-11EC-81D3-0242AC130003 와 같은 36자리의 UUID 형식으로 되어 있습니다.
연동인증키가 외부에 유출되지 않도록 주의가 필요합니다.
React, Angular, Vue 와 같은 front-end 기반 기술에서는, 브라우저에서 연동인증키에 접근할 수 없도록 설정해야 합니다.
확인방법
개발자센터 계정
으로 개발자센터에 로그인한 후 확인할 파트너를 선택합니다.
왼쪽 콘솔 메뉴의 인증키 및 제휴 정보 메뉴에서 확인할 수 있습니다.
사용방법
바로빌의 모든 API는 파트너 와 회원사 를 식별하기 위해, 첫번째 파라메터에 파트너의 연동인증키
를, 두번째 파라메터에 회원사의 사업자번호
를 입력하도록 설계되어 있습니다.
// 세금계산서 저장 API 예시
barobillApiService.RegistTaxInvoice("파트너의 연동인증키", "회원사의 사업자번호", ... )
// 문자전송 API 예시
barobillApiService.SendMessage("파트너의 연동인증키", "회원사의 사업자번호", ... )
파트너와 회원사가 연결되지 않은 경우에는 API 호출에 실패하게 됩니다.
파트너, 회원사의 연결에 대한 자세한 내용은 바로빌 API 기본구조 가이드 - 회원구조를 참고해주세요.
개발환경 준비
테스트환경
바로빌은 파트너의 원활한 개발을 돕기 위해, 운영환경과 동일한 테스트환경을 제공하고 있습니다.
바로빌 API를 통해 생성된 자료를 확인하거나, 바로빌 사이트의 기능을 테스트하는 용도로 사용할 수 있습니다.
제공되는 테스트환경
- 테스트용 바로빌 사이트 : 바로빌 테스트 사이트 (https://test.barobill.co.kr)
- 테스트용 바로빌 FTP : 바로빌 테스트 FTP
방화벽
Outbound 방화벽 설정된 환경에서 연동하는 경우, 바로빌 API 서버에 대해 Outbound 방화벽 허용 설정이 필요합니다.
관련 내용은 방화벽 설정에서 확인할 수 있습니다.
바로빌 API URL
바로빌 API 는 각 서비스별로 별도의 URL이 존재합니다.
아래의 개발환경 별 연동방법에서 URL 사용법에 대해 안내합니다.
테스트환경
서비스 | 내용 |
---|---|
전자세금계산서 API | https://testws.baroservice.com/TI.asmx?wsdl 홈택스 매입매출조회(세금계산서) 서비스 포함 |
현금영수증 API | https://testws.baroservice.com/CASHBILL.asmx?wsdl 홈택스 매입매출조회(현금영수증) 서비스 포함 |
전자문서 API | https://testws.baroservice.com/EDOC.asmx?wsdl |
카드조회 API | https://testws.baroservice.com/CARD.asmx?wsdl |
계좌조회 API | https://testws.baroservice.com/BANKACCOUNT.asmx?wsdl |
사업자등록 상태조회 API | https://testws.baroservice.com/CORPSTATE.asmx?wsdl |
문자전송 API | https://testws.baroservice.com/SMS.asmx?wsdl |
팩스전송 API | https://testws.baroservice.com/FAX.asmx?wsdl |
운영환경
서비스 | 내용 |
---|---|
전자세금계산서 API | https://ws.baroservice.com/TI.asmx?wsdl 홈택스 매입매출조회(세금계산서) 서비스 포함 |
현금영수증 API | https://ws.baroservice.com/CASHBILL.asmx?wsdl 홈택스 매입매출조회(현금영수증) 서비스 포함 |
전자문서 API | https://ws.baroservice.com/EDOC.asmx?wsdl |
카드조회 API | https://ws.baroservice.com/CARD.asmx?wsdl |
계좌조회 API | https://ws.baroservice.com/BANKACCOUNT.asmx?wsdl |
사업자등록 상태조회 API | https://ws.baroservice.com/CORPSTATE.asmx?wsdl |
문자전송 API | https://ws.baroservice.com/SMS.asmx?wsdl |
팩스전송 API | https://ws.baroservice.com/FAX.asmx?wsdl |
샘플소스 다운로드
개발사의 환경에 맞는 샘플소스를 다운로드하고, 연동방법을 확인하세요.
개발환경 | 연동방법 |
---|---|
Java | 연동방법 | 샘플소스 다운로드 |
.NET Framework | 연동방법 | 샘플소스 다운로드 |
Python | 연동방법 | 샘플소스 다운로드 |
Node.js | 연동방법 | 샘플소스 다운로드 |
PowerBuilder | 연동방법 | 샘플소스 다운로드 |
Delphi | 연동방법 | 샘플소스 다운로드 |
PHP | 연동방법 | 샘플소스 다운로드 |
Clasic ASP | 연동방법 | 샘플소스 다운로드 |
Visual Basic 6.0 | 연동방법 | 샘플소스 다운로드 |
개발환경 별 연동방법
Java
Java 에서 바로빌 API를 사용하기 위한 jar 를 제공하고 있습니다.
Java 17 : barobill-api-sdk-java17.jar 다운로드
Java 11 : barobill-api-sdk-java11.jar 다운로드
Java 1.8 : barobill-api-sdk-java8.jar 다운로드
Java 1.7 : barobill-api-sdk-java7.jar 다운로드
Java 1.6 : barobill-api-sdk-java6.jar 다운로드
Dependency 추가
IDE(이클립스, Intellij 등)에서 jar 파일을 프로젝트에 직접 추가하거나, 빌드툴(Maven, Gradle 등)을 이용하여 프로젝트에 jar 파일을 추가할 수 있습니다.
// 프로젝트 디렉토리에 barobill-api-sdk.jar 를 복사
Project
├── libs
│ └── barobill-api-sdk.jar
└── src
<!-- Maven -->
<dependency>
<groupId>com.baroservice</groupId>
<artifactId>barobill-api-sdk</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/barobill-api-sdk.jar</systemPath>
</dependency>
// Gradle
dependencies {
implementation files('libs/barobill-api-sdk.jar')
}
Java 11 이상 버전을 사용하는 경우
바로빌 jar 는 JDK 의 rt.jar 를 사용하고 있습니다. Java 11 부터는 rt.jar 가 삭제되어 관련된 의존성을 추가해야 합니다.
(Java 9 부터deprecated
되었으며, Java 11 부터removed
되었습니다.)
<!-- Maven --> <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artifactId> <version>2.3.1</version> </dependency>
// Gradle dependencies { implementation 'com.sun.xml.ws:jaxws-rt:2.3.1' }
만일 txw2 나 ha-api 관련된 Exception 이 발생하는 경우 아래 의존성도 추가합니다.
<!-- Maven --> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>txw2</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>org.glassfish.ha</groupId> <artifactId>ha-api</artifactId> <version>3.1.13</version> </dependency>
// Gradle dependencies { implementation 'org.glassfish.jaxb:txw2:4.0.0' implementation 'org.glassfish.ha:ha-api:3.1.13' }
Spring Boot 3.x 를 사용하는 경우
Spring Boot 3.x 를 사용하는 경우 아래 의존성을 추가해야 합니다.
<!-- Maven --> <dependency> <groupId>org.glassfish.metro</groupId> <artifactId>webservices-rt</artifactId> <version>2.4.4</version> </dependency>
// Gradle dependencies { implementation 'org.glassfish.metro:webservices-rt:2.4.4' }
API 호출 방법
바로빌 API를 사용하는 방법은 다음과 같습니다.
import com.baroservice.api;
class Test {
private BarobillApiService barobillApiService;
public Test() {
this.barobillApiService = new BarobillApiService(BarobillApiProfile.TESTBED);
}
public do() {
// 세금계산서 저장
int result1 = this.barobillApiService.taxInvoice.registTaxInvoice( ... );
// 팩스 전송
String result2 = this.barobillApiService.fax.sendFaxFromFTP( ... );
}
}
Spring Framework 의 경우
BarobillApiService
클래스를 Bean 으로 등록하여 사용하는 방법을 권장합니다.
// Java Config @Bean public BarobillApiService barobillApiService() { return new BarobillApiService(BarobillApiProfile.TESTBED); }
<!-- XML Config --> <bean id="barobillApiService" class="com.baroservice.api.BarobillApiService"> <constructor-arg index="0" value="com.baroservice.api.BarobillApiProfile.TESTBED"/> </bean>
.NET Framework
Visual Studio 의 솔루션 탐색기에서 참조
항목에서 마우스 우클릭 후 서비스 참조 추가
(.NET Framework 2.0의 경우 웹 참조 추가
)를 선택하여 바로빌 라이브러리를 참조할 수 있습니다.
.NET Framework 3.0 이상
서비스 참조 추가
기능으로 프로젝트에 바로빌 API의 참조를 추가합니다.
.NET Framework 3.0 이상에서 "서비스 참조 추가"
주소
란에 연동하고자 하는 서비스의 URL을 입력하고이동
버튼을 클릭합니다. (바로빌 API URL 보기)네임스페이스
란에 원하는 이름을 지정하고확인
버튼을 클릭합니다.
연동하시려는 서비스별로 각각 참조를 추가해야 하며, 이 때 네임스페이스는 다른 이름으로 지정해야 합니다.
예) 세금계산서 API는Barobill_TaxInvoice
, 팩스전송 API는Barobill_Fax
등
참조 추가 후 API를 사용하는 방법은 다음과 같습니다.
namespace TestApp {
class Test {
private Barobill_TaxInvoice.BaroService_TISoapClient barobillTaxInvoiceService;
private Barobill_Fax.BaroService_FAXSoapClient barobillFaxService;
public Test() {
this.barobillTaxInvoiceService = new Barobill_TaxInvoice.BaroService_TISoapClient();
this.barobillFaxService = new Barobill_Fax.BaroService_FAXSoapClient();
}
public do() {
// 세금계산서 저장
int result1 = this.barobillTaxInvoiceService.RegistTaxInvoice( ... );
// 팩스 전송
String result2 = this.barobillFaxService.SendFaxFromFTP( ... );
}
}
}
.NET Framework 2.0
.NET Framework 2.0 에서 "웹 참조 추가"
URL
란에 연동하고자 하는 서비스의 URL을 입력하고화살표
를 클릭합니다. (바로빌 API URL 보기)웹 참조 이름
란에 원하는 이름을 지정하고참조 추가
버튼을 클릭합니다.
연동하시려는 서비스별로 각각 참조를 추가해야 하며, 이 때 네임스페이스는 다른 이름으로 지정해야 합니다.
예) 세금계산서 API는Barobill_TaxInvoice
, 팩스전송 API는Barobill_Fax
등
바로빌 API를 사용하는 방법은 다음과 같습니다.
namespace TestApp {
class Test {
private Barobill_TaxInvoice.BaroService_TI barobillTaxInvoiceService;
private Barobill_Fax.BaroService_FAX barobillFaxService;
public Test() {
this.barobillTaxInvoiceService = new Barobill_TaxInvoice.BaroService_TI();
this.barobillFaxService = new Barobill_Fax.BaroService_FAX();
}
public do() {
// 세금계산서 저장
int result1 = this.barobillTaxInvoiceService.RegistTaxInvoice( ... );
// 팩스 전송
String result2 = this.barobillFaxService.SendFaxFromFTP( ... );
}
}
}
Python
Zeep: Python SOAP client 패키지를 사용하여 연동하는 것을 권장합니다.
pip install zeep
바로빌 API를 사용하는 방법은 다음과 같습니다.
from zeep import Client
barobillTaxInvoiceClient = Client("https://testws.baroservice.com/TI.asmx?WSDL")
barobillFaxClient = Client("https://testws.baroservice.com/FAX.asmx?WSDL")
# 세금계산서 저장
result1 = barobillTaxInvoiceClient.service.RegistTaxInvoice( ... )
# 팩스 전송
result2 = barobillFaxClient.service.SendFaxFromFTP( ... )
Zeep Client 생성 시 연동하고자 하는 서비스의 URL을 입력해주세요. (바로빌 API URL 보기)
Node.js
soap 패키지를 사용하여 연동하는 것을 권장합니다.
npm install soap
바로빌 API를 사용하는 방법은 다음과 같습니다.
const soap = require('soap')
// 세금계산서 저장
soap.createClient('https://testws.baroservice.com/TI.asmx?WSDL', function (err, client) {
client.RegistTaxInvoice({
...
}, (err, result) => {
console.log(result.RegistTaxInvoiceResult)
})
})
// 팩스 전송
soap.createClient('https://testws.baroservice.com/FAX.asmx?WSDL', function (err, client) {
client.SendFaxFromFTP({
...
}, (err, result) => {
console.log(result.SendFaxFromFTPResult)
})
})
clientClient 의 첫번째 파라메터에 연동하고자 하는 서비스의 URL을 입력해주세요. (바로빌 API URL 보기)
PowerBuilder
PowerBuilder 9 버전 이상에서는 자체적으로 SOAP 통신을 위한 기능이 내장되어 있습니다.
단, Appeon PowerBuilder(2022 이상) 의 버전에서는 자체 내장된 SOAP 통신 기능이 삭제되어 아래 방법으로 연동하실 수 없으며,
직접 HTTP 통신을 구현하는 방법 으로 연동하셔야 합니다.
연동 방법
자체 내장된 라이브러리를 프로젝트에 Import 합니다.
Sybase PowerBuilder 의 경우 [PowerBuilder 설치 경로]/Shared/PowerBuilder 경로의 pbsoapclientXXX.pbd 파일을 프로젝트에 Import 합니다.
- 10.5 버전의 경우 : pbsoapclient105.pbd
- 11.5 버전의 경우 : pbsoapclient115.pbd
- 12.5 버전의 경우 : pbsoapclient125.pbd
Appeon PowerBuilder(2017 이상) 의 경우 [PowerBuilder 설치 경로]/PowerBuilder [버전]/IDE 경로의 pbsoapclient.pbd 파일을 프로젝트에 Import 합니다.
파워빌더 개발 툴에서
File > New > Project > Web Service Proxy Wizard
를 이용하여 Proxy 모듈을 생성합니다.
WSDL_File_Name
항목에 연동하고자 하는 서비스의 URL을 입력합니다. (바로빌 API URL 보기)
생성될 Proxy 파일 이름 지정합니다.
Deploy
가 완료되면 Proxy 모듈 생성이 완료됩니다.
API 호출 방법
바로빌 API를 사용하는 방법은 다음과 같습니다.
SoapConnection soapConn
baroservice_tisoap barobillTaxInvoiceService
soapConn = create SoapConnection
long connResult
connResult = SoapConn.CreateInstance(barobillTaxInvoiceService,"baroservice_tisoap")
// 세금계산서 저장
long result
result = barobillTaxInvoiceService.RegistTaxInvoice( ... )
MessageBox("", result, information!, ok!)
pbsoapclientXXX.pbd 관련 주의사항
pbsoapclientXXX.pbd
(또는 pbsoapclient.pbd) 를 이용하여 API를 호출할 때, 해당 pbd 파일 경로에 있는 다른 여러 라이브러리들을 참조하게 됩니다.
관련 라이브러리들 중 하나라도 버전이 다르거나, 손상된 경우에는 오류가 발생할 수 있습니다.
오류 발생 시 PowerBuilder 를 재설치 한 후, 라이브러리 경로의 파일들을 사용하여 테스트하시기를 권장합니다.
버전 별 필요 라이브러리
같은 버전이라도 빌드넘버에 따라 차이가 있을 수 있습니다.
버전 | 필요 라이브러리 |
---|---|
PowerBuilder9 | EasySoap.dll , ExPat.dll , libeay32.dll , libjcc.dll , pbsoapclient90.dll , pbvm90.dll , ssleay32.dll |
PowerBuilder10.5 | EasySoap105.dll , ExPat105.dll , libeay32.dll , libjcc.dll , libjutils.dll , PBSHR105.DLL , pbsoapclient105.pbd , pbsoapclient105.pbx , PBVM105.DLL , ssleay32.dll |
PowerBuilder12.5 | atl71.dll , EasySoap125.dll , ExPat125.dll , libeay32.dll , libjcc.dll , libjtml.dll , libjutils.dll , msvcp71.dll , msvcp100.dll , msvcr71.dll , msvcr100.dll , nlwnsck.dll , PBSHR125.DLL , pbsoapclient125.pbd , pbsoapclient125.pbx , PBVM125.DLL , ssleay32.dll |
Delphi
Delphi 6 버전 이상에서는 자체적으로 SOAP 통신을 위한 기능이 내장되어 있습니다.
Proxy 모듈 생성
델파이 개발툴에서 File > New > Other > WebService > WSDL Importer
를 이용하여 Proxy 모듈을 생성합니다.
WSDL_File_Name
항목에 연동하고자 하는 서비스의 URL을 입력합니다. (바로빌 API URL 보기)
UTF-8 설정
Proxy 모듈(.pas)이 생성되었다면, UTF-8 통신을 위해 2줄의 코드를 추가해야 합니다.
(아래 예시의 BaroService_TISoap
, GetBaroService_TISoap
명칭은 추가한 서비스에 따라 달라집니다.)
// Initialization 추가
InvRegistry.RegisterInvokeOptions(TypeInfo(BaroService_TISoap), ioDocument);
// GetBaroService_TISoap 함수에 추가
RIO.HTTPWebNode.UseUTF8InHeader := true;
Initialization 추가 예제
initialization
InvRegistry.RegisterInterface(TypeInfo(BaroService_TISoap), 'http://ws.baroservice.com/', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(BaroService_TISoap), 'http://ws.baroservice.com/%operationName%');
InvRegistry.RegisterInvokeOptions(TypeInfo(BaroService_TISoap), ioDocument); // 이 위치에 추가하세요.
RemClassRegistry.RegisterXSClass(InvoiceParty, 'http://ws.baroservice.com/', 'InvoiceParty');
RemClassRegistry.RegisterXSClass(TaxInvoiceTradeLineItem, 'http://ws.baroservice.com/', 'TaxInvoiceTradeLineItem');
RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfTaxInvoiceTradeLineItem), 'http://ws.baroservice.com/', 'ArrayOfTaxInvoiceTradeLineItem');
.
.
.
GetBaroService_TISoap 추가 예제
function GetBaroService_TISoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): BaroService_TISoap;
const
defWSDL = 'https://testws.baroservice.com/ti.asmx?wsdl';
defURL = 'https://testws.baroservice.com/ti.asmx';
defSvc = 'BaroService_TI';
defPrt = 'BaroService_TISoap';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
Result := (RIO as BaroService_TISoap);
RIO.HTTPWebNode.UseUTF8InHeader := true; // 이 위치에 추가하세요.
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;
API 호출 방법
바로빌 API를 사용하는 방법은 다음과 같습니다.
procedure TForm1.btnTest(Sender: TObject);
var
BarobillTaxInvoiceService : BaroService_TISoap;
BarobillFaxService : BaroService_FAXSoap;
Result1 : integer;
Result2 : WideString;
begin
BarobillTaxInvoiceService := GetBaroService_TISoap(true);
BarobillFaxService := GetBaroService_FAXSoap(true);
// 세금계산서 저장
Result1 := BarobillTaxInvoiceService.RegistTaxInvoice( ... );
// 팩스 전송 저장
Result2 := BarobillTaxInvoiceService.RegistTaxInvoice( ... );
end;
PHP
PHP 5 버전 이상에서는 자체적으로 SOAP 통신을 위한 기능이 내장되어 있습니다.
SOAP 활성화
php.ini
파일에서 php_soap.dll
부분 주석을 제거하면 SOAP 기능이 활성화 됩니다.
extension=php_soap.dll ;주석제거
API 호출 방법
$BaroService_TI = new SoapClient('https://testws.baroservice.com/TI.asmx?wsdl', array(
'trace' => 'true',
'encoding' => 'UTF-8'
));
$BaroService_FAX = new SoapClient('https://testws.baroservice.com/FAX.asmx?wsdl', array(
'trace' => 'true',
'encoding' => 'UTF-8'
));
// 세금계산서 저장
$Result1 = $BaroService_TI->RegistTaxInvoice(array(
...
))->RegistTaxInvoiceResult;
// 팩스 전송
$Result2 = $BaroService_FAX->SendFaxFromFTP(array(
...
))->SendFaxFromFTPResult;
SoapClient 생성시 연동하고자 하는 서비스의 URL을 입력해주세요. (바로빌 API URL 보기)
ASP
ASP 에서 바로빌 API를 사용하기 위해 개발된 클래스 모음을 제공하고 있습니다.
다운로드 받으신 클래스들을 프로젝트의 원하는 위치에 복사하세요.
Root
├── libs
│ └── barobill
│ ├── BaroService_TI.asp
│ ├── BaroService_EDOC.asp
│ ├── BaroService_CASHBILL.asp
│ ├── BaroService_CORPSTATE.asp
│ ├── BaroService_CARD.asp
│ ├── BaroService_BANKACCOUNT.asp
│ ├── BaroService_SMS.asp
│ └── BaroService_FAX.asp
└── ...
API 호출 방법
<!--#include virtual="/libs/barobill/BaroService_TI.asp"-->
<!--#include virtual="/libs/barobill/BaroService_FAX.asp"-->
<%
Set BarobillTaxInvoiceService = New BaroService_TI
Set BarobillFaxService = New BaroService_FAX
'세금계산서 저장
Result1 = BarobillTaxInvoiceService.RegistTaxInvoice( ... )
'팩스 발송
Result2 = BarobillFaxService.SendFaxFromFTP( ... )
%>
Visual Basic 6.0
Visual Basic 에서 바로빌 API를 사용하기 위해 개발된 클래스 모음을 제공하고 있습니다.
다운로드 받으신 클래스들을 프로젝트에 포함시켜 주세요.
API 호출 방법
Set BarobillTaxInvoiceService = New BaroService_TI
Set BarobillFaxService = New BaroService_FAX
'세금계산서 저장
Result1 = BarobillTaxInvoiceService.RegistTaxInvoice( ... )
'팩스 발송
Result2 = BarobillFaxService.SendFaxFromFTP( ... )
직접 HTTP 통신을 구현하는 방법
바로빌 서버와 HTTP로 통신이 가능하다면, 어떤 환경이라도 연동이 가능합니다.
각 서비스 별 통신규격을 제공하고 있으며, 이 통신규격과 API 레퍼런스를 참고하여 개발을 진행할 수 있습니다.
테스트환경
서비스 | 내용 |
---|---|
전자세금계산서 API | 전자세금계산서 API 테스트환경 통신규격 바로가기 홈택스 매입매출조회(세금계산서) 서비스 포함 |
현금영수증 API | 현금영수증 API 테스트환경 통신규격 바로가기 홈택스 매입매출조회(현금영수증) 서비스 포함 |
전자문서 API | 전자문서 API 테스트환경 통신규격 바로가기 |
카드조회 API | 카드조회 API 테스트환경 통신규격 바로가기 |
계좌조회 API | 계좌조회 API 테스트환경 통신규격 바로가기 |
사업자등록 상태조회 API | 사업자등록 상태조회 API 테스트환경 통신규격 바로가기 |
문자전송 API | 문자전송 API 테스트환경 통신규격 바로가기 |
팩스전송 API | 팩스전송 API 테스트환경 통신규격 바로가기 |
운영환경
서비스 | 내용 |
---|---|
전자세금계산서 API | 전자세금계산서 API 운영환경 통신규격 바로가기 홈택스 매입매출조회(세금계산서) 서비스 포함 |
현금영수증 API | 현금영수증 API 운영환경 통신규격 바로가기 홈택스 매입매출조회(현금영수증) 서비스 포함 |
전자문서 API | 전자문서 API 운영환경 통신규격 바로가기 |
카드조회 API | 카드조회 API 운영환경 통신규격 바로가기 |
계좌조회 API | 계좌조회 API 운영환경 통신규격 바로가기 |
사업자등록 상태조회 API | 사업자등록 상태조회 API 운영환경 통신규격 바로가기 |
문자전송 API | 문자전송 API 운영환경 통신규격 바로가기 |
팩스전송 API | 팩스전송 API 운영환경 통신규격 바로가기 |
세금계산서 발급 API(IssueTaxInvoiceEx)의 통신규격 예시
Request
POST /TI.asmx HTTP/1.1
Host: testws.baroservice.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://testws.baroservice.com/IssueTaxInvoiceEx"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<IssueTaxInvoiceEx xmlns="http://ws.baroservice.com/">
<CERTKEY>string</CERTKEY>
<CorpNum>string</CorpNum>
<MgtKey>string</MgtKey>
<SendSMS>boolean</SendSMS>
<SMSMessage>string</SMSMessage>
<ForceIssue>boolean</ForceIssue>
<MailTitle>string</MailTitle>
<BusinessLicenseYN>boolean</BusinessLicenseYN>
<BankBookYN>boolean</BankBookYN>
</IssueTaxInvoiceEx>
</soap:Body>
</soap:Envelope>
Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<IssueTaxInvoiceExResponse xmlns="http://ws.baroservice.com/">
<IssueTaxInvoiceExResult>int</IssueTaxInvoiceExResult>
</IssueTaxInvoiceExResponse>
</soap:Body>
</soap:Envelope>
FTP
"팩스전송"과 같은 일부 API는 파일업로드를 필요로 합니다. 바로빌은 FTP 를 통해 파일업로드를 지원하고 있습니다.
개발언어마다 다양한 FTP 파일업로드 라이브러리가 존재합니다. 어떤 라이브러리를 선택할지는 파트너의 개발환경에 따라 달라집니다.
FTP 접속정보
바로빌에 가입되는 회원사 마다 각각의 독립된 FTP 서버
가 생성됩니다.
바로빌 아이디로 FTP 접속 후 root 경로에 파일을 업로드 한 후 API를 호출할 수 있습니다.
테스트환경
- 호스트 :
testftp.barobill.co.kr
- 포트 :
9031
- 계정 : 테스트환경 회원 아이디
- 비밀번호 : 테스트환경 회원 비밀번호
운영환경
- 호스트 :
ftp.barobill.co.kr
- 포트 :
9030
- 계정 : 바로빌 회원 아이디
- 비밀번호 : 바로빌 회원 비밀번호
접속 시 주의사항
바로빌 FTP 에 접속하기 위해서는 Passive 모드로 접속해주셔야 합니다.
FTP 접속은
Active(능동) 모드
와Passive(수동) 모드
두가지 방식이 있습니다.
- Active(능동) 모드 : FTP 연결 후, "FTP서버" 가 "클라이언트" 로 접속해서 파일을 전송하는 모드.
- Passive(수동) 모드 : FTP 연결 후, "클라이언트" 가 "FTP서버" 로 접속해서 파일을 전송하는 모드.
바로빌은 Passive 방식을 사용하고 있습니다.
Java Passive 모드 예시
FTPClient client = new FTPClient();
client.setControlEncoding("UTF-8");
client.connect("바로빌 FTP URL", 9031);
client.login("바로빌 아이디", "바로빌 비밀번호");
client.setFileType(FTPClient.BINARY_FILE_TYPE); // 파일 깨짐 방지
client.enterLocalPassiveMode(); // Passive 모드 설정
.NET Framework 4.0 Passive 모드 예시
FtpWebRequest ftpWebRequest = (FtpWebRequest) FtpWebRequest.Create(new Uri("바로빌 FTP URL"));
ftpWebRequest.Credentials = new NetworkCredential("바로빌 아이디", "바로빌 비밀번호");
ftpWebRequest.KeepAlive = false;
ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
ftpWebRequest.UseBinary = true; // 파일 깨짐 방지
ftpWebRequest.UsePassive = true; // Passive 모드 설정