템플릿형 발송
작성일 2026.02.27 | 수정일 2026.03.25
엔드포인트, 요청 본문, 응답 구조 등 자세한 정보는 메시지 발송 공통 문서에서 확인해주세요
BMS_FREE를 제외한 모든 브랜드 메시지 타입(BMS_*)이 해당되며, 사전에 등록된 브랜드 메시지 템플릿을 기반으로 발송합니다.
템플릿에 포함된 변수(치환문구)는 발송 시점에 값으로 치환되며, 치환 후 최종 내용/제약은 템플릿 정책을 따릅니다.
필수 파라미터
선택 파라미터
kakaoOptions.buttons 오브젝트
템플릿에 정의된 버튼 정보를 지정합니다. 버튼 유형별 필수 파라미터가 다릅니다.
kakaoOptions.coupon 오브젝트
템플릿에 쿠폰이 포함된 경우 설정합니다.
타겟팅 설정
브랜드 메시지는 kakaoOptions.bms.targeting 값에 따라 발송 대상이 결정됩니다.
I를 제외한 타겟팅은 카카오 측에서 인허가된 비즈니스 채널만 사용할 수 있습니다. 관련 인허가 문의는 고객센터로 문의해주세요
템플릿 변수 설정
템플릿에 포함된 #{변수명} 형태의 치환문구를 kakaoOptions.variables로 설정합니다.
variables의 키·값은 반드시 모두 String 타입이어야 합니다.
chat
템플릿 원문 예시
안녕하세요, #{고객명} 고객님!
#{할인율} 할인 이벤트에 초대합니다.
{
"messages": [
{
"to": "01012345678",
"kakaoOptions": {
"pfId": "PFxxxxxxxxxxxxxxxx",
"templateId": "BMSxxxxxxxxxxxxxxxx",
"variables": {
"#{고객명}": "홍길동",
"#{할인율}": "20%"
},
"bms": {
"targeting": "I"
}
}
}
]
}chat
치환 결과
안녕하세요, 홍길동 고객님!
20% 할인 이벤트에 초대합니다.
주의사항
정의되지 않은 변수를 보내거나 필수 변수를 누락하면 발송이 실패합니다.
변수명은
#{와}사이에 위치하며, 템플릿에 정의된 이름과 정확히 일치해야 합니다.
BMS 템플릿형은 알림톡과 달리 messages[].text 직접 지정을 지원하지 않습니다. 반드시 variables를 사용해야 합니다.
요청 예시
{
"messages": [
{
"to": "01012345678",
"kakaoOptions": {
"pfId": "PFxxxxxxxxxxxxxxxx",
"templateId": "BMSxxxxxxxxxxxxxxxx",
"variables": {
"#{고객명}": "홍길동",
"#{할인율}": "20%"
},
"bms": {
"targeting": "I"
}
}
}
]
}{
"messages": [
{
"to": "01012345678",
"kakaoOptions": {
"pfId": "PFxxxxxxxxxxxxxxxx",
"templateId": "BMSxxxxxxxxxxxxxxxx",
"variables": {
"#{고객명}": "홍길동",
"#{상품명}": "여름 티셔츠"
},
"buttons": [
{
"buttonName": "바로가기",
"buttonType": "WL",
"linkMo": "https://example.com/event"
}
],
"coupon": {
"title": "5000원 할인 쿠폰",
"description": "3만원 이상 구매 시",
"linkMobile": "https://example.com/coupon"
},
"bms": {
"targeting": "I"
}
}
}
]
}