POPBill Developers
가이드

튜토리얼

MS Access 개발환경에서 팝빌 SDK를 추가하여 카카오톡 알림톡 전송 (SendATS) 함수를 구현하는 예시입니다.

1. POPBiLL SDK 추가

① 팝빌 연동자료실에서 MS Access SDK 예제코드 다운로드 후 압축을 해제합니다.

② 압축해제한 카카오톡 서비스 Access 예제파일에 포함된 클래스 모듈을 기존 프로젝트의 클래스 모듈로 추가합니다.

2. POPBiLL SDK 설정

Window 폼 코드에 API Key 와 클래스를 선언하고 Form_Load() 서브모듈에 카카오톡 클래스 초기화 코드를 추가합니다.

① Form API Key, 클래스 객체 선언

Option Explicit

' 링크아이디
Private Const LinkID = "TESTER"

' 비밀키
Private Const SecretKey = "SwWxqU+0TErBXy/9TVjIPEnI0VTUMMSQZtJf3Ed8q3I="

' 카카오톡 서비스 객체 선언
Private KakaoService As New PBKakaoService

② Form_Load() 서브모듈

Private Sub Form_Load()

  ' 카카오톡 서비스 객체 초기화
  KakaoService.Initialize LinkID, SecretKey

  ' 연동환경 설정, True-테스트, False-운영(Production), (기본값:False)
  KakaoService.IsTest = True

  ' 인증토큰 IP 검증 설정, True-사용, False-미사용, (기본값:True)
  KakaoService.IPRestrictOnOff = True

  ' 로컬시스템 시간 사용여부, True-사용, False-미사용, (기본값:False)
  KakaoService.UseLocalTimeYN = False
End Sub

3. SendATS 기능 구현

Form에 버튼을 생성하고 버튼의 Click Event 코드에 카카오톡 알림톡 전송 (SendATS) 함수 호출 코드를 작성합니다.

Private Sub btnSendATS_ONE_Click()
    Dim templateCode As String
    Dim snd As String
    Dim altSendType As String
    Dim receiptNum As String
    Dim requestNum As String
    Dim content As String
    Dim corpNum As String
    Dim userID As String
    Dim reserveDT As String

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

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

    '알림톡 템플릿코드 - ListATStemplate API, GetPlusFriendMgtURL API, 또는 팝빌사이트에서 확인
    templateCode = "019020000163"

    '팝빌에 사전 등록된 발신번호
    snd = "07043042992"

    '알림톡 내용, 최대 1000자
    content = "[ 팝빌 ]" + vbCrLf
    content = content + "신청하신 #{템플릿코드}에 대한 심사가 완료되어 승인 처리되었습니다." + vbCrLf
    content = content + "해당 템플릿으로 전송 가능합니다." + vbCrLf + vbCrLf
    content = content + "문의사항 있으시면 파트너센터로 편하게 연락주시기 바랍니다. " + vbCrLf + vbCrLf
    content = content + "팝빌 파트너센터 : 1600-8536" + vbCrLf
    content = content + "support@linkhubcorp.com"


    '대체문자 전송유형 (공백-미전송, C-알림톡내용 전송, A-대체문자내용 전송)
    altSendType = "A"

    '카카오톡 전송정보
    Dim Messages As New Collection
    Dim info As New PBKakaoReceiver

    info.msg = content                '알림톡 내용, 최대 1000자
    info.altmsg = "알림톡 대체 문자"  '대체문자 내용, 최대 2000byte
    info.rcv = "010123456"            '수신번호
    info.rcvnm = "popbill"            '수신자명

    Messages.Add info


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

    '예약전송일시
    reserveDT = ""

    '알림톡 버튼정보를 템플릿 신청시 기재한 버튼정보와 동일하게 전송하는 경우 Buttons를 빈 배열로 처리.
    Dim Buttons As New Collection

    '알림톡 버튼 URL에 #{템플릿변수}를 기재한경우 템플릿변수 값을 변경하여 버튼정보 구성
    'Dim btn As PBKakaoButton
    'Set btn = New PBKakaoButton

    'btn.n = "버튼명"                        '버튼명
    'btn.t = "WL"                            '버튼유형 WL-웹링크, AL-앱링크, MD-메시지전달 BK-봇키워드
    'btn.u1 = "https://www.linkhubcorp.com"    '앱링크-Android, 웹링크-Mobile
    'btn.u2 = "http://www.popbill.com"       '앱링크-IOS, 웹링크-PC

    'Buttons.Add btn

    receiptNum = KakaoService.SendATS(corpNum, templateCode, snd, "", "", altSendType, reserveDT, Messages, userID, requestNum, Buttons)

    If receiptNum = "" Then
        MsgBox ("응답코드 : " + CStr(KakaoService.LastErrCode) + vbCrLf + "응답메시지 : " + KakaoService.LastErrMessage)
        Exit Sub
    End If

    MsgBox "접수 번호 : " + receiptNum

End Sub

4. 결과 확인

함수 호출 반환 결과는 아래와 같습니다.
- 성공 : Response code 로 숫자 1 반환
- 실패 : PopbillException 으로 음의 정수 8자리 숫자값 오류코드와 오류메시지 반환 [오류코드]