튜토리얼
Visual Basic 개발환경에서 팝빌 SDK를 추가하여 카카오톡 알림톡 전송 (SendATS) 함수를 구현하는 예시입니다.
1. POPBiLL SDK 추가
① 팝빌 연동자료실에서 Visual Basic SDK 예제코드 다운로드 후 압축을 해제합니다.
② 압축해제한 SDK 예제 프로젝트의 Linkhub/ Popbill*/ 폴더에 포함된 클래스모듈을 기존 프로젝트의 클래스모듈로 추가합니다.
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 함수, GetPlusFriendMgtURL 함수, 또는 팝빌사이트에서 확인
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 = ""
' 알림톡 버튼정보를 템플릿 신청시 기재한 버튼정보와 동일하게 전송하는 경우 btns를 빈 배열로 처리.
Dim Buttons As New Collection
' 알림톡 버튼 URL에 #{템플릿변수}를 기재한경우 템플릿변수 값을 변경하여 버튼정보 구성
'Dim btn As PBKakaoButton
'Set btn = New PBKakaoButton
'btn.n = "버튼명" '버튼명
'btn.t = "WL" '버튼유형 DS-배송조회, 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. 결과 확인
함수 호출 반환 결과는 아래와 같습니다.
- 성공 : ReceiptNum(접수번호) 18자리 문자열 반환
- 실패 : PopbillException 음의 정수 8자리 숫자값 오류코드와 오류메시지 반환 [오류코드]