카카오 알림톡 api 완벽정복 (feat. solapi & node.js)

2022. 3. 18. 19:53API,SDK

728x90

 

이번 포스트에서는 카카오 알림톡을 사용하는 방법에 대해 알아보도록 하자. 

 

알림톡이란? 

카카오 알림톡이란 기업고객이 자사의 카카오톡 채널을 통해 카카오톡 이용자에게 메시지를 발송할 수 있는 상품이다 (채널에 가입하지 않은 이용자에게도 발송 가능). 예를 들어 상품 구매가 발생했을 때 구매 내역을 발송한다던지, 이용자가 챌린지를 진행 중이라면 진행 중인 챌린지에 대한 정보를 전달한다던지 활용 방법은 무궁무진하다. 

 

기업 입장에서는 SMS를 통해 전달하는 것보다 저렴하게 보낼 수 있고, 고객 입장에서는 자주 확인하는 애플리케이션을 통해 부담 없이 메시지를 볼 수 있기 때문에 용이하다. 또 메시지 내용은 정보통신망법과 카카오의 가이드에 맞게 검수를 받기 때문에 SMS에 비해 스팸이나 피싱 성 메시지가 적은듯하다. 

 

 

카카오 비즈니스 가이드


알림톡 적용 프로세스 요약

어떤 딜러사를 선택하느냐에 따라 차이는 있을 수 있으나 보통 알림톡을 적용하기 위해선 아래와 같은 프로세스가 요구된다.

 

1. 카카오톡 채널 개설

2. 비즈니스 채널 신청 (영업일 기준 3~5일)

3. 카카오와 파트너 계약이 되어 있는 공식 딜러사 선택 및 가입

4. 딜러사 콘솔에서 계정 인증 및 발신번호 입력 (영업일 기준 1~2일 또는 실시간 채팅으로 빠르게 요청 가능)

5. 딜러사 콘솔에서 카카오 채널 연동

6. 딜러사 콘솔에서 알림톡 템플릿 생성 및 검수 (영업일 기준 1~3일이라 되어있지만 보통 하루 만에 완료)

7. (콘솔 전송시) 딜러사 콘솔에서 검수된 알림톡 템플릿으로 알림톡 전송 

 

콘솔에서 알림톡을 전송하는 것이 아니고 api를 사용하기 위해선 아래 프로세스가 추가적으로 필요하다

 

7. (api 사용시) 콘솔에서 api key, secret key 생성 후 환경 변수 파일에 등록

8. sdk 설치 

9. 카카오 채널 ID, 템플릿 ID 등 해당 api 개발문서에서 요구하는 매개변수와 함께 알림톡 전송

 


1. 카카오톡 채널 개설

 

아래 링크에서 카카오 채널 시작하기 버튼을 눌러 채널을 개설해주자

 

 

카카오비즈니스

비즈니스, 톡처럼 쉬워지다.

business.kakao.com

 

 

2. 비즈니스 채널 신청

 

연결할 채널 선택한 후, [관리] > [비즈니스 채널 신청] 메뉴에서 [신청하기]를 클릭하여 비즈니스 채널을 신청해주자 (사업자 등록번호 필요).

 

자세한 신청 방법은 해당 링크를 참고하길 바란다. 

 

영업일 기준 3-5일후 심사가 완료 후 승인이 되면 아래와 같이 대시보드에 비즈니스 채널 배지가 달린 걸 확인할 수 있다.

 

비즈니스 채널 대시보드

 

3. 카카오와 파트너 계약이 되어 있는 공식 딜러사 선택 및 가입

 

알림톡의 경우 카카오에서 별도의 발송 플랫폼을 제공하지 않기 때문에 카카오와 파트너 계약이 되어 있는 딜러사를 선택해서 사용해야 한다. 공식 딜러사 리스트는 해당 링크의 사용문의 탭에서 확인가능하다.

 

딜러사 마다 요금이 다르니 꼭 건당 가격을 확인 후 선택하도록 하자.

필자는 자사에서 누리고(solapi)라는 딜러사를 ​선택했고 해당 포스트 작성 기준 알림톡은 건당 8원, SMS는 건당 14원이다.

 

 

세상에서 가장 쉬운 알림톡 문자메시지 플랫폼 - 솔라피

3중 보안으로 안전보장 기존 아이디/비밀번호 방식의 로그인에 더해서 2차 인증 도입으로 해킹 사고로 부터 안전합니다. 발송량에 따라 일일 발송량 제한이 자동으로 조정되어 클라이언트 프로

solapi.com

 

4.  딜러사 콘솔에서 계정 인증 및 발신번호 입력

 

여기서 부터는 어떤 딜러사를 선택하느냐에 따라 프로세스가 다르기 때문에 해당 딜러사가 요구하는대로 진행하면 된다.

solapi가입 후 대시보드에 들어가게 되면 발송 준비를 완료하기 위해 어떤 것이 필요한지 자세히 안내해준다

 

더 알아보기 클릭

요구하는 순서대로 등록/인증을 해주면 된다.

5. 딜러사 콘솔에서 카카오 채널 연동 

 

앞서 신청해둔 카카오 채널을 등록해주자

 

사이드바에서 카카오 채널 클릭

 

