알림톡 템플릿 관리
해당 페이지에서는 SOLAPI Node.js SDK를 이용하여 카카오 알림톡 템플릿을 관리하는 방법에 대해 가이드하고 있습니다.
Node.js SDK를 통해 빠르고 쉽게 알림톡 템플릿을 관리해보세요!
정보
- 해당 페이지에서 작성된 모든 코드는 JavaScript로 작성되었습니다.
- 각 예시에 대한 결과 값 표시 기능은 현재 준비중에 있습니다.
- 해당 예제는 Node.js SDK 5.2.0 버전을 기준으로 작성되었습니다.
템플릿을 생성/수정할 때 알아두시면 좋은 사항
- 템플릿을 생성/수정하려면 카테고리 코드를 미리 조회하셔야 합니다.
- 문서가 작성된 순서로 코드를 작성하여 템플릿을 생성/수정해보세요!
템플릿 카테고리 조회
JavaScript
const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");
messageService.getKakaoAlimtalkTemplateCategories().then(res => {
for (const category of res) {
// 알림톡 템플릿 카테고리 코드
console.log(category.code);
console.log('----');
// 알림톡 템플릿 카테고리 이름
console.log(category.name);
}
});
템플릿 생성
JavaScript
const { SolapiMessageService } = require('solapi')
const messageService = new SolapiMessageService('API 키 입력', 'API 시크릿 키 입력')
messageService
.createKakaoAlimtalkTemplate({
name: '등록할 템플릿 제목(등록된 템플릿과 중복불가)',
content: '등록할 템플릿 내용',
channelId: '등록할 템플릿의 채널 ID(pfId)',
// 채널 그룹으로 등록하는 경우 아래 주석 해제
// channelGroupId: '등록할 템플릿의 채널 그룹 ID(pfId)',
categoryCode: '조회한 템플릿 카테고리 코드',
// 아래 데이터부터는 선택사항
/**
* 알림톡 버튼, 최대 5개까지 입력할 수 있으며, 바로연결이 추가되면 최대 두개까지만 추가될 수 있습니다.
*/
/*buttons: [
{
buttonName: '버튼이름',
/!**
* 카카오 버튼 타입에 대한 설명은 아래 페이지를 참고해주세요!
* @see https://developers.solapi.com/references/kakao/button-link-type
*!/
buttonType: 'WL',
linkMo: 'https://m.example.com',
linkPc: 'https://example.com',
},
],*/
/**
* 바로연결, 10개까지만 등록할 수 있으며, 바로연결이 추가되면 버튼은 최대 두개까지 추가될 수 있습니다.
*/
/*quickReplies: [
{
name: '바로연결 버튼이름',
/!**
* 카카오 버튼 타입에 대한 설명은 아래 페이지를 참고해주세요!
* @see https://developers.solapi.com/references/kakao/button-link-type
* 바로연결에서 허용되는 버튼 타입은 아래와 같습니다.
* WL: 웹링크, AL: 앱링크, BK: 봇키워드, BT: 봇전환, BC: 상담톡전환
*!/
linkType: 'WL',
linkMo: 'https://m.example.com',
linkPc: 'https://example.com',
},
],*/
/**
* 카카오 알림톡 템플릿 메시지 유형
* BA:기본형, EX:부가정보형, AD:광고추가형, MI: 복합형
* 미지정시 기본값은 기본형(BA)입니다.
*/
//messageType: 'BA',
/**
* 카카오 알림톡 템플릿 강조 유형
* NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형
* 미지정시 기본값은 선택안함(NONE) 입니다.
* 강조 유형에 대한 자세한 설명은 아래 페이지를 참고해주세요!
* @see https://developers.solapi.com/references/kakao/templates/createTemplate#%EA%B0%95%EC%A1%B0-%EC%9C%A0%ED%98%95
*/
//emphasizeType: 'NONE',
// 강조표기형(TEXT) 유형일 때 추가할 수 있는 강조표기형 제목
//emphasizeTitle: '',
// 강조표기형(TEXT) 유형일 때 추가할 수 있는 강조표기형 부제목
//emphasizeSubTitle: '',
/**
* 아이템 리스트(ITEM_LIST) 유형에서만 사용 가능한 알림톡 헤더.
* 변수(치환문구) 포함 가능. 최대 16자
*/
//header: '헤더 입력',
//알림톡 하이라이트, 강조 유형이 아이템 리스트일 때만 사용 가능합니다.
/*highlight: {
title: '하이라이트 제목', // 알림톡 하이라이트 제목, 변수 포함가능 및 최대 30자까지 입력 가능
description: '', // 알림톡 하이라이트 내용. 변수 포함 불가능. 최대 16자까지 입력 가능
/!**
* 알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA일 경우에만 사용 가능합니다.
* 이미지 ID에 관한 설명은 아래 페이지를 확인해보세요!
* @see https://developers.solapi.com/references/storage
*!/
// imageId: ''
},*/
// 알림톡 아이템, 목록과 요약이 있습니다. 강조 유형이 아이템 리스트일 때만 사용 가능합니다.
/*item: {
// 알림톡 아이템 리스트, 최소 2개, 최대 10개까지 등록할 수 있습니다.
list: [
{
title: '아이템리스트', // 아이템 리스트 제목, 변수 포함 불가, 최대 6자까지 입력 가능합니다.
description: '아이템 리스트 내용', // 아이템 리스트 내용, 변수 포함가능, 최대 23까지 입력 가능합니다.
},
],
summary: {
title: '', // 알림톡 아이템 리스트 요약 제목, 변수 포함 불가, 최대 6자까지 입력 가능합니다.
description: '', // 알림톡 아이템 리스트 요약 내용. 변수 포함 가능. 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능합니다. 최대 14자까지 입력 가능합니다.
},
},*/
// 부가정보. 변수 포함 불가능. 최대 500자
//extra: '',
/**
* 보안 템플릿 여부. true일 경우 해당 템플릿을 PC에서는 확인할 수 없습니다. 기본값: false
* 미지정시 기본값은 false 입니다.
*/
//securityFlag: false,
//알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA일 경우에만 사용 가능합니다.
//imageId: '',
})
.then(res => {
console.log(res);
})
템플릿 검수 요청(대기 상태일때만 가능)
JavaScript
const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");
// 템플릿 검수 요청, 반드시 대기 상태의 템플릿만 검수 요청할 수 있습니다.
messageService
.requestInspectionKakaoAlimtalkTemplate('검수할 알림톡 템플릿 ID')
.then(res => console.log(res));
템플릿 검수 취소(검수중 상태에서만 가능)
JavaScript
const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");
// 템플릿 검수 취소, 반드시 검수중 상태의 템플릿만 검수 요청할 수 있습니다.
messageService
.cancelInspectionKakaoAlimtalkTemplate('검수취소할 알림톡 템플릿 ID')
.then(res => console.log(res));
템플릿 조회(목록, 단일 건 포함)
JavaScript
const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");
// 알림톡 템플릿 단일 건 조회
messageService
.getKakaoAlimtalkTemplate('조회할 알림톡 template ID')
.then(res => console.log(res));
// 알림톡 템플릿 목록 조회
messageService
.getKakaoAlimtalkTemplates
// 검색 조건이 있을 떄 추가
/*{
limit: 5, // 한 번 요청당 조회할 건 수 입력, 기본값은 20
startKey: '페이지네이션 조회 키',
name: '템플릿 이름 입력(일부 키워드로 검색 가능)',
// 템플릿 이름 검색을 eq, ne 등이 포함된 object로 더 자세하게 검색할 수 있습니다!
/!*name: {
eq: '', // 해당 값과 완벽히 일치하는 템플릿만을 검색
ne: '', // 해당 값과 불일치하는 템플릿만을 검색
},*!/
channelId: '카카오 채널 ID 입력(구 pfId)',
templateId: '알림톡 템플릿 ID 입력',
isHidden: true, // 숨긴 템플릿 검색, true로 했을 때만 숨긴 템플릿이 검색 됨
/!**
* @type {import('solapi').GetKakaoAlimtalkTemplatesRequest.status}
* status 안에 포함된 4가지 사항 중 한가지 선택
* PENDING: 대기(검수필요)
* INSPECTING: 검수중
* APPROVED: 등록완료(검수완료)
* REJECTED: 반려됨
* *!/
status: 'INSPECTING',
startDate: '',
endDate: '',
},*/
()
.then(res => console.log(res));
템플릿 수정
JavaScript
const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");
messageService
.updateKakaoAlimtalkTemplate('수정할 알림톡 템플릿 ID', {
//name: '수정할 템플릿 제목(등록된 템플릿과 중복불가)',
//content: '수정할 템플릿 내용',
//categoryCode: '999999', // 카테고리 코드, 카테고리 코드를 미리 조회하신 다음 코드를 입력해주세요.
/**
* 알림톡 버튼, 최대 5개까지 입력할 수 있으며, 바로연결이 추가되면 최대 두개까지만 추가될 수 있습니다.
*/
/*buttons: [
{
buttonName: '버튼이름',
/!**
* 카카오 버튼 타입에 대한 설명은 아래 페이지를 참고해주세요!
* @see https://developers.solapi.com/references/kakao/button-link-type
*!/
buttonType: 'WL',
linkMo: 'https://m.example.com',
linkPc: 'https://example.com',
},
],*/
/**
* 바로연결, 10개까지만 등록할 수 있으며, 바로연결이 추가되면 버튼은 최대 두개까지 추가될 수 있습니다.
*/
/*quickReplies: [
{
name: '바로연결 버튼이름',
/!**
* 카카오 버튼 타입에 대한 설명은 아래 페이지를 참고해주세요!
* @see https://developers.solapi.com/references/kakao/button-link-type
* 바로연결에서 허용되는 버튼 타입은 아래와 같습니다.
* WL: 웹링크, AL: 앱링크, BK: 봇키워드, BT: 봇전환, BC: 상담톡전환
*!/
linkType: 'WL',
linkMo: 'https://m.example.com',
linkPc: 'https://example.com',
},
],*/
/**
* 카카오 알림톡 템플릿 메시지 유형
* BA:기본형, EX:부가정보형, AD:광고추가형, MI: 복합형
* 미지정시 기본값은 기본형(BA)입니다.
*/
//messageType: 'BA',
/**
* 카카오 알림톡 템플릿 강조 유형
* NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형
* 미지정시 기본값은 선택안함(NONE) 입니다.
* 강조 유형에 대한 자세한 설명은 아래 페이지를 참고해주세요!
* @see https://developers.solapi.com/references/kakao/templates/createTemplate#%EA%B0%95%EC%A1%B0-%EC%9C%A0%ED%98%95
*/
//emphasizeType: 'NONE',
// 강조표기형(TEXT) 유형일 때 추가할 수 있는 강조표기형 제목
//emphasizeTitle: '',
// 강조표기형(TEXT) 유형일 때 추가할 수 있는 강조표기형 부제목
//emphasizeSubTitle: '',
/**
* 아이템 리스트(ITEM_LIST) 유형에서만 사용 가능한 알림톡 헤더.
* 변수(치환문구) 포함 가능. 최대 16자
*/
//header: '헤더 입력',
//알림톡 하이라이트, 강조 유형이 아이템 리스트일 때만 사용 가능합니다.
/*highlight: {
title: '하이라이트 제목', // 알림톡 하이라이트 제목, 변수 포함가능 및 최대 30자까지 입력 가능
description: '', // 알림톡 하이라이트 내용. 변수 포함 불가능. 최대 16자까지 입력 가능
/!**
* 알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA일 경우에만 사용 가능합니다.
* 이미지 ID에 관한 설명은 아래 페이지를 확인해보세요!
* @see https://developers.solapi.com/references/storage
*!/
// imageId: ''
},*/
// 알림톡 아이템, 목록과 요약이 있습니다. 강조 유형이 아이템 리스트일 때만 사용 가능합니다.
/*item: {
// 알림톡 아이템 리스트, 최소 2개, 최대 10개까지 등록할 수 있습니다.
list: [
{
title: '아이템리스트', // 아이템 리스트 제목, 변수 포함 불가, 최대 6자까지 입력 가능합니다.
description: '아이템 리스트 내용', // 아이템 리스트 내용, 변수 포함가능, 최대 23까지 입력 가능합니다.
},
],
summary: {
title: '', // 알림톡 아이템 리스트 요약 제목, 변수 포함 불가, 최대 6자까지 입력 가능합니다.
description: '', // 알림톡 아이템 리스트 요약 내용. 변수 포함 가능. 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능합니다. 최대 14자까지 입력 가능합니다.
},
},*/
// 부가정보. 변수 포함 불가능. 최대 500자
//extra: '',
/**
* 보안 템플릿 여부. true일 경우 해당 템플릿을 PC에서는 확인할 수 없습니다. 기본값: false
* 미지정시 기본값은 false 입니다.
*/
//securityFlag: false,
//알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA일 경우에만 사용 가능합니다.
//imageId: '',
})
.then(res => {
console.log(res);
});
템플릿 삭제
JavaScript
const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");
messageService
.removeKakaoAlimtalkTemplate('삭제할 알림톡 템플릿 ID')
.then(res => console.log(res));