알림톡 발송
이 문서는 알림톡전송 소스와 방법에 대해 다룹니다.
첫 번째로는 Config 설정 방법 및 확인에 대해 설명합니다. 두 번째로 각 업무단 작성 방법을 설명합니다.
<update>
2023.08.03
failover 관련 가이드가 추가되었습니다.
알림톡 전송시 Api Common을 호출을 지향합니다.
Config 설정
application.yml 예시:
spring:
bizMessage:
accessKey: VHIZ4hLLrhf6uyRIrk4F
secretKey: pHvcggk52DXYOYYUDvXyLi5RkcmwneeMoOx8xoTd
alimTalk:
plusFriendId: "@X2BEE"
serviceId: ncp:kkobizmsg:kr:3094856:x2bee필수 속성
accessKey
secretKey
alimTalk.plusFriendId
alimTalk.serviceId
위 속성들은 NCP(Naver Cloud Platform) 에서 발급받아 작성합니다.
Sample 소스 및 설명
프로젝트 예시: https://gitlab.x2bee.com/x2bee-venus-beta/venus-x2bee-api-sample-vanilla
BizMessageController 예시 (요약):
(1), (2), (7), (8) 은 아래 표를 참조하여 작성합니다.
(2), (7), (8) 의 경우 Naver Cloud Platform 에서 승인받은 템플릿 내용과 버튼 명, 버튼 타입이 정확하게 일치해야 합니다.
템플릿 내용 컬럼과 버튼 컬럼의 type과 name을 참조하십시오.
템플릿 내용의 #{...} 변수명과 비즈니스 로직 VO의 변수명이 일치하면 replaceTemplateFormat에서 치환됩니다. 예제의 SendParams 는 제공하지 않습니다.
NCP 승인 템플릿 목록 테이블
1
PO1A
상품Q&A 답변 완료
type : WL name : 상품Q&A 문의 답변 확인
2
PO2A
주문완료
type : WL name : 주문상세 보기
3
PO2B
배송시작
type : WL name : 주문상세 보기
4
PO2C
배송지연
type : WL name : 주문상세 보기
5
PO2D
주문취소
type : WL name : 주문상세 보기
6
PO2E
교환접수 (추가배송비 결제 요청)
type : WL name : 주문상세 보기
7
PO2F
교환접수
type : WL name : 주문상세 보기
8
PO2G
교환 배송시작
type : WL name : 주문상세 보기
9
PO2H
반품접수
type : WL name : 주문상세 보기
10
PO2I
반품접수 (추가배송비 결제 요청)
type : WL name : 주문상세 보기
11
PO2J
반품완료
type : WL name : 주문상세 보기
12
PO3A
이벤트 당첨 - 경품
type : WL name : 마이페이지 참여내역
13
PO2K
1:1문의 답변 완료
type : WL name : 1:1문의 답변 확인
14
PO3B
휴면예정
15
PO3C
회원 가입
16
PO3D
마케팅 수신동의
17
PO3E
회원 탈퇴
18
PO3F
임시 비밀번호 안내
19
PO3G
관리자 인증번호 안내
(3) 템플릿 내용의 #{...} 과 교체할 파라미터를 비즈니스 로직에서 사용중인 VO 변수에 해당하는 변수로 set 합니다.
템플릿 변수(#{…}) 명과 VO의 변수명이 일치하면 replace 됩니다.
예제의 SendParams 는 제공되지 않습니다.
(4) 템플릿 내용과 파라미터 리스트를 MessageSender의 replaceTemplateFormat 메서드를 사용하여 매핑시킵니다.
(5), (6) 링크는 두개 모두 필수이며 https:// 를 반드시 포함해야 합니다.
(9) x2bee-api-common-vanilla 가 아닌 다른 프로젝트에서 알림톡을 전송하는 경우 api-common API를 호출합니다.
예제 소스와 같이 BizMessageRequest 객체에 필요 파라미터들을 담아 POST 방식으로 /api/common/interface/bizmessage/sendalimtalk End Point를 호출합니다.
messages 와 templateCode 는 필수 파라미터입니다.
commonApiUrl 은 application.yml 에 명시된 URL 입니다.
Failover 설정(알림톡 발송 실패시)
현재 X2BEE 카카오톡 채널은 Failover 설정이 True로 되어있어 messages.useSmsFailover 변수 작성여부에 관계없이 true로 default 요청됩니다. 따라서 Failover 를 사용하지 않는다면 messages.useSmsFailover 변수를 false로 설정해야 합니다.
failoverConfig 내 파라미터는 모두 Optional 로 작성하지 않으면 아래 각 파라미터 비고란에 적힌 내용과 같이 발송됩니다.
messages.failoverConfig.from 의 경우 NCP Console 에 지정된 발신번호로 자동등록되오니 작성할 필요가 없습니다.
plusFriendId
Mandatory
String
카카오톡 채널명 ((구)플러스친구 아이디)
templateCode
Mandatory
String
템플릿 코드
messages
Mandatory
Object
메시지 정보
- 아래 항목 참조 (messages.XXX) - 최대 100개
messages.useSmsFailover
Optional
Boolean
SMS Failover 사용 여부
- Failover가 설정된 카카오톡 채널에서만 사용 가능 - 기본: 카카오톡 채널의 Failover 설정 여부를 따름
messages.failoverConfig
Optional
Object
Failover 설정
아래 항목 참조
messages.failoverConfig.type
Optional
String
Failover SMS 메시지 Type
- SMS 또는 LMS - 기본: content 길이에 따라 자동 적용 (90 bytes 이하 SMS, 초과 LMS)
messages.failoverConfig.from
Optional
String
Failover SMS 발신번호
- 기본: Failover 설정 시 선택한 발신번호 - 승인되지 않은 발신번호 사용시 Failover 동작 안함
messages.failoverConfig.subject
Optional
String
Failover SMS 제목
- LMS type으로 동작할 때 사용 - 기본: 카카오톡 채널명
messages.failoverConfig.content
Optional
String
Failover SMS 내용
기본: 알림톡 메시지 내용 (버튼 제외)
마지막 업데이트