SDK

알림톡 템플릿 관리

작성일 2026.02.23 | 수정일 2026.02.23

해당 페이지에서는 SOLAPI Node.js SDK를 이용하여 카카오 알림톡 템플릿을 관리하는 방법에 대해 가이드하고 있습니다.
Node.js SDK를 통해 빠르고 쉽게 알림톡 템플릿을 관리해보세요!

  • 해당 페이지에서 작성된 모든 코드는 JavaScript로 작성되었습니다.

  • 각 예시에 대한 결과 값 표시 기능은 현재 준비중에 있습니다.

  • 해당 예제는 Node.js SDK 5.5.1 버전을 기준으로 작성되었습니다.

lightbulb

템플릿을 생성/수정하려면 카테고리 코드를 미리 조회하셔야 합니다.

문서가 작성된 순서로 코드를 작성하여 템플릿을 생성/수정해보세요!

템플릿 카테고리 조회

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);
  }
});

템플릿 생성

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);
    })

템플릿 검수 요청(대기 상태일때만 가능)

const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");

// 템플릿 검수 요청, 반드시 대기 상태의 템플릿만 검수 요청할 수 있습니다.
messageService
  .requestInspectionKakaoAlimtalkTemplate('검수할 알림톡 템플릿 ID')
  .then(res => console.log(res));

템플릿 검수 취소(검수중 상태에서만 가능)

const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");

// 템플릿 검수 취소, 반드시 검수중 상태의 템플릿만 검수 요청할 수 있습니다.
messageService
  .cancelInspectionKakaoAlimtalkTemplate('검수취소할 알림톡 템플릿 ID')
  .then(res => console.log(res));

템플릿 조회(목록, 단일 건 포함)

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));

템플릿 수정

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);
  });

템플릿 삭제

const { SolapiMessageService } = require("solapi");
const messageService = new SolapiMessageService("API 키 입력", "API 시크릿 키 입력");

messageService
  .removeKakaoAlimtalkTemplate('삭제할 알림톡 템플릿 ID')
  .then(res => console.log(res));