POPBill Developers
연동신청
  • 가이드 0
  • 레퍼런스 0
  • 오류코드 0
팩스
  • 전자세금계산서
  • 현금영수증
  • 전자명세서
  • 홈택스수집(세금)
  • 홈택스수집(현금)
  • 사업자등록상태조회
  • 기업정보조회
  • 계좌조회
  • 예금주조회
  • 카카오톡
  • 문자
  • 팩스
Ruby
  • Java
  • PHP
  • .NET
  • .NET Core
  • Node.js
  • Python
  • Ruby
  • ASP
  • Delphi
  • PowerBuilder
  • Visual Basic
  • MS Access
SDK 레퍼런스

튜토리얼

Ruby 개발환경에서 팝빌 SDK를 추가하고, 팩스 전송 (SendFAX) API를 호출하는 기본 과정을 단계별로 따라 해볼 수 있도록 구성된 가이드 입니다.

1. POPBiLL SDK 추가

팝빌 Ruby SDK를 추가하기 위해 Rails 프로젝트 "Gemfile" 파일에 팝빌 Ruby Gem SDK 정보를 추가하고 bundle install을 진행합니다.

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.3.0'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.3'

# 팝빌 API Service
gem 'popbill', '1.52.0'

# 생략
# ...

2. POPBiLL SDK 설정

프로젝트에 팩스 서비스 기능을 수행할 Controller를 생성합니다.

rails generate controller tutorial

Controller에 연동신청시 발급받은 API Key 를 변수로 선언하고 아래의 코드를 참조하여 팩스 서비스 객체를 생성 합니다.

require 'popbill/fax'

class FaxController < ApplicationController

# 링크아이디
LinkID = "LinkID"

# 비밀키
SecretKey = "SwWxqU+0TExEXy/9TVjKPExI2VTUMMSLZtJf3Ed8q3I="

# 팩스 서비스 객체 초기화
FAXService = FaxService.instance(
  FaxController::LinkID,
  FaxController::SecretKey
)

# 연동환경 설정, true-테스트, false-운영(Production), (기본값:false)
FAXService.setIsTest(true)

# 인증토큰 IP 검증 설정, true-사용, false-미사용, (기본값:true)
FAXService.setIpRestrictOnOff(true)

# 통신 IP 고정, true-사용, false-미사용, (기본값:false)
FAXService.setUseStaticIP(false)

# 로컬시스템 시간 사용여부, true-사용, false-미사용, (기본값:true)
FAXService.setUseLocalTimeYN(true)

end

3. SendFAX 기능 구현

Controller 코드에 팩스 전송 (SendFAX) 함수 호출 코드를 추가합니다.

def sendFax

    # 팝빌회원 사업자번호
    corpNum = "1234567890"

    # 팝빌회원 아이디
    userID = "testkorea"

    # 발신번호
    sender = "07043042992"

    # 발신자명
    senderName = "발신자명"

    # 수신번호
    receiver = "070111222"

    # 수신자명
    receiverName = "수신자명"

    # 파일경로 배열, 최대 전송 파일개수 30개
    filePath = ["/Users/John/Desktop/test.jpg"]

    # 예약전송일시(yyyyMMddHHmmss), 미기재시 즉시전송
    reserveDT = ""

    # 광고팩스 전송여부
    adsYN = false

    # 팩스제목
    title = "팩스전송 제목"

    # 요청번호, 파트너가 전송요청에 대한 관리번호를 직접 할당하여 관리하는 경우 기재
    # 최대 36자리, 영문, 숫자, 언더바('_'), 하이픈('-')을 조합하여 사업자별로 중복되지 않도록 구성
    requestNum = ''

    begin
        @value = TutorialController::FAXService.sendFax(
            corpNum,
            sender,
            senderName,
            receiver,
            receiverName,
            filePath,
            reserveDT,
            userID,
            adsYN,
            title,
            requestNum,
        )
        @name = "receiptNum(접수번호)"
        render "home/response"
    rescue PopbillException => pe
        @Response = pe
        render "home/exception"
    end
end

4. API 응답결과 확인

API 호출 응답결과는 다음과 같습니다.

구분 응답
성공 ReceiptNum(접수번호) : 18자리 문자열
실패 code : 오류코드 (8자리 음의 정수) [오류코드]
message : 오류메시지