카카오채널 탭으로 이동후 카카오 채널 등록을 눌러 정보를 입력해주자. 

 

검색용 아이디는 비즈니스 채널 [관리]-[상세 설정]의 채널 정보 탭에서 확인할 수 있다.

 

6. 딜러사 콘솔에서 알림톡 템플릿 생성 및 검수

 

이제 알림톡의 내용을 담을 템플릿을 생성해줄 차례이다. 새로운 메시지를 작성하거나 수정사항이 있을 때마다 검수를 받는 게 귀찮긴 하지만 이 과정이 없으면 스팸이나 피싱성 메시지가 난무하게 될 것이기 때문에 필요한 프로세스라고 생각하고 있다.

 

사이드바에서 알림톡 템플릿 클릭

 

 

카카오 채널 선택에는 앞서 등록해둔 카카오 채널 선택해주자

템플릿 이름에는 추후에 템플릿을 알아볼수 있도록 이름을 지정해주자. 

템플릿 내용에는 전달할 메세지의 내용을 입력해주자. #{변수명}으로 해당 위치에는 변수가 들어갈 것이라는 걸 알려주자.

템플릿 내용검증에는 전달할 메시지의 내용을 확인하는 용도로 써주자. 변수 사용 시 해당 변수를 문자로 대입하면 유효성 검사를 해준다.

 

연동하고 싶은 웹이나 앱링크가 있다면 크게 다르지 않은 방식으로 버튼도 추가해줄 수가 있다.

 

 

모두 입력을 완료했으면 템플릿 등록완료후 검수 요청을 하면 된다. 검수 가이드를 준수하지 않았다면 반려되고 또 며칠을 기다려야 하는 불상사가 일어날 수 있으니 아래 알림 톡 검수 가이드를 꼭 확인한 뒤 요청 하자.

 

 

알림톡 검수가이드 - kakao business 비즈니스 가이드

검수 승인은 메시지와 링크 등이 현행법, 알림톡 심사가이드 등에 적합함을 최종적으로 보증하거나 보장하는 것은 아닙니다. 현행법, 알림톡 심사가이드 등을 준수하지 않았거나 신고가 다수

kakaobusiness.gitbook.io

 

7. (api 사용시) 콘솔에서 api key, secret key 생성 후 환경 변수 파일에 등록

 

이 시점에는 콘솔에서 알림톡을 수동으로 보낼 수 있지만, 해당 글은 api를 사용해 알림 톡을 전송하는 것이기 때문에 API Key관리 페이지에서 새로운 API 키 페어를 생 성해준 뒤 환경 변수 파일에 등록해주도록 하자. 

 

8. SDK 설치

 

본격적으로 사용하기 앞서 SDK 를 설치해주자. 필자는 Solapi를 사용 중이므로 Solapi SDK (Node JS) 를 다운로드했다.

 

npm install --save solapi // 또는 yarn add solapi

 

9. 카카오 채널 ID, 템플릿 ID 등 해당 api 개발 문서에서 요구하는 매개변수와 함께 알림 톡 전송

 

이제 개발문서와 예제를 참고해서 알림톡을 전송해주면 된다.

 

필자는 챌린지를 진행중인 고객에게 현재 며칠 차인지 확인할 수 있도록 정보성 메시지와 바로 진행할 수 있도록 링크를 보냈기 때문에 아래와 같이 작성했다.

 

const { msg } = require("solapi");


const sendChallangeReminder = async (phoneNumber, title, dayIndex, url) => {
  await msg.send({
    messages: [
      {
        to: phoneNumber,
        from: process.env.PHONE_NUMBER,
        text: "챌린지 진행",
        kakaoOptions: {
          pfId: process.env.PF_ID,
          templateId: process.env.TEMP_ID,
          variables: {
            "#{title}": title,
            "#{day}": dayIndex,
            "#{url}": url,
          },
        },
      },
    ],
  });
};

 

 

사용하고자 하는 템플릿에 변수를 지정해줬다면 (6번 프로세스에 했던것처럼) kakaoOptions의 variables에 변수값을 대입시켜주면 된다.

 

필자는 자사에서 파이어베이스를 사용 중이기 때문에 Cloud Function 을 통해 매일 일정 시간마다 해당 함수를 실행시키는 로직을 구현했고, 그 결과 아래와 같이 특정 챌린지를 진행 중인 사용자에게 같은 시간 알림 톡이 가도록 설정했다.

 

알림톡 전송 완료!


해당 예제에서는 solapi v4.1.3을 사용하였으나 지금 v5 베타 버전이 나온 상태라 sendOne, sendMany이런식으로 메서드 이름이 변경된것 같다. 자세한 내용은 solapi 공식문서와 아래 깃헙 예시에서 확인이 가능하다.

 

 

GitHub - solapi/solapi-nodejs: SOLAPI SDK for Node.js

SOLAPI SDK for Node.js. Contribute to solapi/solapi-nodejs development by creating an account on GitHub.

github.com

 

'API,SDK' 카테고리의 다른 글

[Algolia] infix/suffix 검색 설정하기  (1) 2024.02.16
[NextJS] 채널톡 Script 추가하기  (0) 2022.04.28