콘텐츠로 이동

3.4 카카오 V2 브랜드메시지

구분접속 URL
상용https://mnt-api.msghub.uplus.co.kr
검수https://mnt-api.msghub-qa.uplus.co.kr

브랜드메시지 템플릿 등록한다.

  1. 이미지는 파일업로드 API를 통해 템플릿 유형별로 등록할 수 있습니다.
  2. 최대 20개의 변수명 입력 가능합니다.
  3. 변수명은 최대 20자 이내 한/영/숫자/’-’,’_’ 로 입력 가능합니다.
  4. WIDE_ITEM_LIST형의 경우, mainWideItem은 title이 필수가 아니지만, subWideItemList는 title이 필수입니다.
  5. COMMERCE형의 경우, regularPrice, discountPrice, discountRate, discountFixed 값을 입력하지 않을 경우 고정 변수명으로 저장됩니다. 고정 변수명을 사용하면 메시지 발송 시 금액을 변경하여 메시지를 발송 할 수 있습니다.
  6. AC 버튼을 사용할 경우, TEXT, IMAGE 형은 첫번째 버튼으로, 그 외 템플릿 유형의 경우 마지막 버튼으로 등록해주셔야 합니다.
  7. 채널 쿠폰 URL(포맷: alimtalk=coupon://) 사용시 linkAndroid, linkIos 중 하나 입력 필수입니다.
  8. 채널 쿠폰 URL 이 아닌 기본 쿠폰 사용시 linkMobile 입력 필수입니다.
POST /kko/v2/channel/brand/template/create HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json
NameType필수설명
kkoChIdString카카오 채널ID
kkoGrpIdString-카카오 그룹ID
tmpltCodeString-템플릿 코드 (공백x)
senderKeyTypeString-채널ID 유형, S: 일반ID, G: 그룹ID, Default: S
nameString템플릿 이름
chatBubbleTypeString메시지 타입 (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, CAROUSEL_FEED, CAROUSEL_COMMERCE, COMMERCE 8종)
adultboolean성인용 템플릿 여부
contentString-템플릿 내용 TEXT: 최대 1,300자 (줄 바꿈: 최대 99개, URL 형식 입력 가능), IMAGE: 최대 400자 (줄 바꿈: 최대 29개, URL 형식 입력 가능), WIDE, PREMIUM_VIDEO: 최대 76자 (줄 바꿈: 최대 1개)
공통 CAROUSEL_COMMERCE , CAROUSEL_FEED 는 buttons, coupon 사용 불가
buttonsButton[]-버튼요소 (TEXT, IMAGE - coupon 사용할 경우 최대 4개, 그 외 최대 5개 WIDE, WIDE_ITEM_LIST - 최대 2개 PREMIUM_VIDEO - 최대 1개 COMMERCE - 최소1개 최대 2개)
couponCoupon-쿠폰요소
챗버블 IMAGE 이미지형, WIDE 와이드형 일 경우
imageUrlString파일 업로드 API로 등록한 이미지 URL
imageLinkString-이미지 클릭 시 이동할 URL
챗버블 WIDE_ITEM_LIST 와이드 아이템 리스트형 일 경우
headerString템플릿 헤더
mainWideItemWideItem와이드 리스트 첫번째 아이템 정보
mainWideItem.tileString-아이템 제목
mainWideItem.imageUrlString이미지업로드 API로 등록한 아이템 이미지 url
mainWideItem.linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
mainWideItem.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
mainWideItem.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
mainWideItem.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
subWideItemListWideItem[]와이드 리스트 2~4번째 아이템 정보
subWideItemList[].tileString아이템 제목
subWideItemList[].imageUrlString이미지업로드 API로 등록한 아이템 이미지 url
subWideItemList[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
subWideItemList[].linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
subWideItemList[].linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
subWideItemList[].linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
챗버블 PREMIUM_VIDEO 프리미엄 동영상 형 일 경우
headerString-템플릿 헤더
videoObject동영상 요소
video.videoUrlString카카오TV 동영상 url
video.thumbnailUrlString-이미지업로드 API로 등록한 아이템 이미지 url
챗버블 COMMERCE 커머스 형 일 경우
additionalContentString-템플릿 부가정보, 줄바꿈 최대 1개
imageUrlString파일 업로드 API로 등록한 이미지 URL
commerceObject-
commerce.titleString상품 제목
commerce.regularPriceNumber-정상가격 (0 ~ 99,999,999)
commerce.discountPriceNumber-할인 후 가격 (0 ~ 99,999,999)
commerce.discountRateNumber-할인율 (0 ~ 100) 할인율과 정액 할인 가격 둘중 하나만 입력
commerce.discountFixedNumber-정액 할인 가격 (0 ~ 999,999) 할인율과 정액 할인 가격 둘중 하나만 입력
챗버블 CAROUSEL_COMMERCE 캐러셀 커머스 형 일 경우
carouselObject-
carousel.headObject-캐러셀 인트로(head)
carousel.head.headerString캐러셀 인트로 헤더 (CAROUSEL_COMMERCE head 사용시 필수)
carousel.head.contentStringmobile 환경에서 버튼 클릭 시 이동할 url
carousel.head.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.head.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.head.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.head.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.head.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.listjson[]캐러셀 리스트, 캐러셀인트로(head) 사용시 1-5개, 그 외 2-6개
carousel.list.additionalContentString-캐러셀 리스트 부가정보
carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.list.imageLinkString-이미지 클릭 시 이동할 url
carousel.list.commerceCommerce커머스요소
carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
carousel.list.couponCoupon-쿠폰 요소
carousel.tailjson-더보기 버튼
carousel.tail.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.tail.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.tail.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.tail.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
챗버블 챗버블 CAROUSEL_FEED캐러셀 피드 형 일 경우
carouselObject-
carousel.listjson[]캐러셀 리스트, 캐러셀인트로(head) 사용시 1-5개, 그 외 2-6개
carousel.list .headerString캐러셀 인트로 헤더
carousel.list.contentString캐러셀 리스트 내용
carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.list.imageLinkString-이미지 클릭 시 이동할 url
carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
carousel.list.couponCoupon-쿠폰 요소
carousel.tailjson-더보기 버튼
carousel.tail.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.tail.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.tail.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.tail.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
NameType필수설명크기
carousel.headjson-CAROUSEL_COMMERCE인 경우 사용, 캐러셀 인트로
carousel.head.headerString캐러셀 인트로 헤더최대 20자
carousel.head.contentStringmobile 환경에서 버튼 클릭 시 이동할 url
carousel.head.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.head.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.head.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.head.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.head.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.listjson[]캐러셀 리스트, 캐러셀인트로(head) 사용시 1-5개, 그 외 2-6개
carousel.list .headerStringCAROUSEL_FEED인 경우 사용, 캐러셀 인트로 헤더최대 20자
carousel.list.contentStringCAROUSEL_FEED인 경우 사용, 캐러셀 리스트 내용최대 180자
carousel.list.additionalContentString-CAROUSEL_COMMERCE인 경우 사용, 캐러셀 리스트 부가정보최대 34자
carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.list.imageLinkString-이미지 클릭 시 이동할 url
carousel.list.commerceCommerceCAROUSEL_COMMERCE인 경우 사용, 커머스요소
carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
carousel.list.couponCoupon-쿠폰 요소
carousel.tailjson-더보기 버튼
carousel.tail.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.tail.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.tail.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.tail.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
NameType필수설명
tileString-아이템 제목 mainWideItem의 경우 최대 25자 , subWideItemList의 경우 필수, 최대 30자
imageUrlString이미지업로드 API로 등록한 아이템 이미지 url
linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
NameType필수설명크기
videoUrlString카카오TV 동영상 url500자
thumbnailUrlString-이미지업로드 API로 등록한 아이템 이미지 url500자
NameType필수설명크기
tileString상품 제목30자
regularPriceNumber-정상가격 (0 ~ 99,999,999)
discountPriceNumber-할인 후 가격 (0 ~ 99,999,999)
discountRateNumber-할인율 (0 ~ 100)
discountFixedNumber-정액 할인 가격 (0 ~ 99,999,999)
  1. WL 타입은 linkAndroid, linkIos 를 사용하지 않습니다.
  2. BF 타입은 bizFormId이 필수입니다.
  3. BF 타입 버튼명은 비즈니스폼 유형에 따라 “톡에서 설문하기”, “톡에서 응모하기”, “톡에서 예약하기” 중 한가지만 사용가능합니다.
NameType설명
buttons[].nameString버튼이름
buttons[].linkTypeString버튼타입(WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달, AC: 채널추가, BF: 비즈니스폼)
buttons[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url
buttons[].linkPcStringpc 환경에서 버튼 클릭 시 이동할 url
buttons[].linkAndroidStringmobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
buttons[].linkIosStringmobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
buttons[].bizFormIdNumber비즈니스폼 ID
  1. 쿠폰 제목에는 변수와 고정값을 사용할 수 있습니다.
  2. 쿠폰 제목에 변수를 사용하는 경우, 고정 변수명 5개 중 사용
    고정 변수 :
    1. #{할인금액}원 할인 쿠폰
    2. #{할인율}% 할인 쿠폰
    3. 배송비 할인 쿠폰
    4. #{상품명} 무료 쿠폰
    5. #{상품명} UP 쿠폰

예시) 고정 변수 문자 그대로 입력하여 등록

"coupon": {
"title": "#{상품명} 무료 쿠폰"
}
"coupon": {
"title": "#{할인율}% 할인 쿠폰"
}
"coupon": {
"title": "배송비 할인 쿠폰"
}
  1. 쿠폰 제목에 고정 값 사용을 원할 경우, 변수 자리에 숫자 입력
    #{할인금액} 입력 가능 범위 : 1 ~ 99,999,9999
    #{할인율} 입력 가능 범위 : 1 ~ 100
    #{상품명} : 최대 7자

예시) 변수자리에 숫자 혹은 문자 입력하여 등록

"coupon": {
"title": "바나나우유 무료 쿠폰"
}
"coupon": {
"title": "20% 할인 쿠폰"
}
"coupon": {
"title": "50000원 할인 쿠폰"
}
NameType필수설명
tileString쿠폰 제목
descriptionString쿠폰 설명
linkMobileString-mobile 환경에서 쿠폰 클릭 시 이동할 url
linkPcString-pc 환경에서 쿠폰 클릭 시 이동할 url
linkAndroidString-mobile android 환경에서 쿠폰 클릭 시 실행할 application custom scheme
linkIosString-mobile ios 환경에서 쿠폰 클릭 시 실행할 application custom scheme

NameType설명
codeString결과 코드
messageString결과 메시지
dataObject결과 데이터 정보
data.tmpltCodeString템플릿코드
data.nameString템플릿명
data.kkoChIdString카카오채널 검색용ID
data.senderKeyTypeString발신프로필타입(S:카카오채널, G:그룹)
data.chatBubbleTypeString메시지 타입
data.adultboolean성인용 템플릿 여부
data.headerString템플릿 헤더 (WIDE_ITEM_LIST, PREMIUM_VIDEO 사용가능)
data.contentString템플릿 내용 (TEXT형 1300자, IMAGE형 400자, WIDE, PREMIUM_VIDEO 최대 76자)
data.videoUrlString카카오TV 동영상 url
data.thumbnailUrlString이미지업로드 API로 등록한 아이템 이미지 url
data.buttons[].nameString버튼이름
data.buttons[].linkTypeString버튼타입(WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달, AC: 채널추가, BF: 비즈니스폼)
data.buttons[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url
data.buttons[].linkPcStringpc 환경에서 버튼 클릭 시 이동할 url
data.buttons[].linkAndroidStringmobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
data.buttons[].linkIosStringmobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
data.buttons[].bizFormIdNumber비즈니스폼 ID
data.coupon.tileString쿠폰 제목
data.coupon.descriptionString쿠폰 설명
data.coupon.linkMobileStringmobile 환경에서 쿠폰 클릭 시 이동할 url
data.coupon.linkPcStringpc 환경에서 쿠폰 클릭 시 이동할 url
data.coupon.linkAndroidStringmobile android 환경에서 쿠폰 클릭 시 실행할 application custom scheme
data.coupon.linkIosStringmobile ios 환경에서 쿠폰 클릭 시 실행할 application custom scheme
data.carousel.head.headerString캐러셀 인트로 헤더
data.carousel.head.contentStringmobile 환경에서 버튼 클릭 시 이동할 url
data.carousel.head.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
data.carousel.head.linkMobileString-
data.carousel.head.linkPcString-
data.carousel.head.linkAndroidString-
data.carousel.head.linkIosString-
data.carousel.list .headerStringCAROUSEL_FEED인 경우 사용, 캐러셀 인트로 헤더
data.carousel.list.contentStringCAROUSEL_FEED인 경우 사용, 캐러셀 리스트 내용
data.carousel.list.additionalContentStringCAROUSEL_COMMERCE인 경우 사용, 캐러셀 리스트 부가정보
data.carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
data.carousel.list.imageLinkString이미지 클릭 시 이동할 url
data.carousel.list.commerceCommerceCAROUSEL_COMMERCE인 경우 사용, 커머스요소
data.carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
data.carousel.list.couponCoupon쿠폰 요소
data.carousel.tail.linkMobileString-
data.carousel.tail.linkPcString-
data.carousel.tail.linkAndroidString-
data.carousel.tail.linkIosString-
data.wideItemList[].titleString와이드아이템리스트 제목
data.wideItemList[].imageUrlString와이드아이템리스트 이미지url
data.wideItemList[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url
data.wideItemList[].linkPcStringpc 환경에서 버튼 클릭 시 이동할 url
data.wideItemList[].linkAndroidStringmobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
data.wideItemList[].linkIosStringmobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme

curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/create " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"name": "TEXT형",
"chatBubbleType": "TEXT",
"adult": false,
"content": "#{name}님 안녕하세요. 브랜드 메시지 테스트입니다.",
"buttons": [
{
"name": "버튼01",
"linkType": "WL",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
}
],
"coupon": {
"title": "#{상품명} 무료 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/create " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"name": "이미지형",
"chatBubbleType": "IMAGE",
"content": "안녕하세요. 브랜드 메시지 테스트입니다.",
"imageUrl": "https://mud-kage.kakao.com/dn/l...xE/b....XE/vag....30/img_l.jpg",
"buttons": [
{
"name": "버튼01",
"linkType": "WL",
"linkMobile": "https://www.naver.com",
"linkPc": "https://www.naver.com"
}
],
"coupon": {
"title": "#{상품명} UP 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/create " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"name": "와이드형",
"chatBubbleType": "WIDE",
"adult": false,
"content": "#{name}님 안녕하세요. 브랜드메시지 테스트입니다.",
"imageUrl": "https://mud-kage.kakao.com/dn/Fk4...A/b...8u/qwPx....Gbk/img_l.jpg",
"imageLink": "https://msghub.uplus.co.kr/public/main",
"buttons": [
{
"name": "버튼01",
"linkType": "WL",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
}
],
"coupon": {
"title": "#{상품명} UP 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/create " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"tmpltCode": "VIDEO02",
"name": "비디오형",
"chatBubbleType": "PREMIUM_VIDEO",
"adult": false,
"content": "#{내용}",
"video": {
"videoUrl": "https://tv.kakao.com/v/4....54",
"thumbnailUrl": "https://mud-kage.kakao.com/dn/lvkxE/bts...5XE/va....Q30/img_l.jpg"
},
"header": "#{헤더}",
"buttons": [
{
"name": "버튼01",
"linkType": "AL",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
],
"coupon": {
"title": "#{할인율}% 할인 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/create " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"tmpltCode": "COMMERCE02",
"name": "커머스형",
"chatBubbleType": "COMMERCE",
"adult": false,
"additionalContent": "#{부가내용}",
"imageUrl": "https://mud-kage.kakao.com/dn/lvkxE/bts....5XE/vag....bpQ30/img_l.jpg",
"imageLink": "https://msghub.uplus.co.kr/public/main",
"commerce": {
"title": "#{커머스제목}",
"regularPrice": 1000000,
"discountPrice": 900000,
"discountRate": 10
},
"buttons": [
{
"name": "버튼01",
"linkType": "MD"
}
],
"coupon": {
"title": "#{할인율}% 할인 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/create " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"tmpltCode": "WIDEITEMLIST02",
"name": "와이드아이템리스트형",
"chatBubbleType": "WIDE_ITEM_LIST",
"adult": false,
"header": "#{헤더}",
"mainWideItem": {
"title": "#{메인타이틀}",
"imageUrl": "https://mud-kage.kakao.com/dn/GkEt7/bts...4/4Vmgm....bk/img_l.jpg",
"linkMobile": "https://www.naver.com"
},
"subWideItemList": [
{
"title": "#{서브타이틀}",
"imageUrl": "https://mud-kage.kakao.com/dn/bx74y0/bt...5/7V....pBke0/img_l.jpg",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
},
{
"title": "#{서브타이틀2}",
"imageUrl": "https://mud-kage.kakao.com/dn/IQTR7/bts...Y/uE....SK/img_l.jpg",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
}
],
"buttons": [
{
"name": "버튼01",
"linkType": "WL",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
}
],
"coupon": {
"title": "#{상품명} UP 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/create " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"name": "캐러셀커머스형",
"chatBubbleType": "CAROUSEL_COMMERCE",
"adult": false,
"carousel": {
"head": {
"header": "#{헤드헤더}",
"content": "#{헤드내용}",
"imageUrl": "https://mud-kage.kakao.com/dn/I..R7/bts...UNY/uEn....4SK/img_l.jpg",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
},
"list": [
{
"additionalContent": "#{리스트부가정보}",
"imageUrl": "https://mud-kage.kakao.com/dn/bx74y0/bt....R5/7V....e0/img_l.jpg",
"commerce": {
"title": "#{커머스제목}"
},
"buttons": [
{
"name": "버튼",
"linkType": "WL",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
}
],
"coupon": {
"title": "#{할인율}% 할인 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}
],
"tail": {
"linkMobile": "https://www.naver.com",
"linkPc": "https://www.naver.com"
}
}
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/create " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"name": "캐러셀피드형",
"chatBubbleType": "CAROUSEL_FEED",
"adult": false,
"carousel": {
"list": [
{
"header": "#{헤더1}",
"content": "#{피드내용1}",
"imageUrl": "https://mud-kage.kakao.com/dn/bx74y0/bt...5/7V...e0/img_l.jpg",
"buttons": [
{
"name": "버튼01",
"linkType": "WL",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
},
{
"name": "버튼02",
"linkType": "AL",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
]
},
{
"header": "#{헤더2}",
"content": "#{피드내용2}",
"imageUrl": "https://mud-kage.kakao.com/dn/IQTR7/bts...NY/uEn...SK/img_l.jpg",
"imageLink": "https://msghub.uplus.co.kr/public/main",
"buttons": [
{
"linkType": "AC"
}
],
"coupon": {
"title": "#{할인금액}원 할인 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}
],
"tail": {
"linkMobile": "https://www.naver.com",
"linkPc": "https://www.naver.com",
"linkAndroid": "https://www.naver.com",
"linkIos": "https://www.naver.com"
}
}
}'
{
"code": "10000",
"message": "성공",
"data": {
"kkoChId": "@msghub",
"senderKeyType": "S",
"tmpltCode": "TP....Gg",
"name": "캐러셀커머스형",
"chatBubbleType": "CAROUSEL_COMMERCE",
"adult": false,
"carousel": {
"head": {
"header": "#{헤드헤더}",
"content": "#{헤드내용}",
"imageUrl": "https://mud-kage.kakao.com/dn/I...7/b....NY/uEn....4SK/img_l.jpg",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkIos": "https://www.naver.com/#{linkIos}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}"
},
"list": [
{
"additionalContent": "#{리스트부가정보}",
"imageUrl": "https://mud-kage.kakao.com/dn/b...y0/b.....R5/7.....ke0/img_l.jpg",
"commerce": {
"title": "#{커머스제목}",
"regularPriceName": "#{정상가격}",
"discountPriceName": "#{할인가격}",
"discountRateName": "#{할인율}",
"discountFixedName": "#{정액할인가격}"
},
"buttons": [
{
"name": "버튼01",
"linkType": "WL",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
}
],
"coupon": {
"title": "#{할인금액}원 할인 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}
],
"tail": {
"linkMobile": "https://www.naver.com",
"linkPc": "https://www.naver.com"
}
}
}
}

브랜드메시지 템플릿 수정한다.

POST /kko/v2/channel/brand/template/update HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json
NameType필수설명
kkoChIdString카카오 채널ID
kkoGrpIdString-카카오 그룹ID
tmpltCodeString템플릿 코드 (공백x)
senderKeyTypeString-채널ID 유형, S: 일반ID, G: 그룹ID, Default: S
nameString템플릿 이름
chatBubbleTypeString메시지 타입 (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, CAROUSEL_FEED, CAROUSEL_COMMERCE, COMMERCE 8종)
adultboolean-성인용 템플릿 여부
contentString-템플릿 내용 TEXT, IMAGE: 최대 1,300자 (줄 바꿈: 최대 99개, URL 형식 입력 가능), WIDE, PREMIUM_VIDEO: 최대 76자 (줄 바꿈: 최대 1개)
공통 CAROUSEL_COMMERCE , CAROUSEL_FEED 는 buttons, coupon 사용 불가
buttonsButton[]-버튼요소 (TEXT, IMAGE - coupon 사용할 경우 최대 4개, 그 외 최대 5개 WIDE, WIDE_ITEM_LIST - 최대 2개 PREMIUM_VIDEO - 최대 1개 COMMERCE - 최소1개 최대 2개)
couponCoupon-쿠폰요소
챗버블 IMAGE 이미지형, WIDE 와이드형 일 경우
imageUrlString파일 업로드 API로 등록한 이미지 URL
imageLinkString-이미지 클릭 시 이동할 URL
챗버블 WIDE_ITEM_LIST 와이드 아이템 리스트형 일 경우
headerString템플릿 헤더
mainWideItemWideItem와이드 리스트 첫번째 아이템 정보
mainWideItem.tileString-아이템 제목
mainWideItem.imageUrlString이미지업로드 API로 등록한 아이템 이미지 url
mainWideItem.linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
mainWideItem.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
mainWideItem.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
mainWideItem.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
subWideItemListWideItem[]와이드 리스트 2~4번째 아이템 정보
subWideItemList[].tileString아이템 제목
subWideItemList[].imageUrlString이미지업로드 API로 등록한 아이템 이미지 url
subWideItemList[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
subWideItemList[].linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
subWideItemList[].linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
subWideItemList[].linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
챗버블 PREMIUM_VIDEO 프리미엄 동영상 형 일 경우
headerString-템플릿 헤더
videoObject동영상 요소
video.videoUrlString카카오TV 동영상 url
video.thumbnailUrlString-이미지업로드 API로 등록한 아이템 이미지 url
챗버블 COMMERCE 커머스 형 일 경우
imageUrlString파일 업로드 API로 등록한 이미지 URL
additionalContentString-템플릿 부가정보, 줄바꿈 최대 1개
commerceObject-
commerce.titleString상품 제목
commerce.regularPriceNumber-정상가격 (0 ~ 99,999,999)
commerce.discountPriceNumber-할인 후 가격 (0 ~ 99,999,999)
commerce.discountRateNumber-할인율 (0 ~ 100) 할인율과 정액 할인 가격 둘중 하나만 입력
commerce.discountFixedNumber-정액 할인 가격 (0 ~ 999,999) 할인율과 정액 할인 가격 둘중 하나만 입력
챗버블 CAROUSEL_COMMERCE 캐러셀 커머스 형 일 경우
carouselObject-
carousel.headObject-캐러셀 인트로(head)
carousel.head.headerString캐러셀 인트로 헤더 (CAROUSEL_COMMERCE head 사용시 필수)
carousel.head.contentStringmobile 환경에서 버튼 클릭 시 이동할 url
carousel.head.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.head.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.head.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.head.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.head.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.listjson[]캐러셀 리스트, 캐러셀인트로(head) 사용시 1-5개, 그 외 2-6개
carousel.list.additionalContentString-캐러셀 리스트 부가정보
carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.list.imageLinkString-이미지 클릭 시 이동할 url
carousel.list.commerceCommerce커머스요소
carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
carousel.list.couponCoupon-쿠폰 요소
carousel.tailjson-더보기 버튼
carousel.tail.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.tail.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.tail.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.tail.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
챗버블 챗버블 CAROUSEL_FEED캐러셀 피드 형 일 경우
carouselObject-
carousel.listjson[]캐러셀 리스트, 캐러셀인트로(head) 사용시 1-5개, 그 외 2-6개
carousel.list .headerString캐러셀 인트로 헤더
carousel.list.contentString캐러셀 리스트 내용
carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.list.imageLinkString-이미지 클릭 시 이동할 url
carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
carousel.list.couponCoupon-쿠폰 요소
carousel.tailjson-더보기 버튼
carousel.tail.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.tail.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.tail.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.tail.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
NameType필수설명크기
carousel.headjson-CAROUSEL_COMMERCE인 경우 사용, 캐러셀 인트로
carousel.head.headerString캐러셀 인트로 헤더최대 20자
carousel.head.contentStringmobile 환경에서 버튼 클릭 시 이동할 url
carousel.head.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.head.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.head.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.head.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.head.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.listjson[]캐러셀 리스트, 캐러셀인트로(head) 사용시 1-5개, 그 외 2-6개
carousel.list .headerStringCAROUSEL_FEED인 경우 사용, 캐러셀 인트로 헤더최대 20자
carousel.list.contentStringCAROUSEL_FEED인 경우 사용, 캐러셀 리스트 내용최대 180자
carousel.list.additionalContentString-CAROUSEL_COMMERCE인 경우 사용, 캐러셀 리스트 부가정보최대 34자
carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
carousel.list.imageLinkString-이미지 클릭 시 이동할 url
carousel.list.commerceCommerceCAROUSEL_COMMERCE인 경우 사용, 커머스요소
carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
carousel.list.couponCoupon-쿠폰 요소
carousel.tailjson-더보기 버튼
carousel.tail.linkMobileString-mobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
carousel.tail.linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
carousel.tail.linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
carousel.tail.linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
NameType필수설명
tileString-아이템 제목 mainWideItem의 경우 최대 25자 , subWideItemList의 경우 필수, 최대 30자
imageUrlString이미지업로드 API로 등록한 아이템 이미지 url
linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url , 링크를 하나라도 입력하는 경우 linkMobile 필수
linkPcString-pc 환경에서 버튼 클릭 시 이동할 url
linkAndroidString-mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
linkIosString-mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
NameType필수설명크기
videoUrlString카카오TV 동영상 url500자
thumbnailUrlString-이미지업로드 API로 등록한 아이템 이미지 url500자
NameType필수설명크기
tileString상품 제목30자
regularPriceNumber-정상가격 (0 ~ 99,999,999)
discountPriceNumber-할인 후 가격 (0 ~ 99,999,999)
discountRateNumber-할인율 (0 ~ 100)
discountFixedNumber-정액 할인 가격 (0 ~ 99,999,999)
  1. WL 타입은 linkAndroid , linkIos 를 사용하지 않습니다.
  2. BF 타입은 bizFormId이 필수입니다.
NameType설명
buttons[].nameString버튼이름
buttons[].linkTypeString버튼타입(WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달, AC: 채널추가, BF: 비즈니스폼)
buttons[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url
buttons[].linkPcStringpc 환경에서 버튼 클릭 시 이동할 url
buttons[].linkAndroidStringmobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
buttons[].linkIosStringmobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
buttons[].bizFormIdNumber비즈니스폼 ID
  1. 쿠폰 제목에는 변수와 고정값을 사용할 수 있습니다.
  2. 쿠폰 제목에 변수를 사용하는 경우, 고정 변수명 5개 중 사용
    고정 변수 :
    1. #{할인금액}원 할인 쿠폰
    2. #{할인율}% 할인 쿠폰
    3. 배송비 할인 쿠폰
    4. #{상품명} 무료 쿠폰
    5. #{상품명} UP 쿠폰

예시) 고정 변수 문자 그대로 입력하여 등록

"coupon": {
"title": "#{상품명} 무료 쿠폰"
}
"coupon": {
"title": "#{할인율}% 할인 쿠폰"
}
"coupon": {
"title": "배송비 할인 쿠폰"
}
  1. 쿠폰 제목에 고정 값 사용을 원할 경우, 변수 자리에 숫자 입력
    #{할인금액} 입력 가능 범위 : 1 ~ 99,999,9999
    #{할인율} 입력 가능 범위 : 1 ~ 100
    #{상품명} : 최대 7자

예시) 변수자리에 숫자 혹은 문자 입력하여 등록

"coupon": {
"title": "바나나우유 무료 쿠폰"
}
"coupon": {
"title": "20% 할인 쿠폰"
}
"coupon": {
"title": "50000원 할인 쿠폰"
}
NameType필수설명
tileString쿠폰 제목
descriptionString쿠폰 설명
linkMobileString-mobile 환경에서 쿠폰 클릭 시 이동할 url
linkPcString-pc 환경에서 쿠폰 클릭 시 이동할 url
linkAndroidString-mobile android 환경에서 쿠폰 클릭 시 실행할 application custom scheme
linkIosString-mobile ios 환경에서 쿠폰 클릭 시 실행할 application custom scheme

NameType설명
codeString결과 코드
messageString결과 메시지
dataObject결과 데이터 정보
data.tmpltCodeString템플릿코드
data.nameString템플릿명
data.kkoChIdString카카오채널 검색용ID
data.senderKeyTypeString발신프로필타입(S:카카오채널, G:그룹)
data.chatBubbleTypeString메시지 타입
data.adultboolean성인용 템플릿 여부
data.headerString템플릿 헤더 (WIDE_ITEM_LIST, PREMIUM_VIDEO 사용가능)
data.contentString템플릿 내용 (TEXT형 1300자, IMAGE형 400자, WIDE, PREMIUM_VIDEO 최대 76자)
data.videoUrlString카카오TV 동영상 url
data.thumbnailUrlString이미지업로드 API로 등록한 아이템 이미지 url
data.buttons[].nameString버튼이름
data.buttons[].linkTypeString버튼타입(WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달, AC: 채널추가, BF: 비즈니스폼)
data.buttons[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url
data.buttons[].linkPcStringpc 환경에서 버튼 클릭 시 이동할 url
data.buttons[].linkAndroidStringmobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
data.buttons[].linkIosStringmobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
data.buttons[].bizFormIdNumber비즈니스폼 ID
data.coupon.tileString쿠폰 제목
data.coupon.descriptionString쿠폰 설명
data.coupon.linkMobileStringmobile 환경에서 쿠폰 클릭 시 이동할 url
data.coupon.linkPcStringpc 환경에서 쿠폰 클릭 시 이동할 url
data.coupon.linkAndroidStringmobile android 환경에서 쿠폰 클릭 시 실행할 application custom scheme
data.coupon.linkIosStringmobile ios 환경에서 쿠폰 클릭 시 실행할 application custom scheme
data.carousel.head.headerString캐러셀 인트로 헤더
data.carousel.head.contentStringmobile 환경에서 버튼 클릭 시 이동할 url
data.carousel.head.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
data.carousel.head.linkMobileString-
data.carousel.head.linkPcString-
data.carousel.head.linkAndroidString-
data.carousel.head.linkIosString-
data.carousel.list .headerStringCAROUSEL_FEED인 경우 사용, 캐러셀 인트로 헤더
data.carousel.list.contentStringCAROUSEL_FEED인 경우 사용, 캐러셀 리스트 내용
data.carousel.list.additionalContentStringCAROUSEL_COMMERCE인 경우 사용, 캐러셀 리스트 부가정보
data.carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
data.carousel.list.imageLinkString이미지 클릭 시 이동할 url
data.carousel.list.commerceCommerceCAROUSEL_COMMERCE인 경우 사용, 커머스요소
data.carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
data.carousel.list.couponCoupon쿠폰 요소
data.carousel.tail.linkMobileString-
data.carousel.tail.linkPcString-
data.carousel.tail.linkAndroidString-
data.carousel.tail.linkIosString-
data.wideItemList[].titleString와이드아이템리스트 제목
data.wideItemList[].imageUrlString와이드아이템리스트 이미지url
data.wideItemList[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url
data.wideItemList[].linkPcStringpc 환경에서 버튼 클릭 시 이동할 url
data.wideItemList[].linkAndStringmobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
data.wideItemList[].linkIosStringmobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme

템플릿 등록과 유형별로 동일하며, tmpltCode가 추가되야 합니다. 템플릿 등록의 요청 예시를 참고해주세요.

curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/update" \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"tmpltCode": "TP....Gg",
"name": "TEXT형",
"chatBubbleType": "TEXT",
"adult": false,
"content": "#{name}님 안녕하세요. 브랜드 메시지 테스트입니다.",
"buttons": [
{
"name": "버튼01",
"linkType": "WL",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
}
],
"coupon": {
"title": "#{상품명} 무료 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}'
{
"code": "10000",
"message": "성공",
"data": {
"kkoChId": "@msghub",
"senderKeyType": "S",
"tmpltCode": "TP....Gg",
"name": "캐러셀커머스형",
"chatBubbleType": "CAROUSEL_COMMERCE",
"adult": false,
"carousel": {
"head": {
"header": "#{헤드헤더}",
"content": "#{헤드내용}",
"imageUrl": "https://mud-kage.kakao.com/dn/I...7/b....NY/uEn....4SK/img_l.jpg",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkIos": "https://www.naver.com/#{linkIos}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}"
},
"list": [
{
"additionalContent": "#{리스트부가정보}",
"imageUrl": "https://mud-kage.kakao.com/dn/b...y0/b.....R5/7.....ke0/img_l.jpg",
"commerce": {
"title": "#{커머스제목}",
"regularPriceName": "#{정상가격}",
"discountPriceName": "#{할인가격}",
"discountRateName": "#{할인율}",
"discountFixedName": "#{정액할인가격}"
},
"buttons": [
{
"name": "버튼01",
"linkType": "WL",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}"
}
],
"coupon": {
"title": "#{상품명} UP 쿠폰",
"description": "#{쿠폰내용}",
"linkMobile": "https://www.naver.com/#{linkMobile}",
"linkPc": "https://www.naver.com/#{linkPc}",
"linkAndroid": "https://www.naver.com/#{linkAndroid}",
"linkIos": "https://www.naver.com/#{linkIos}"
}
}
],
"tail": {
"linkMobile": "https://www.naver.com",
"linkPc": "https://www.naver.com"
}
}
}
}

03. 브랜드메시지 템플릿 채널별 전체 조회

섹션 제목: “03. 브랜드메시지 템플릿 채널별 전체 조회”

브랜드메시지 채널에 등록된 템플릿을 전체 조회한다.

GET /kko/v2/channel/brand/template/list HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json
NameType필수설명
kkoChIdString카카오 채널ID
pageNumber-페이지 번호
sizeNumber-페이지당 노출 개수

NameType설명
codeString결과 코드
messageString결과 메시지
dataObject결과 데이터 정보
data.list.tmpltCodeString템플릿코드
data.list.nameString템플릿명
data.list.statusString템플릿 상태
data.list.regDtString등록일자
data.list.updDtString수정일자
data.totalElementsNumber전체 데이터 개수
data.totalPagesNumber전체 페이지 수
data.currentPageNumber현재 페이지 번호
data.sizeNumber페이지당 노출 개수
data.hasNextboolean다음 페이지 존재 여부

curl -X GET "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/list?kkoChId=%40test&page=0&size=20 " \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
{
"code": "10000",
"message": "성공",
"data": {
"list": [
{
"tmpltCode": "TP....Gg",
"name": "캐러셀커머스형",
"status": "A",
"regDt": "2025-10-22 09:56:18",
"updDt": "2025-10-22 09:56:18"
},
{
"tmpltCode": "TP....Pk",
"name": "와이드아이템리스트형",
"status": "A",
"regDt": "2025-10-22 09:48:26",
"updDt": "2025-10-22 09:48:26"
}
],
"totalElements": 2,
"totalPages": 0,
"currentPage": 0,
"size": 2,
"hasNext": true
}
}

04. 브랜드메시지 템플릿 상세 조회

섹션 제목: “04. 브랜드메시지 템플릿 상세 조회”

브랜드메시지 템플릿 상세조회한다.

POST /kko/v2/channel/brand/template/get HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json
NameType필수설명
kkoChIdString카카오 채널ID
kkoGrpIdString-카카오 그룹ID
tmpltCodeString템플릿 코드 (공백x)

NameType설명
codeString결과 코드
messageString결과 메시지
dataObject결과 데이터 정보
data.kkoChIdString카카오채널 검색용ID
data.senderKeyTypeString발신프로필타입(S:카카오채널, G:그룹)
data.nameString템플릿명
data.chatBubbleTypeString메시지 타입
data.adultboolean성인용 템플릿 여부
data.headerString템플릿 헤더 (WIDE_ITEM_LIST, PREMIUM_VIDEO 사용가능)
data.contentString템플릿 내용 (TEXT형 1300자, IMAGE형 400자, WIDE, PREMIUM_VIDEO 최대 76자)
data.videoUrlString카카오TV 동영상 url
data.thumbnailUrlString이미지업로드 API로 등록한 아이템 이미지 url
data.buttons[].nameString버튼이름
data.buttons[].linkTypeString버튼타입(WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달, AC: 채널추가, BF: 비즈니스폼)
data.buttons[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url
data.buttons[].linkPcStringpc 환경에서 버튼 클릭 시 이동할 url
data.buttons[].linkAndroidStringmobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
data.buttons[].linkIosStringmobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme
data.buttons[].bizFormIdNumber비즈니스폼 ID
data.coupon.tileString쿠폰 제목
data.coupon.descriptionString쿠폰 설명
data.coupon.linkMobileStringmobile 환경에서 쿠폰 클릭 시 이동할 url
data.coupon.linkPcStringpc 환경에서 쿠폰 클릭 시 이동할 url
data.coupon.linkAndroidStringmobile android 환경에서 쿠폰 클릭 시 실행할 application custom scheme
data.coupon.linkIosStringmobile ios 환경에서 쿠폰 클릭 시 실행할 application custom scheme
data.carousel.head.headerString캐러셀 인트로 헤더
data.carousel.head.contentStringmobile 환경에서 버튼 클릭 시 이동할 url
data.carousel.head.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
data.carousel.head.linkMobileString-
data.carousel.head.linkPcString-
data.carousel.head.linkAndroidString-
data.carousel.head.linkIosString-
data.carousel.list .headerStringCAROUSEL_FEED인 경우 사용, 캐러셀 인트로 헤더
data.carousel.list.contentStringCAROUSEL_FEED인 경우 사용, 캐러셀 리스트 내용
data.carousel.list.additionalContentStringCAROUSEL_COMMERCE인 경우 사용, 캐러셀 리스트 부가정보
data.carousel.list.imageUrlString파일업로드 API로 등록한 캐러셀 인트로 이미지 url
data.carousel.list.imageLinkString이미지 클릭 시 이동할 url
data.carousel.list.commerceCommerceCAROUSEL_COMMERCE인 경우 사용, 커머스요소
data.carousel.list.buttonsButton[]버튼 목록 (캐러셀 당 최소 1개, 최대 2개)
data.carousel.list.couponCoupon쿠폰 요소
data.carousel.tail.linkMobileString-
data.carousel.tail.linkPcString-
data.carousel.tail.linkAndroidString-
data.carousel.tail.linkIosString-
data.wideItemList[].titleString와이드아이템리스트 제목
data.wideItemList[].imageUrlString와이드아이템리스트 이미지url
data.wideItemList[].linkMobileStringmobile 환경에서 버튼 클릭 시 이동할 url
data.wideItemList[].linkPcStringpc 환경에서 버튼 클릭 시 이동할 url
data.wideItemList[].linkAndroidStringmobile android 환경에서 버튼 클릭 시 실행할 application custom scheme
data.wideItemList[].linkIosStringmobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme

curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/get" \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"tmpltCode": "TP....Sq"
}'
{
"code": "10000",
"message": "성공",
"data": {
"kkoChId": "@메시지허브",
"senderKeyType": "S",
"name": "WIDEITEMLIST형",
"chatBubbleType": "WIDE_ITEM_LIST",
"adult": false,
"header": "템플릿 아이템 리스트 헤더",
"buttons": [
{
"name": "버튼",
"linkType": "AL",
"linkAndroid": "https://www.naver.com",
"linkIos": "https://www.naver.com"
}
],
"wideItemList": [
{
"title": "메인아이템 타이틀",
"imageUrl": "https://mud-kage.kakao.com/dn/Gk..t7/bt...I4/4Vmg...k/img_l.jpg",
"linkMobile": "https://www.naver.com"
},
{
"title": "서브아이템 타이틀1",
"imageUrl": "https://mud-kage.kakao.com/dn/bx....0/b...R5/7V1n.....e0/img_l.jpg",
"linkMobile": "https://www.naver.com"
},
{
"title": "서브아이템 타이틀2",
"imageUrl": "https://mud-kage.kakao.com/dn/...7/bts....NY/uE.....SK/img_l.jpg",
"linkMobile": "https://www.naver.com"
}
]
}
}

브랜드메시지 템플릿을 삭제한다.

POST /kko/v2/channel/brand/template/delete HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json
NameType필수설명
kkoChIdString카카오 채널ID
kkoGrpIdString-카카오 그룹ID
senderKeyTypeString-채널ID 유형, S: 일반ID, G: 그룹ID, Default: S
tmpltCodeString템플릿 코드 (공백x)

NameType설명
codeString결과 코드
messageString결과 메시지
dataObject결과 데이터 정보
data.kkoChIdString카카오채널 검색용ID
data.kkoGrpIdString카카오 그룹 ID
data.senderKeyTypeString발신프로필타입(S:카카오채널, G:그룹)
data.tmpltCodeString템플릿코드

curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/template/delete" \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"senderKeyType": "S",
"tmpltCode": "TP....Sq"
}'
{
"code": "10000",
"message": "성공",
"data": {
"kkoChId": "@메시지허브",
"kkoGrpId": null,
"senderKeyType": "S",
"tmpltCode": "TP.....H"
}
}

06. 브랜드메시지 카카오채널 무료수신거부정보 수정

섹션 제목: “06. 브랜드메시지 카카오채널 무료수신거부정보 수정”

브랜드메시지 발송시 사용되는 080무료수신거부 정보를 수정합니다.

  1. cm080AuthNum 는 080 수신거부번호의 내선번호 개념으로 옵션값입니다. cm080Num 없이 입력할 수 없습니다.
POST /kko/v2/channel/brand/unsubscribeContent/update HTTP/1.1
NameType필수설명
AuthorizationString사용자 인증 토큰
Content-TypeStringapplication/json
NameType필수설명
kkoChIdString카카오 채널ID
cm080NumString무료수신거부전화번호 (080-1234-5678 포맷)
cm080AuthNumString-무료수신거부전화번호 인증번호 (무료수신거부전화번호의 내선번호 개념)

NameType설명
codeString결과 코드
messageString결과 메시지

curl -X POST "https://mnt-api.msghub.uplus.co.kr/kko/v2/channel/brand/unsubscribeContent/update" \
-H "accept: */*" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"kkoChId": "@메시지허브",
"cm080Num": "080-1231-4561",
"cm080AuthNum": "123456"
}'
{
"code": "10000",
"message": "성공"
}
링크타입설명
WL웹링크
AL앱링크
BK봇키워드
MD메시지전달
AC채널추가
BF비즈니스폼