알림톡 발송

이 문서는 알림톡전송 소스와 방법에 대해 다룹니다.

첫 번째로는 Config 설정 방법 및 확인에 대해 설명합니다. 두 번째로 각 업무단 작성 방법을 설명합니다.

circle-info

<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 에서 승인받은 템플릿 내용과 버튼 명, 버튼 타입이 정확하게 일치해야 합니다.

  • 템플릿 내용 컬럼과 버튼 컬럼의 typename을 참조하십시오.

circle-info

템플릿 내용의 #{...} 변수명과 비즈니스 로직 VO의 변수명이 일치하면 replaceTemplateFormat에서 치환됩니다. 예제의 SendParams 는 제공하지 않습니다.

NCP 승인 템플릿 목록 테이블

TMPL-CODE (1)
구분
템플릿 내용 (2)
버튼 (7), (8)

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) 템플릿 내용과 파라미터 리스트를 MessageSenderreplaceTemplateFormat 메서드를 사용하여 매핑시킵니다.

(5), (6) 링크는 두개 모두 필수이며 https:// 를 반드시 포함해야 합니다.

(9) x2bee-api-common-vanilla 가 아닌 다른 프로젝트에서 알림톡을 전송하는 경우 api-common API를 호출합니다. 예제 소스와 같이 BizMessageRequest 객체에 필요 파라미터들을 담아 POST 방식으로 /api/common/interface/bizmessage/sendalimtalk End Point를 호출합니다.

  • messagestemplateCode 는 필수 파라미터입니다.

  • commonApiUrl 은 application.yml 에 명시된 URL 입니다.

Failover 설정(알림톡 발송 실패시)

  • 현재 X2BEE 카카오톡 채널은 Failover 설정이 True로 되어있어 messages.useSmsFailover 변수 작성여부에 관계없이 true로 default 요청됩니다. 따라서 Failover 를 사용하지 않는다면 messages.useSmsFailover 변수를 false로 설정해야 합니다.

  • failoverConfig 내 파라미터는 모두 Optional 로 작성하지 않으면 아래 각 파라미터 비고란에 적힌 내용과 같이 발송됩니다.

  • messages.failoverConfig.from 의 경우 NCP Console 에 지정된 발신번호로 자동등록되오니 작성할 필요가 없습니다.

항목
Mandatory
Type
설명
비고

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 내용

기본: 알림톡 메시지 내용 (버튼 제외)


마지막 업데이트