API

카카오 알림톡

작성일 2026.02.28 | 수정일 2026.03.25

엔드포인트, 요청 본문, 응답 구조 등 자세한 정보는 메시지 발송 공통 문서에서 확인해주세요

사전에 등록된 템플릿 내용으로 알림톡을 발송합니다.
알림톡은 템플릿으로 내용을 미리 정해놓지만 변수(치환문구)를 포함할 수 있어 발송할 때에도 내용을 지정해야 합니다.

본문 이외에도 강조 표기 문구, 아이템 리스트, 부가 정보 등을 모두 합하여 변수 치환 후 1,000자를 넘을 수 없습니다.

항목내용
길이 제한한글 1,000자 (변수 치환 후 기준)
필수 필드to, kakaoOptions.pfId, kakaoOptions.templateId
대체발송지원 (disableSms: false + from 필수)
autoTypeDetect 조건kakaoOptions.templateId 존재 (+ bms.targeting 없음)

필수 파라미터

nametypeDescription
messages[].fromString발신번호
messages[].toString수신번호
messages[].kakaoOptions.pfIdString카카오 채널 프로필 ID
messages[].kakaoOptions.templateIdString알림톡 템플릿 ID

선택 파라미터

nameTypeDescription
messages[].textString메시지 제목
messages[].kakaoOptions.disableSmsBoolean대체발송 비활성화 여부. 기본값: false
messages[].kakaoOptions.titleString알림톡 제목
messages[].kakaoOptions.headerString알림톡 말머리
messages[].kakaoOptions.variablesObject템플릿 변수(치환문구)
{"#{변수명}": "값"} 형태
messages[].kakaoOptions.replacementsObject대체 텍스트
messages[].kakaoOptions.buttonsArray버튼 목록
messages[].kakaoOptions.quickRepliesArray바로연결 버튼 목록
messages[].kakaoOptions.highlightObject강조 표기
messages[].kakaoOptions.highlight.titleString강조 표기 제목
messages[].kakaoOptions.itemObject아이템 리스트
messages[].kakaoOptions.item.listArray아이템 항목 배열
messages[].kakaoOptions.item.list[].descriptionString아이템 설명
messages[].kakaoOptions.item.summaryObject아이템 요약
messages[].kakaoOptions.item.summary.descriptionString요약 설명

kakaoOptions.buttons 오브젝트

NameTypeRequiredDescription
buttonNameStringtrue버튼명
buttonTypeStringtrue버튼 타입
카카오 버튼 유형 안내 참조
linkMoString모바일 링크
linkPcStringPC 링크
linkAndString안드로이드 링크
linkIosStringiOS 링크

kakaoOptions.quickReplies 오브젝트

NameTypeRequiredDescription
nameStringtrue바로연결 버튼명
linkTypeStringtrue링크 유형
linkMoString모바일 링크
linkPcStringPC 링크
linkAndString안드로이드 링크
linkIosStringiOS 링크


템플릿 변수 설정 방법

messages.kakaoOptions.variables 파라미터를 사용하면 템플릿의 변수만 간단히 지정할 수 있습니다.

방법1: variables 사용(권장)

{
  "messages": [
    {
      "to": "01012345678",
      "from": "029302266",
      "kakaoOptions": {
        "pfId": "PFxxxxxxxxxxxxxxxx",
        "templateId": "KAxxxxxxxxxxxxxxxx",
        "variables": {
          "#{고객명}": "홍길동",
          "#{주문번호}": "ORD-12345",
          "#{배송일}": "2026년 3월 1일"
        }
      }
    }
  ]
}

방법 2: text 직접 지정

{
  "messages": [
    {
      "to": "01012345678",
      "from": "029302266",
      "text": "안녕하세요. 홍길동 고객님. 주문번호 ORD-12345의 배송이 2026년 3월 1일에 시작됩니다.",
      "kakaoOptions": {
        "pfId": "PFxxxxxxxxxxxxxxxx",
        "templateId": "KAxxxxxxxxxxxxxxxx"
      }
    }
  ]
}

아이템리스트 + 강조 표기 예시

{
  "messages": [
    {
      "to": "01012345678",
      "from": "029302266",
      "kakaoOptions": {
        "pfId": "PFxxxxxxxxxxxxxxxx",
        "templateId": "KAxxxxxxxxxxxxxxxx",
        "variables": {
          "#{고객명}": "홍길동"
        },
        "highlight": {
          "title": "가입 완료"
        },
        "item": {
          "list": [
            { "description": "GOLD" },
            { "description": "2026-02-27" },
            { "description": "user123" }
          ],
          "summary": {
            "description": "가입 혜택 3건"
          }
        },
        "buttons": [
          {
            "buttonName": "채널 추가",
            "buttonType": "AC"
          },
          {
            "buttonName": "바로가기",
            "buttonType": "WL",
            "linkMo": "https://example.com"
          }
        ]
      }
    }
  ]
}


대체발송

알림톡 발송에 실패하면 자동으로 문자(SMS/LMS)로 대체 발송됩니다.

  • kakaoOptions.disableSms: false (기본값)

  • from: 사전 등록된 발신번호 명시

from 필드가 비어있거나 등록되지 않은 번호이면, 알림톡 실패 시 대체발송 없이 그대로 실패합니다.

자세한 내용은 대체발송 문서를 확인해주세요.