솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!
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));