바로빌 API 개발준비


연동인증키 준비

연동인증키란, 바로빌 API 호출 시 파트너를 식별하는 기준이 되는 키입니다.

바로빌에 새 파트너가 등록되면 테스트용 연동인증키운영용 연동인증키가 자동으로 발급됩니다.

연동인증키는, B5B015A0-4808-11EC-81D3-0242AC130003 와 같은 36자리의 UUID 형식으로 되어 있습니다.

연동인증키가 외부에 유출되지 않도록 주의가 필요합니다.

React, Angular, Vue 와 같은 front-end 기반 기술에서는, 브라우저에서 연동인증키에 접근할 수 없도록 설정해야 합니다.


확인방법

개발자센터 계정으로 개발자센터에 로그인한 후 확인할 파트너를 선택합니다.

API가이드-파트너 목록.png

왼쪽 콘솔 메뉴의 인증키 및 제휴 정보 메뉴에서 확인할 수 있습니다.

API가이드-인증키 및 제휴 정보.png

API가이드-연동인증키.png


사용방법

바로빌의 모든 API는 파트너회원사 를 식별하기 위해, 첫번째 파라메터에 파트너의 연동인증키를, 두번째 파라메터에 회원사의 사업자번호를 입력하도록 설계되어 있습니다.

// 세금계산서 저장 API 예시
barobillApiService.RegistTaxInvoice("파트너의 연동인증키", "회원사의 사업자번호", ... )

// 문자전송 API 예시
barobillApiService.SendMessage("파트너의 연동인증키", "회원사의 사업자번호", ... )

파트너와 회원사가 연결되지 않은 경우에는 API 호출에 실패하게 됩니다.

파트너, 회원사의 연결에 대한 자세한 내용은 바로빌 API 기본구조 가이드 - 회원구조를 참고해주세요.


개발환경 준비


테스트환경

바로빌은 파트너의 원활한 개발을 돕기 위해, 운영환경과 동일한 테스트환경을 제공하고 있습니다.

바로빌 API를 통해 생성된 자료를 확인하거나, 바로빌 사이트의 기능을 테스트하는 용도로 사용할 수 있습니다.

제공되는 테스트환경
방화벽

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

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의 참조를 추가합니다.
API가이드-.NET 서비스 참조 추가.png .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

API가이드-.NET 웹 참조 추가.png .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 통신을 구현하는 방법 으로 연동하셔야 합니다.

연동 방법
  1. 자체 내장된 라이브러리를 프로젝트에 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 합니다.

  2. 파워빌더 개발 툴에서 File > New > Project > Web Service Proxy Wizard 를 이용하여 Proxy 모듈을 생성합니다.
    API가이드-PowerBuilder-1.gif

    API가이드-PowerBuilder-2.gif

  3. WSDL_File_Name 항목에 연동하고자 하는 서비스의 URL을 입력합니다. (바로빌 API URL 보기)
    API가이드-PowerBuilder-3.gif

    API가이드-PowerBuilder-4.gif

    API가이드-PowerBuilder-5.gif

  4. 생성될 Proxy 파일 이름 지정합니다.
    API가이드-PowerBuilder-6.gif

    API가이드-PowerBuilder-7.gif

  5. Deploy 가 완료되면 Proxy 모듈 생성이 완료됩니다.
    API가이드-PowerBuilder-8.gif

    API가이드-PowerBuilder-9.gif

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 모듈을 생성합니다.
API가이드-Delphi-1.png

API가이드-Delphi-2.png
WSDL_File_Name 항목에 연동하고자 하는 서비스의 URL을 입력합니다. (바로빌 API URL 보기)
API가이드-Delphi-3.png

API가이드-Delphi-4.png

API가이드-Delphi-5.png

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를 사용하기 위해 개발된 클래스 모음을 제공하고 있습니다.

Classic ASP 클래스 다운로드

다운로드 받으신 클래스들을 프로젝트의 원하는 위치에 복사하세요.

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를 사용하기 위해 개발된 클래스 모음을 제공하고 있습니다.

Visual Basic 6.0 클래스 다운로드

다운로드 받으신 클래스들을 프로젝트에 포함시켜 주세요.

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(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 모드 설정