브랜드 템플릿 추가
목차
- 브랜드 메시지 타입별 발송 조건 및 파라미터 가이드
Request
[POST] https://api.solapi.com/kakao/v2/brand-templates
브랜드 템플릿을 새롭게 등록합니다.
브랜드 템플릿은 등록 후 검수 절차 없이 사용이 가능합니다.
브랜드 메시지 타입별 발송 조건 및 파라미터 가이드
브랜드 메시지 타입별 발송 가능 대상
-
광고주 마수동 유저(카카오톡 수신 동의) + 채널 친구 유저에게 발송 가능한 메시지 타입:
- 'TEXT', 'IMAGE', 'WIDE', 'CAROUSEL_FEED', 'PREMIUM_VIDEO'
-
채널 친구 유저만 발송 가능한 메시지 타입:
- 'TEXT', 'IMAGE', 'WIDE', 'CAROUSEL_FEED', 'WIDE_ITEM_LIST', 'COMMERCE', 'CAROUSEL_COMMERCE', 'PREMIUM_VIDEO'
변수명 제약 조건
- 최대 20자 이내
- 허용 문자: 한글, 영문, 숫자, 특수기호 '-', '_'
타입별 파라미터 정의
타입 | 설명 | 사용 가능 파라미터 | 필수 파라미터 |
---|---|---|---|
TEXT | 텍스트 | pfId or pfGroupId, name, chatBubbleType, adult, content, buttons, coupon | pfId or pfGroupId, name, chatBubbleType, content |
IMAGE | 이미지 | pfId or pfGroupId, name, chatBubbleType, adult, content, imageId(BMS), buttons, coupon, imageLink | pfId or pfGroupId, name, chatBubbleType, content, imageId(BMS) |
WIDE | 와이드 이미지 | pfId or pfGroupId, name, chatBubbleType, adult, content, imageId, buttons, coupon, imageLink | pfId or pfGroupId, name, chatBubbleType, content, imageId |
WIDE_ITEM_LIST | 와이드 리스트 | pfId or pfGroupId, name, chatBubbleType, adult, header, mainWideItem, subWideItemList, buttons, coupon | pfId or pfGroupId, name, chatBubbleType, header, mainWideItem, subWideItemList |
CAROUSEL_FEED | 캐러셀 피드 | pfId or pfGroupId, name, chatBubbleType, adult, carousel.list, carousel.tail | pfId or pfGroupId, name, chatBubbleType, carousel.list |
COMMERCE | 커머스 | pfId or pfGroupId, name, chatBubbleType, adult, additionalContent, imageId, commerce, buttons, coupon, imageLink | pfId or pfGroupId, name, chatBubbleType, imageId, commerce, buttons |
CAROUSEL_COMMERCE | 캐러셀 커머스 | pfId or pfGroupId, name, chatBubbleType, adult, carousel.head, carousel.list, carousel.tail | pfId or pfGroupId, name, chatBubbleType, carousel.list |
PREMIUM_VIDEO | 프리미엄 동영상 | pfId or pfGroupId, name, chatBubbleType, adult, header, content, video, buttons, coupon | pfId or pfGroupId, name, chatBubbleType, video |
파라미터 설명
필드 | 타입 | 설명 |
---|---|---|
pfId | Text(32) | 플러스친구 아이디 |
pfGroupId | Text(32) | 플러스친구 그룹 아이디 |
chatBubbleType | Text | TEXT - 텍스트형 IMAGE - 이미지형 WIDE - 와이드 이미지형 WIDE_ITEM_LIST - 와이드 리스트형 CAROUSEL_FEED - 캐러셀 피드형 PREMIUM_VIDEO - 프리미엄 동영상형 COMMERCE - 커머스형 CAROUSEL_COMMERCE - 캐러셀 커머스형 |
name | Text(200) | 템플릿 이름 |
content | Text | 템플릿 내용 TEXT - 최대 100자 (줄바꿈 최대 33개, url형식 입력 가능) IMAGE – 최대 400자 (줄바꿈 최대 29개, URL 형식 입력 가능)템플릿 내용 WIDE, PREMIUM_VIDEO – 최대 76자 (줄바꿈 최대 1개) |
adult | Boolean | 성인용 메시지 여부 true: 성인용 메시지 false: 모든 연령 메시지 (기본값) |
header | Text(20) | 템플릿 헤더 (최대 20자 줄바꿈 불가) |
imageId | Text(32) | 브랜드 메시지 이미지 아이디 (타입: BMS) |
imageLink | Text(100) | 이미지 클릭 시 이동할 링크 |
additionalContent(34) | Text | 템플릿 부가정보 |
carousel | Object | 캐러셀 정보 (리스트는 최소 1~6개, 인트로 및 tail 포함 가능) |
mainWideItem | Object | 와이드 리스트의 첫 번째 아이템 |
subWideItemList | Array | 와이드 리스트의 서브 아이템들 |
buttons | Array | 버튼 정보 (각 템플릿별 개수 제한 있음) |
coupon | Object | 쿠폰 정보 |
commerce | Object | 커머스 정보 |
video | Object | 프리미엄 동영상 정보 |
상세 파라미터 정의
carousel - 캐러셀 정보
- 캐러셀 인트로가 존재하는 경우 캐러셀 리스트는 최소 1개, 최대 5개까지 가능
- 캐러셀 인트로가 존재하지 않는 경우 캐러셀 리스트는 최소 2개, 최대 6개까지 가능
- 캐러셀 인트로에 헤더, 내용, 링크 통틀어서 최대 20개의 변수명 입력 가능 (중복 제외)
- 캐러셀 리스트의 아이템 1개당 헤더, 내용 통틀어서 최대 20개의 변수명 입력 가능 (중복 제외)
- 캐러셀 더보기에는 변수 사용 불가능
필드 | 타입 | 필수 | 설명 |
---|---|---|---|
head | - | N | 캐러셀 인트로 (커머스형 전용) |
head.header | Text(20) | Y | 캐러셀 인트로 헤더 (최대 20자, 줄바꿈 불가) |
head.content | Text(50) | Y | 캐러셀 인트로 내용 (최대 50자, 줄바꿈 최대 2개) |
head.imageId | Text(32) | Y | 이미지 아이디 (타입: BMS_CAROUSEL_COMMERCE_LIST) |
head.linkMobile | Text(100) | - | 모바일 클릭 링크 (링크 중 하나라도 입력 시 필수) |
head.linkPc | Text(100) | N | PC 클릭 링크 |
head.linkAndroid | Text(100) | N | Android 앱 custom scheme |
head.linkIos | Text(100) | N | iOS 앱 custom scheme |
list | Array | Y | 캐러셀 리스트 |
list[].header | Text(20) | Y | 캐러셀 리스트 헤더 (피드형 전용) |
list[].content | Text(180) | Y | 캐러셀 리스트 내용 (피드형 전용) |
list[].additionalContent | Text(34) | N | 캐러셀 부가 정보 (커머스형 전용) |
list[].imageId | Text(32) | Y | 이미지 아이디 (타입: BMS_CAROUSEL_FEED_LIST, BMS_CAROUSEL_COMMERCE_LIST) BMS_CAROUSEL_COMMERCE의 경우 전체 이미지 비율이 동일해야함. |
list[].imageLink | Text(100) | N | 이미지 클릭 시 링크 |
list[].commerce | Object | Y | 커머스 정보 (커머스형 전용) |
list[].buttons | list | Y | 버튼 정보 |
list[].coupon | Object | N | 쿠폰 버튼 정보 |
tail | Object | N | 캐러셀 더보기 |
tail.linkMobile | Text(100) | Y | 모바일 더보기 클릭 링크 |
tail.linkPc | Text(100) | N | PC 더보기 클릭 링크 |
tail.linkAndroid | Text(100) | N | Android 앱 custom scheme |
tail.linkIos | Text(100) | N | iOS 앱 custom scheme |
mainWideItem - 와이드 리스트 첫번째 아이템
메인 와이드 아이템, 서브 와이드 아이템 리스트 내용 및 링크 통틀어 최대 40개의 변수명 입력 가능 (중복 제외)
필드 | 타입 | 필수 | 설명 |
---|---|---|---|
title | Text(25) | N | 타이틀 (줄바꿈 최대 1회까지 입력 가능) |
imageId | Text(32) | Y | 이미지 아이디, 타입: BMS_WIDE_MAIN_ITEM_LIST |
linkMobile | Text(100) | Y | 모바일 클릭 시 이동할 URL |
linkPc | Text(100) | N | PC 클릭 시 이동할 URL |
linkAndroid | Text(100) | N | Android 앱 링크 |
linkIos | Text(100) | N | iOS 앱 링크 |
subWideItem - 와이드 리스트 2~4번째 아이템, Array 형식
필드 | 타입 | 필수 | 설명 |
---|---|---|---|
title | Text(30) | Y | 타이틀 (줄바꿈 최대 1회) |
imageId | Text(32) | Y | 이미지 아이디, 타입: BMS_WIDE_SUB_ITEM_LIST |
linkMobile | Text(100) | Y | 모바일 클릭 시 이동할 URL |
linkPc | Text(100) | N | PC 클릭 시 이동할 URL |
linkAndroid | Text(100) | N | Android 앱 링크 |
linkIos | Text(100) | N | iOS 앱 링크 |
buttons - 버튼
필드 | 타입 | 필수 | 설명 |
---|---|---|---|
name | Text(14) | Y | 버튼명 (TEXT/IMAGE 타입: 14자, 나머지: 8자) |
linkMobile | Text(100) | Y | 모바일 클릭 시 이동할 URL |
linkPc | Text(100) | N | PC 클릭 시 이동할 URL |
linkAndroid | Text(100) | N | Android 앱 링크 |
linkIos | Text(100) | N | iOS 앱 링크 |
commerce - 커머스 정보
- regularPrice(정상가격)만 있는경우, regularPrice(정상가격) + discountPrice(할인가격)이 모두 있는 경우가 있으며,
후자의 경우 discountRate(할인율) 혹은 discountFixed(정액할인가격) 중 하나는 반드시 있어야 합니다. - title만 입력 시 각각 고정변수명으로 저장됩니다.
regularPrice: #{정상가격}
discountPrice: #{할인가격}
discountRate: #{할인율}
discountFixed: #{정액할인가격}
필드 | 타입 | 필수 | 설명 |
---|---|---|---|
title | Text(30) | Y | 상품명 (줄바꿈 불가) |
regularPrice | Number | N | 정상가격 (0 ~ 99,999,999, 없을 경우 고정 변수 #{정상가격}) |
discountPrice | Number | N | 할인 후 가격 (0 ~ 99,999,999, 없을 경우 #{할인가격}) |
discountRate | Number | N | 할인율 (0 ~ 100, 없을 경우 #{할인율}) |
discountFixed | Number | N | 정액 할인 가격 (0 ~ 99,999,999, 없을 경우 #{정액할인가격}) |
coupon - 쿠폰
- #{할인금액}원 할인 쿠폰 (해당 변수 범위는 1 ~ 99,9999,999)
- #{할인율}% 할인 쿠폰 (해당 변수 범위는 1 ~ 100)
- 배송비 할인 쿠폰
- #{상품명} 무료 쿠폰 (해당 변수는 최대 7자)
- #{상품명} UP 쿠폰 (해당 변수는 최대 7자)
쿠폰 제목의 변수 사용을 원할 경우 고정 변수명을 사용해야 합니다.
이외에 고정값으로 사용을 원할 경우 변수자리에 숫자 입력 EX) 10% 할인 쿠폰
상세설명의 경우 와이드, 와이드 아이템 리스트, 프리미엄 비디오는 최대 18자, 그 이외 최대 12자 입니다.
쿠폰 URL (포맷: alimtalk=coupon://) 사용시 Android, iOS 중 하나 필수 입력
쿠폰 URL이 아닌 기본 쿠폰 사용시 Mobile 필수 입력
필드 | 타입 | 필수 | 설명 |
---|---|---|---|
title | Text(30) | Y | 쿠폰 제목 (#{할인금액}(범위 1~99,999,999), #{할인율}(범위 1 ~ 100), #{상품명}(최대 7자)) |
description | Text | Y | 쿠폰 상세 설명 (WIDE_ITEM_LIST, WIDE 타입은 최대 18자, 나머지는 최대 12자) |
linkMobile | Text(100) | Y | 모바일 클릭 시 이동할 URL |
linkPc | Text(100) | N | PC 클릭 시 이동할 URL |
linkAndroid | Text(100) | N | Android 앱 링크 |
linkIos | Text(100) | N | iOS 앱 링크 |
video - 프리미엄 동영상 (현재 미지원)
필드 | 타입 | 필수 | 설명 |
---|---|---|---|
videoUrl | Text(100) | Y | 동영상 URL |
imageId | Text(32) | Y | 커버 이미지 URL (비공개 시 thumbnail 필수) |
타입별 변수 사용 가능 파라미터 요약
ChatBubbleType | 설명 | 사용 가능한 변수 |
---|---|---|
TEXT | 텍스트 | content, buttons[].link*, coupon.title, coupon.description, coupon.link* |
IMAGE | 이미지 | content, imageId, buttons[].link*, coupon.* |
WIDE | 와이드 이미지 | content, imageId, buttons[].link*, coupon.* |
WIDE_ITEM_LIST | 와이드 리스트 | header, mainWideItem., subWideItemList[]., buttons[].link*, coupon.* |
CAROUSEL_FEED | 캐러셀 피드 | carousel.list[]., buttons[].link, coupon.* |
PREMIUM_VIDEO | 프리미엄 동영상 | header, content, video, buttons[].link*, coupon.* |
COMMERCE | 커머스 | additionalContent, commerce., buttons[].link, coupon.* |
CAROUSEL_COMMERCE | 캐러셀 커머스 | carousel.head., carousel.list[]., buttons[].link*, coupon.* |
템플릿 유형 별 버튼 제한
⚫ 템플릿 메시지유형별 버튼 수 제약사항은 아래와 같습니다.
- 텍스트형(TEXT) – 쿠폰 적용시 최대4개, 그 외 최대 5개
- 이미지형(IMAGE) - 쿠폰 적용시 최대4개, 그 외 최대 5개
- 와이드형(WIDE) - 최대 2개
- 캐러셀피드형(CAROUSEL_FEED) - 캐러셀당 최소 1개, 최대 2개
- 캐러셀커머스형(CAROUSEL_COMMERCE) - 캐러셀당 최소 1개, 최대 2개
- 와이드 리스트형(WIDE_ITEM_LIST) - 최대 2개
- 프리미엄 동영상형(PREMIUM_VIDEO) - 최대 1개
- 커머스형(COMMERCE) - 최소 1개, 최대 2개
- 커머스, 캐러셀커머스형은 WL, AL 버튼만 입력 가능
- 변수명은 최대 20자 이내 한/영/숫자/허용된 특수기호('-', '_')로만 입력 가능
- 전체 버튼을 통틀어서 최대 20개의 변수명 입력 가능 (중복 제외)
ex) "buttons": [{"type": "WL", "name": "웹링크 1", "url_mobile": "https://www.daum.net/#{linkMobile}"}, {"type": "WL", "name": "웹링크 2", "url_mobile": "https://www.daum.net/#{linkMobile}", "url_pc": "https://www.daum.net/#{linkPc}"}] 인 경우 변수는 3 개, 변수명은 2 개.
Authorization 인증 필요
계정 권한 | 회원 권한 | 계정 상태 | 회원 상태 | 계정 인증 |
---|---|---|---|---|
kakao:write | role-kakao:write | ACTIVE | ACTIVE | O |
Request Structure
{
"pfId": "string",
"pfGroupId": "string",
"chatBubbleType": "string",
"content": "string",
"adult": "boolean",
"header": "string",
"name": "string",
"imageId": "string",
"imageLink": "string",
"additionalContent": "string",
"carousel": {
"head": {
"header": "string",
"content": "string",
"imageId": "string",
"linkPc": "string",
"linkMobile": "string",
"linkAndroid": "string",
"linkIos": "string"
},
"list": [
{
"header": "string",
"content": "string",
"additionalContent": "string",
"imageId": "string",
"imageLink": "string",
"commerce": {
"title": "string",
"regularPrice": "number",
"discountPrice": "number",
"discountRate": "number",
"discountFixed": "number"
},
"buttons": [
{
"name": "string",
"linkType": "string",
"linkMobile": "string",
"linkPc": "string",
"linkAndroid": "string",
"linkIos": "string"
}
],
"coupon": {
"title": "string",
"description": "string",
"linkMobile": "string",
"linkPc": "string",
"linkAndroid": "string",
"linkIos": "string"
}
}
],
"tail": {
"linkPc": "string",
"linkMobile": "string",
"linkAndroid": "string",
"linkIos": "string"
}
},
"mainWideItem": {
"title": "string",
"imageId": "string",
"linkMobile": "string",
"linkPc": "string",
"linkAndroid": "string",
"linkIos": "string"
},
"subWideItemList": [
{
"title": "string",
"imageId": "string",
"linkMobile": "string",
"linkPc": "string",
"linkAndroid": "string",
"linkIos": "string"
}
],
"commerce": {
"title": "string",
"regularPrice": "number",
"discountPrice": "number",
"discountRate": "number",
"discountFixed": "number"
},
"buttons": [
{
"name": "string",
"linkType": "string",
"linkMobile": "string",
"linkPc": "string",
"linkAndroid": "string",
"linkIos": "string"
}
],
"coupon": {
"title": "string",
"description": "string",
"linkMobile": "string",
"linkPc": "string",
"linkAndroid": "string",
"linkIos": "string"
}
}
Body Params
Name | Type | Required | Description |
---|---|---|---|
pfId | string | 카카오톡채널 고유 아이디 | |
pfGroupId | string | 설명 없음 | |
chatBubbleType | string | O | 설명 없음 |
content | string | 템플릿 내용 | |
adult | boolean | 설명 없음 | |
header | string | 알림톡 헤더. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. 변수 포함 가능. 최대 16자 | |
name | string | 알림톡 이름. 최대 100자 | |
imageId | string | 알림톡에 사용되는 이미지 고유 아이디 | |
imageLink | string | 설명 없음 | |
additionalContent | string | 설명 없음 | |
carousel | object | 설명 없음 | |
mainWideItem | object | 설명 없음 | |
subWideItemList | array | 설명 없음 | |
commerce | object | 설명 없음 | |
buttons | array | 템플릿에 들어가는 버튼들 | |
coupon | object | 설명 없음 |
Body / carousel
Name | Type | Required | Description |
---|---|---|---|
head | object | 설명 없음 | |
list | array | 설명 없음 | |
tail | object | 설명 없음 |
Body / carousel / head
Name | Type | Required | Description |
---|---|---|---|
header | string | 알림톡 헤더. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. 변수 포함 가능. 최대 16자 | |
content | string | 템플릿 내용 | |
imageId | string | 알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA 일 경우에만 사용 가능합니다.이미지 관리 페이지 (로그인 필요) 이미지 관리 API | |
linkPc | string | 웹 링크(WL 웹링크) | |
linkMobile | string | 설명 없음 | |
linkAndroid | string | 설명 없음 | |
linkIos | string | IOS 링크(AL 앱링크) |
Body / carousel / list
Name | Type | Required | Description |
---|---|---|---|
header | string | 알림톡 헤더. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. 변수 포함 가능. 최대 16자 | |
content | string | 템플릿 내용 | |
additionalContent | string | 설명 없음 | |
imageId | string | 알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA 일 경우에만 사용 가능합니다.이미지 관리 페이지 (로그인 필요) 이미지 관리 API | |
imageLink | string | 설명 없음 | |
commerce | object | 설명 없음 | |
buttons | array | 템플릿에 들어가는 버튼 목록. 최대 5개까지 등록 가능합니다. 바로연결이 1개 이상 있을 경우 2개까지만 등록 가능합니다. 메시지 유형이 채널 추가형일 경우 채널추가 버튼이 반드시 있어야 하며 채널추가 버튼은 첫 번째 버튼이어야 합니다. | |
coupon | object | 설명 없음 |
Body / carousel / list / commerce
Name | Type | Required | Description |
---|---|---|---|
title | string | 제목 | |
regularPrice | number | 설명 없음 | |
discountPrice | number | 설명 없음 | |
discountRate | number | 설명 없음 | |
discountFixed | number | 설명 없음 |
Body / carousel / list / buttons
Name | Type | Required | Description |
---|---|---|---|
name | string | 알림톡 이름. 최대 100자 | |
linkType | string | 설명 없음 | |
linkMobile | string | 설명 없음 | |
linkPc | string | 웹 링크(WL 웹링크) | |
linkAndroid | string | 설명 없음 | |
linkIos | string | IOS 링크(AL 앱링크) |
Body / carousel / list / coupon
Name | Type | Required | Description |
---|---|---|---|
title | string | 제목 | |
description | string | 설명 없음 | |
linkMobile | string | 설명 없음 | |
linkPc | string | 웹 링크(WL 웹링크) | |
linkAndroid | string | 설명 없음 | |
linkIos | string | IOS 링크(AL 앱링크) |
Body / carousel / tail
Name | Type | Required | Description |
---|---|---|---|
linkPc | string | 웹 링크(WL 웹링크) | |
linkMobile | string | 설명 없음 | |
linkAndroid | string | 설명 없음 | |
linkIos | string | IOS 링크(AL 앱링크) |
Body / mainWideItem
Name | Type | Required | Description |
---|---|---|---|
title | string | 제목 | |
imageId | string | 알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA 일 경우에만 사용 가능합니다.이미지 관리 페이지 (로그인 필요) 이미지 관리 API | |
linkMobile | string | 설명 없음 | |
linkPc | string | 웹 링크(WL 웹링크) | |
linkAndroid | string | 설명 없음 | |
linkIos | string | IOS 링크(AL 앱링크) |
Body / subWideItemList
Name | Type | Required | Description |
---|---|---|---|
title | string | 제목 | |
imageId | string | 알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA 일 경우에만 사용 가능합니다.이미지 관리 페이지 (로그인 필요) 이미지 관리 API | |
linkMobile | string | 설명 없음 | |
linkPc | string | 웹 링크(WL 웹링크) | |
linkAndroid | string | 설명 없음 | |
linkIos | string | IOS 링크(AL 앱링크) |
Body / commerce
Name | Type | Required | Description |
---|---|---|---|
title | string | 제목 | |
regularPrice | number | 설명 없음 | |
discountPrice | number | 설명 없음 | |
discountRate | number | 설명 없음 | |
discountFixed | number | 설명 없음 |
Body / buttons
Name | Type | Required | Description |
---|---|---|---|
name | string | 알림톡 이름. 최대 100자 | |
linkType | string | 설명 없음 | |
linkMobile | string | 설명 없음 | |
linkPc | string | 웹 링크(WL 웹링크) | |
linkAndroid | string | 설명 없음 | |
linkIos | string | IOS 링크(AL 앱링크) |
Body / coupon
Name | Type | Required | Description |
---|---|---|---|
title | string | 제목 | |
description | string | 설명 없음 | |
linkMobile | string | 설명 없음 | |
linkPc | string | 웹 링크(WL 웹링크) | |
linkAndroid | string | 설명 없음 | |
linkIos | string | IOS 링크(AL 앱링크) |
문서 생성일 : 2025-07-03