본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트
  • 문서
  • 카카오모먼트
  • 광고 생성: 개인화 메시지 소재

사이드 메뉴

카카오맵

검색

카카오모먼트

광고 생성: 개인화 메시지 소재

이 문서는 개인화 메시지 소재 API 사용 방법을 안내합니다.

시작하기 전에

주의 사항

프리미엄동영상(PREMIUM_VIDEO_MESSAGE) 유형 및 쿠폰북 에셋 그룹(CouponBookAssetGroup)이 포함된 소재는 오픈API로 생성이 불가합니다.

메시지 집행 가이드와 맞지 않는 이미지와 문구는 사용할 수 없습니다.

공통 요소 가이드

홍보 이미지

항목내용
포맷JPG, JPEG, PNG
사이즈800x400, 800x800, 800x600 권장
단, 가로 80px 이하 사용 불가
용량10MB 이하
비율2:1, 1:1, 4:3 비율 권장
단, 가로:세로 1:2.5 이상 사용 불가

홍보 동영상

카카오TV 채널에 업로드된 공개 영상 중 선택 가능합니다.

홍보 문구

변수 포함 최대 1,000자까지 작성 가능합니다. 단, 발송 요청 시 변수 치환 후에는 메시지 유형별, 영역별 가이드를 준수해야 발송이 됩니다.

버튼

변수 포함 최대 1,000자까지 작성 가능합니다. 단, 발송 요청 시 변수 치환 후에는 최대 8글자까지 작성되어야 발송이 됩니다.

구성 요소별 가이드

구성 요소별 필수 여부

항목기본 텍스트와이드 이미지와이드 리스트
홍보 이미지/동영상필수 아님둘 중 하나 필수리스트 1~3 중 하나 필수
홍보 문구필수필수-
버튼 1필수 아님필수 아님필수 아님
버튼 2필수 아님필수 아님필수 아님
리스트 1 홍보 타이틀--필수 아님
리스트 2,3 홍보 타이틀--필수
* 와이드 리스트 유형의 4번째, 5번째 리스트는 선택 항목이며, 사용한다면 홍보 이미지/홍보 동영상 둘 중 하나 필수, 홍보 문구 필수, 홍보 타이틀 필수로 요청

구성 요소별 규격

항목기본 텍스트와이드 이미지와이드 리스트
홍보 이미지/동영상고정 URL 혹은 변수값 사용 가능고정 URL 혹은 변수값 사용 가능고정 URL 혹은 변수값 사용 가능
홍보 문구변수값 변환 이후
  • 이미지/동영상 미 첨부 시 최대 400자
  • 이미지/동영상 첨부 시 최대 300자
  • 링크 입력 불가, 개행은 29개까지 가능
변수값 변환 이후
  • 최대 76자 입력 가능
  • 링크 입력 불가, 개행은 1개까지 가능
-
버튼 1, 2변수값 변환 이후
  • 띄어쓰기 포함 최대 8자
변수값 변환 이후
  • 띄어쓰기 포함 최대 8자
변수값 변환 이후
  • 띄어쓰기 포함 최대 8자
리스트 타이틀--변수값 변환 이후
  • 최대 20자
  • 개행 불가
리스트 1 홍보 문구--변수값 변환 이후
  • 최대 25자
  • 개행 불가
리스트 2,3 홍보 문구--변수값 변환 이후
  • 최대 30자
  • 개행 불가
* 와이드 리스트 유형의 4번째, 5번째 리스트는 선택항목이며, 사용하기를 선택한다면 홍보 문구 정책은 리스트 2,3 홍보 문구와 동일

랜딩

항목기본 텍스트와이드 이미지와이드 리스트
홍보 이미지랜딩 불가버튼 1에 설정한 랜딩 동일버튼 1에 설정한 랜딩 동일
홍보 동영상설정된 카카오TV 랜딩설정된 카카오TV 랜딩설정된 카카오TV 랜딩
홍보 문구랜딩 불가랜딩 불가-
버튼 1URL, 소식, 쿠폰URL, 소식, 쿠폰URL, 소식, 쿠폰
버튼 2URL, 소식, 쿠폰, 애드뷰, 비즈니스폼URL, 소식, 쿠폰, 애드뷰, 비즈니스폼URL, 소식, 쿠폰, 애드뷰, 비즈니스폼
리스트 타이틀--랜딩 불가
리스트 1,2,3 홍보 문구--각 항목에 설정된 홍보이미지, 홍보동영상과 동일

변수값 필드명

소재를 생성하거나 발송을 요청할 때 아래의 변수에 숫자를 붙여 사용합니다. 숫자를 붙이지 않은 경우 단일 변수라도 사용이 불가합니다. (예: ${brand_name1})

주의

정의되지 않은 변수 항목을 사용할 경우 소재 생성 및 발송이 불가합니다. 변수 항목에 부합하지 않는 데이터를 포함하여 메시지 발송 요청할 수 없으며, 관련 법률을 준수하지 않은 개인정보를 포함하거나 수신자에게 불편함을 줄 수 있는 변수가 포함된 개인화 메시지를 발송할 경우 광고계정 및 기타 운영 제재가 발생할 수 있습니다.

항목데이터필드명패턴
1날짜date${date1} ~ ${date4}
2사이트명site_name${site_name1}
3브랜드명brand_name${brand_name1}
4고객 이름user_name${user_name1}
5고객 IDuser_id${user_id1}
6고객 등급user_rating${user_rating1}
7적립금available_point${available_point1}
8쿠폰 개수available_coupon${available_coupon1}
9상품 IDproduct_id${product_id1} ~ ${product_id7}
10상품명product_name${product_name1} ~ ${product_name7}
11상품 가격 - 정가price${price1} ~ ${price7}
12상품 가격 - 세일가sale_price${sale_price1} ~ ${sale_price7}
13할인금액discount_amount${discount_amount1} ~ ${discount_amount7}
14할인율discount_percent${discount_percent1} ~ ${discount_percent7}
15홍보 이미지image_url${image_url1} ~ ${image_url7}
16동영상video_url${video_url}
17모바일 URLmobile_url${mobile_url1} ~ ${mobile_url13}
18PC URLpc_url${pc_url1} ~ ${pc_url13}

변수값 입력 가능 요소

항목데이터유형단일/복수사용 가능 개수길이자료형
1날짜텍스트복수420문자
2사이트명텍스트단일130문자
3브랜드명텍스트단일130문자
4고객 이름텍스트단일120문자
5고객 ID텍스트단일120문자
6고객 등급텍스트단일120문자
7적립금텍스트단일110숫자
8쿠폰 개수텍스트단일110숫자
9상품 ID텍스트복수750문자
10상품명텍스트복수725문자
11상품 가격 - 정가가격복수78숫자
12상품 가격 - 세일가가격복수78숫자
13할인금액가격복수78숫자
14할인율텍스트복수72숫자
15홍보 이미지¹⁾이미지복수71000문자
16동영상²⁾동영상복수41000문자
17모바일 URL랜딩복수131000문자
18PC URL랜딩복수131000문자
¹⁾ 개인화 메시지 이미지 업로드의 응답으로 받은 URL만 허용
²⁾ 개인화 메시지 비디오 등록으로 등록한 카카오TV URL만 가능 (예: https://tv.kakao.com/v/302308909)

소재 유형별 사용 가능 변수값

소재 유형별, 요소별 소재 생성에 사용 가능한 변수값은 아래와 같습니다. 발송 요청 시 치환될 결과 값은 개행 입력이 불가능합니다.

기본 텍스트형

항목사용 가능 변수값
홍보 이미지 / 홍보 동영상변수 이미지/동영상 등록 가능
고정 이미지/동영상 or 변수 이미지/동영상 중 1개만 등록 가능
홍보 문구텍스트/가격 유형의 변수 입력 가능
버튼 1~2랜딩 유형: URL에 한하여 변수값 지원
  • 모바일 URL(mobile_url1)
  • PC URL(pc_url1)
버튼명은 텍스트/가격 유형의 변수 입력 가능

와이드 이미지형

항목사용 가능 변수값
홍보 이미지 / 홍보 동영상변수 이미지/동영상 등록 가능
고정 이미지/동영상 or 변수 이미지/동영상 중 1개만 등록 가능
랜딩이미지 등록 시에만 랜딩 등록 기능 지원
동영상 등록 시 랜딩은 카카오TV랜딩 자동 설정
랜딩 유형: URL에 한하여 변수값 지원
  • 모바일 URL(mobile_url1)
  • PC URL(pc_url1)
홍보 문구텍스트/가격 유형의 변수 입력 가능
버튼 1~2랜딩 유형: URL에 한하여 변수값 지원
  • 모바일 URL(mobile_url1)
  • PC URL(pc_url1)
버튼명은 텍스트/가격 유형의 변수 입력 가능

와이드 리스트형

항목사용 가능 변수값
타이틀텍스트/가격 유형의 변수 입력 가능
각 리스트 홍보 이미지 / 홍보 동영상변수 이미지/동영상 등록 가능
고정 이미지/동영상 or 변수 이미지/동영상 중 1개만 등록 가능
랜딩랜딩 유형: URL에 한하여 변수값 지원
  • 모바일 URL(mobile_url1)
  • PC URL(pc_url1)
홍보 문구텍스트/가격 유형의 변수 입력 가능
버튼 1~2랜딩 유형: URL에 한하여 변수값 지원
  • 모바일 URL(mobile_url1)
  • PC URL(pc_url1)
버튼명은 텍스트/가격 유형의 변수 입력 가능

개인화 메시지 소재 템플릿 생성

기본 정보
메서드URL인증 방식
POSThttps://apis.moment.kakao.com/openapi/v4/creatives비즈니스 토큰

개인화 메시지 X 도달 캠페인 하위의 소재 템플릿을 생성합니다.

비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 POST로 요청하며, 요청이 성공하면 응답 본문에 JSON 객체로 생성된 소재의 상세 정보를 목록으로 포함합니다. 실패 시 에러 코드에서 원인을 확인합니다.

이 API는 사용자 계정, 광고계정마다 1초에 한 번씩 요청 가능하도록 제한되어 있습니다.

요청

헤더
이름설명필수
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
인증 방식, 비즈니스 토큰으로 인증 요청
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
본문
이름타입설명필수
adGroupIdLong광고그룹 번호O
formatString소재 유형, 아래 중 하나
  • BASIC_TEXT_MESSAGE: 기본텍스트
  • WIDE_MESSAGE: 와이드이미지
  • WIDE_LIST_MESSAGE: 와이드리스트
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀커머스
  • CAROUSEL_FEED_MESSAGE: 캐러셀 피드
O
nameString소재 이름
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}으로 설정
(최대: 50자)
X
messageElementMessageElement생성할 메시지 내용
MULTIPART/FORM-DATAmesasgeElement.{} 형식으로 요청
O
MessageElement
이름타입설명필수
creativeFormatString메시지 소재 유형, 아래 중 하나
  • BASIC_TEXT_MESSAGE: 기본 텍스트
  • WIDE_MESSAGE: 와이드 이미지
  • WIDE_LIST_MESSAGE: 와이드 리스트
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀커머스
  • CAROUSEL_FEED_MESSAGE: 캐러셀 피드
  • format과 동일해야 함
O
profileIdString카카오톡 채널 프로필 ID

참고: 카카오톡 채널 프로필 ID 확인 방법
O
titleString홍보문구 또는 타이틀
소재유형에 따라 노출 위치 상이함
  • BASIC_TEXT_MESSAGE: 기본텍스트 (홍보 문구, 최대 400자, 이미지/동영상 첨부시 300자)
  • WIDE_MESSAGE: 와이드 이미지 (홍보 문구, 최대 76자)
  • WIDE_LIST_MESSAGE: 와이드 리스트 (타이틀, 최대 20자)
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀 커머스 (인트로 카드의 홍보타이틀, 최대 20자)
단, 변수활용하여 생성시 글자수는 최대 1,000자까지 입력하여 생성 가능
발송 시 치환된 글자 수는 위의 가이드를 준수해야 발송 가능
O*
descriptionString캐러셀 커머스형 인트로 카드 홍보문구
최대 50자 입력 가능
단, 변수활용하여 생성시 글자수는 최대 1,000자까지 입력하여 생성 가능
발송 시 치환된 글자 수는 위의 가이드를 준수해야 발송 가능
X
buttonAssetGroupsButtonAssetGroup[]버튼 항목들
최대 2개의 버튼 에셋 그룹을 요청할 수 있으며 기본 텍스트, 와이드 이미지, 와이드 리스트 유형은 버튼 미설정 가능
캐러셀 커머스, 캐러셀 피드는 버튼 1 필수
버튼 1일 경우 랜딩은 URL, 소식, 쿠폰만 설정 가능하며 버튼 2의 경우 애드뷰, 비즈니스폼까지 설정 가능
단, 캐러셀 유형의 경우 랜딩은 URL 랜딩만 활용 가능
X
itemAssetGroupsItemAssetGroup[]리스트 항목O
shareFlagBoolean공유하기
개인화 메시지는 반드시 해당값을 미설정(false)로 설정해야 함
O
adFlagBoolean광고성 메시지
설정 (true), 미설정 (false) 중 하나
O
imageFileMultipart file업로드할 이미지 파일 (개인화메시지에서 고정 이미지 사용하는 경우 사용 가능)
메시지 유형이 기본 텍스트(BASIC_TEXT_MESSAGE)이거나 CAROUSEL_COMMERCE_MESSAGE(캐러셀커머스) 유형 인트로 카드일 경우에만 요청 가능
그 외 유형은 itemAssetGroup로 요청 가능
X
imageImage개인화 메시지 사용 이미지 변수 (개인화 메시지에서 가변 이미지 변수 사용하는 경우 요청)
메시지 유형이 기본 텍스트 (BASIC_TEXT_MESSAGE) 일 경우에만 요청 가능
그 외 유형은 ItemAssetGroup로 요청 가능
X*
videoMetaVideoMeta연동할 카카오TV 정보
메시지 유형이 기본 텍스트 (BASIC_TEXT_MESSAGE) 일 경우에만 요청 가능
그 외 유형은 itemAssetGroup로 요청 가능
캐러셀 유형은 동영상 소재 사용 불가
X
csInfoString고객센터 전화번호O
hasIntroBoolean캐러셀 커머스 인트로 카드 유무X
introLandingTypeString캐러셀 커머스 인트로 카드 랜딩 타입X
introMobileLandingUrlString캐러셀 커머스 인트로 카드 모바일 랜딩 URLX
introPcLandingUrlString캐러셀 커머스 인트로 카드 pc 랜딩 URLX
ButtonAssetGroup
이름타입설명필수
orderingInteger버튼 순서
0,1 전달가능
O
pcLandingUrlStringPC 랜딩 URL
랜딩 유형이 LANDING_URL 인 경우 요청 가능하며 PC 랜딩 URL은 PC 카카오톡에서 버튼 클릭 시 별도의 URL로 랜딩 시키려는 경우 사용
http:// 또는 https:// 형식의 정상적인 랜딩 URL을 입력
X
mobileLandingUrlString모바일 랜딩 URL
http:// 또는 https:// 형식의 정상적인 랜딩 URL을 입력
O*
titleString버튼명
최대 8자까지 요청 가능
비즈니스폼의 경우 아래에 정의된 버튼명으로만 요청 가능
"톡에서 설문하기"
"톡에서 시승신청"
"톡에서 예약하기"
"톡에서 응모하기"
"톡에서 참여하기"
캐러셀커머스 유형의 경우 버튼 1번은 "구매하기"만 요청 가능
단, 변수활용하여 생성시 글자수는 최대 1,000자까지 입력하여 생성 가능
발송 시 치환된 글자 수는 위의 가이드를 준수해야 발송 가능
O
landingTypeString랜딩 유형, 아래 중 하나
  • LANDING_URL: URL 랜딩
  • CHANNEL_COUPON: 쿠폰 랜딩
  • CHANNEL_POST: 소식 랜딩
  • BIZ_FORM: 비즈니스폼 랜딩
  • AD_VIEW: 애드뷰 랜딩
단, 캐러셀 유형의 경우 랜딩은 URL 랜딩만 활용 가능
O
channelCouponIdLong쿠폰 ID
랜딩 유형이 쿠폰 랜딩 (CHANNEL_COUPON) 인 경우 요청 가능
메시지 버튼 쿠폰 목록 조회 API 로 조회되는 쿠폰 ID
O*
channelPostIdLong소식 ID
랜딩 유형이 소식 랜딩 (CHANNEL_POST) 인 경우 요청 가능
메시지 버튼 소식 목록 조회 API로 조회되는 소식 ID
O*
bizFormIdLong비즈니스폼 ID
랜딩 유형이 비즈니스폼 랜딩 (BIZ_FORM) 인 경우 요청 가능
메시지 버튼 비즈니스폼 목록 조회 API로 조회되는 비즈니스폼 ID
O*
adViewIdLong애드뷰 ID
랜딩 유형이 애드뷰 랜딩 (AD_VIEW) 인 경우 요청 가능
메시지 버튼 애드뷰 목록 조회 API로 조회되는 애드뷰 ID
O*
ItemAssetGroup
이름타입설명필수
landingTypeString랜딩 유형, 아래 중 하나
  • LANDING_URL: URL 랜딩
  • CHANNEL_COUPON: 쿠폰 랜딩
  • CHANNEL_POST: 소식 랜딩
단, 캐러셀 유형의 경우 랜딩은 URL 랜딩만 활용 가능
O
titleString홍보문구
소재 유형에 따라 위치 상이
  • WIDE_LIST_MESSAGE: 와이드리스트 (타이틀, 1번째 최대 25자, 2~5번째 최대 30자, 1번, 4번, 5번 리스트는 필수 아님)
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀커머스 (타이틀, 최대 25자)
  • CAROUSEL_FEED_MESSAGE: 캐러셀 피드 (타이틀, 최대 20자)
단, 변수 활용하여 생성 시 글자 수는 최대 1,000자까지 입력하여 생성 가능
발송 시 치환된 글자 수는 위의 가이드를 준수해야 발송 가능
O
descriptionString캐러셀 피드형 홍보문구
최대 180자 입력 가능
단, 변수 활용하여 생성 시 글자 수는 최대 100자까지 입력하여 생성 가능
발송 시 치환된 글자 수는 위의 가이드를 준수해야 발송 가능
O
priceAmountString캐러셀 커머스형 캐러셀 내 가격 정보
(최소: 0, 최대: 99999999, 정수만 입력 가능)
캐러셀 커머스형에서 필수
단, 변수활용하여 생성시 글자수는 최대 1,000자까지 입력하여 생성 가능
발송 시 치환된 글자 수는 위의 가이드를 준수해야 발송 가능
O*
priceCurrencyCodeString통화 정보
KRW, USD, JPY, EUR 중 하나
캐러셀 커머스형에서 필수
O*
discountedPriceAmountString할인 가격 정보
캐러셀 커머스형 캐러셀 내 가격 정보
(최소: 0, 최대: 99999999, 정수만 입력 가능)
가격 정보 대비 입력 값이 1% 이상 차이가 나야 입력 가능
단, 변수 활용하여 생성 시 글자 수는 최대 100자까지 입력하여 생성 가능
발송 시 치환된 글자 수는 위의 가이드를 준수해야 발송 가능
X
mobileLandingUrlString모바일 랜딩URL
http:// 또는 https:// 형식의 정상적인 랜딩 URL을 입력
캐러셀 커머스, 캐러셀 피드는 버튼 1과 동일한 랜딩만 설정 가능
X
pcLandingUrlStringPC 랜딩 URL
랜딩 유형이 LANDING_URL 인 경우 요청 가능하며 PC 랜딩 URL은 PC 카카오톡에서 버튼 클릭 시 별도의 URL로 랜딩 시키려는 경우 사용
http:// 또는 https:// 형식의 정상적인 랜딩 URL을 입력
X
channelPostIdLong소식 ID
랜딩 유형이 소식 랜딩 (CHANNEL_POST) 인 경우 요청 가능
메시지 버튼 소식 목록 조회 API로 조회되는 소식 ID
X
channelCouponIdLong쿠폰 ID
랜딩 유형이 쿠폰 랜딩 (CHANNEL_COUPON) 인 경우 요청 가능
메시지 버튼 쿠폰 목록 조회 API 로 조회되는 쿠폰 ID
X
imageFileMultipart File업로드할 이미지 파일
아래 유형에 사용 가능
  • WIDE_MESSAGE: 와이드 이미지
  • WIDE_LIST_MESSAGE: 와이드 리스트
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀커머스(인트로 제외 카드)
  • CAROUSEL_FEED_MESSAGE: 캐러셀 피드
O*
imageImage개인화 메시지에 사용할 이미지 변수 (개인화 메시지에서 가변 이미지 변수 사용하는 경우 요청)
아래 유형에 사용 가능
  • WIDE_MESSAGE: 와이드 이미지
  • WIDE_LIST_MESSAGE: 와이드 리스트
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀커머스(인트로 제외 카드)
  • CAROUSEL_FEED_MESSAGE: 캐러셀 피드
O*
videoMetaVideoMeta동영상 (카카오TV) 메타 정보
아래 유형에 사용 가능
  • WIDE_MESSAGE: 와이드 이미지
  • WIDE_LIST_MESSAGE: 와이드 리스트
O*
VideoMeta
이름타입설명필수
idLong연동할 카카오TV 클립링크 ID
카카오TV 채널 영상 목록 조회 API로 얻은 clipLinkId
O
thumbnailString썸네일 URL
카카오TV 채널 영상 상세 조회 API를 이용하여 응답받는 썸네일 URL
O
isLoadBoolean카카오TV 영상 로드 여부
고정값(true)으로 전달해야 함
O
isLiveBoolean카카오TV 라이브 영상 여부
고정값(false)으로 전달해야 함
O
isLinkBoolean카카오TV 영상 링크 여부
고정값(true)으로 전달해야 함
O
valueWithVariableString변수 입력 정보
(* 개인화메시지인 경우에만 사용되며, 이 값이 입력되는 경우 다른 필드는 무시됩니다.)
(예 : ${video_url1})
O*
ImageFile
이름타입설명필수
imageFileMultipart File업로드할 이미지 파일O
Image
이름타입설명필수
valueWithVariableString변수 입력 정보
(예 : ${image_url1})
O*

응답

본문
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
메시지 소재는 심사 상태가 존재하지 않으며, 항상 원본 소재 번호와 동일함
nameString소재명
adGroupIdLong광고 그룹 아이디
formatString소재 유형, 아래 중 하나
  • BASIC_TEXT_MESSAGE: 기본텍스트
  • WIDE_MESSAGE: 와이드이미지
  • WIDE_LIST_MESSAGE: 와이드리스트
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀커머스
  • CAROUSEL_FEED_MESSAGE: 캐러셀 피드
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
creativeStatusString소재의 운영 상태, 아래 중 하나
  • OPERATING (운영가능)
  • UNAPPROVED (심사미승인)
  • INVALID_DATE (기간오류)
  • MONITORING_REJECTED (관리자정지)
  • OFF (사용자OFF)
  • DELETED (삭제)
  • ADGROUP_UNAVAILABLE (광고그룹 운영불가)
creativeDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
messageElementMessageElement메시지 상세 설명
MessageElement
이름타입설명
idLong메시지 소재 ID
adAccountIdLong광고계정 ID
profileIdString카카오톡 채널 프로필 ID

참고: 카카오톡 채널 프로필 ID 확인 방법
profileNameString카카오톡 채널 프로필명
nameString메시지 소재명
shareFlagboolean공유하기
adFlagboolean광고성 메시지
creativeFormatString메시지 소재 유형, 아래 중 하나
  • BASIC_TEXT_MESSAGE (기본 텍스트)
  • WIDE_MESSAGE (와이드 이미지)
  • WIDE_LIST_MESSAGE (와이드 리스트)
  • CAROUSEL_COMMERCE_MESSAGE (캐러셀커머스)
  • CAROUSEL_FEED_MESSAGE (캐러셀 피드)
titleString홍보문구 또는 타이틀
소재 유형별 노출 위치가 상이함
BASIC_TEXT_MESSAGE(기본텍스트): 홍보 문구
WIDE_MESSAGE(와이드이미지): 홍보 문구
WIDE_LIST_MESSAGE(와이드리스트): 타이틀
CAROUSEL_COMMERCE_MESSAGE(캐러셀커머스): 인트로 카드의 홍보타이틀
descriptionString캐러셀 커머스형 인트로 카드 홍보문구
imageImage이미지 소재
기본 텍스트 (BASIC_TEXT_MESSAGE) 유형에만 응답됨
videoVideo카카오 TV 동영상 소재
기본 텍스트 (BASIC_TEXT_MESSAGE) 유형에만 응답됨
buttonAssetGroupsButtonAssetGroup버튼 항목
itemAssetGroupsItemAssetGroup리스트 항목, 아래 중 하나의 유형에 응답
  • WIDE_MESSAGE (와이드 이미지) 혹은 WIDE_LIST_MESSAGE (와이드 리스트)
  • CAROUSEL_COMMERCE_MESSAGE (캐러셀 커머스)
  • CAROUSEL_FEED_MESSAGE (캐러셀 피드)
thumbnailUrlString썸네일 이미지 URL
csInfoString고객센터 전화번호
createdDateString메시지 소재 생성일
yyyy-MM-dd'T'HH:mm:ss 형식
lastModifiedDateString메시지 소재 마지막 수정일
yyyy-MM-dd'T'HH:mm:ss 형식
hasIntroBoolean캐러셀 커머스 인트로 카드 유무
introLandingTypeString캐러셀 커머스 인트로 카드 랜딩 타입
introMobileLandingUrlString캐러셀 커머스 인트로 카드 모바일 랜딩 URL
introPcLandingUrlString캐러셀 커머스 인트로 카드 pc 랜딩 URL
Image
이름타입설명
sizeLong파일 사이즈
urlString이미지 URL
fileNameString이미지 파일명
widthInteger넓이
heightInteger높이
mimeTypeStringMime 유형
valueWithVariableString변수 입력 정보
(예 : ${image_url1})
Video
이름타입설명
vidString고유한 카카오TV 동영상 ID
nameString카카오TV 동영상명
previewImageString미리보기 이미지 URL
thumbnailString썸네일 URL
durationDouble재생 시간
clipIdStringMime 유형
clipLinkIdLong클립 링크 ID
liveLinkIdLong라이브 링크 ID
channelIdLong채널 ID
channelNameString채널명
isVerticalBoolean세로 여부
videoTypeString동영상 유형
UPLOAD, PREUPLOAD, LINK, NONE 중 하나
isOwnerBoolean소유자 여부
valueWithVariableString변수 입력 정보
(예 : ${video_url1})
ButtonAssetGroup
이름타입설명
orderingLong정렬순번
titleString버튼명
rspvLandingUrlString반응형 랜딩 URL
mobileLandingUrlString모바일 랜딩 URL
pcLandingUrlStringPC 랜딩 URL
adViewIdLong애드뷰 ID
bizFormIdLong비즈니스폼 ID
channelPostIdLong채널 소식 ID
channelCouponIdLong채널 쿠폰 ID
thumbnailString썸네일
highlightedBoolean하이라이트 버튼 사용
landingTypeString랜딩 유형
LANDING_URL (URL), CHANNEL_COUPON (쿠폰), CHANNEL_POST (소식), AD_VIEW (애드뷰), BIZ_FORM (비즈니스폼) 중 하나
ItemAssetGroup
이름타입설명
thumbnailLong썸네일 URL
landingTypeString랜딩 유형
카카오TV 동영상 소재일 경우 Null이며 그 외의 경우엔 아래 유형으로 응답
  • LANDING_URL: URL
  • CHANNEL_COUPON: 쿠폰
  • CHANNEL_POST: 소식
orderingInteger정렬 순번
titleString홍보문구
아이템 에셋 그룹 내 홍보문구는 와이드 이미지, 와이드 리스트, 캐러셀 피드형, 캐러셀 커머스 유형에만 응답
descriptionString캐러셀 피드형 홍보문구
priceAmountInteger가격 정보
캐러셀 커머스형 캐러셀 내 가격 정보, 달러와 유로의 경우 소수점 2자리까지 요청 가능
priceCurrencyCodeString통화 정보, 아래 중 하나
  • KRW
  • USD
  • JPY
  • EUR
discountedPriceAmountInteger할인 가격 정보
캐러셀 커머스형 캐러셀 내 가격 정보
mobileLandingUrlString모바일 랜딩 URL
랜딩 유형이 LANDING_URL (URL) 일 경우 응답
pcLandingUrlStringPC 랜딩 URL
랜딩 유형이 LANDING_URL (URL) 일 경우 응답
imageImage이미지 소재
아이템 에셋 그룹 내 Image는 와이드 이미지, 와이드 리스트, 캐러셀 커머스, 캐러셀 피드 유형에 응답
videoVideo카카오TV 동영상 소재
아이템 에셋 그룹 내 Video는 와이드 이미지, 와이드 리스트 유형에만 응답
thumbnailThumbnail대표 이미지
카카오TV 동영상 소재일 경우 대표 이미지로 사용되는 이미지 정보

Thumbnail

이름타입설명
fileSizeLong파일 사이즈
urlString대표 썸네일 이미지 URL
fileNameString대표 썸네일 파일명
imageWidthInteger넓이
imageHeightInteger높이
mimeTypeStringMime 유형

예제

요청
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
-F "messageElement.creativeFormat=BASIC_TEXT_MESSAGE" \
-F "messageElement.profileId=_Xxo" \
-F "messageElement.title=홍보문구" \
-F "messageElement.buttonAssetGroups[0].ordering=0" \
-F "messageElement.buttonAssetGroups[0].landingType=LANDING_URL" \
-F "messageElement.buttonAssetGroups[0].title=버튼1" \
-F "messageElement.buttonAssetGroups[0].pcLandingUrl=${pc_url1}" \
-F "messageElement.buttonAssetGroups[0].mobileLandingUrl=${mobile_url1}" \
-F "messageElement.buttonAssetGroups[1].ordering=1" \
-F "messageElement.buttonAssetGroups[1].landingType=BIZ_FORM" \
-F "messageElement.buttonAssetGroups[1].bizFormId=1" \
-F "messageElement.buttonAssetGroups[1].title=톡에서 시승신청" \
-F "messageElement.name=기본텍스트" \
-F "messageElement.shareFlag=true" \
-F "messageElement.adFlag=true" \
-F "messageElement.csInfo=02-1234-5678" \
-F "messageElement.image.valueWithVariable=${image_url1}" \
-F "adGroupId=12345" \
-F "format=BASIC_TEXT_MESSAGE"
응답
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 12345,
"creativeId": 12345,
"name": "카카오톡 채널_도달_20210625",
"adGroupId": 11223,
"format": "BASIC_TEXT_MESSAGE",
"config": "ON",
"statusDescription": "발송 대기",
"creativeStatus": "OPERATING",
"createdDate": "2021-06-25T17:04:02.883575",
"lastModifiedDate": "2021-06-25T17:04:06.291245",
"messageElement": {
"id": 12345,
"adAccountId": 123,
"profileId": "_xbHxd",
"name": "카카오톡 채널_도달_20210625",
"creativeFormat": "BASIC_TEXT_MESSAGE",
"title": "홍보문구입니다.",
"image": {
"valueWithVariable": "${image_url1}"
},
"shareFlag": true,
"adFlag": true,
"thumbnail": {
"fileSize": 168816,
"url": "//beta.daumcdn.net/b2/creative/759/d7961bd0662a240f43f047d3116a25f3.jpg",
"fileName": "풀뷰 1280x720.jpg",
"imageWidth": 1280,
"imageHeight": 720,
"mimeType": "image/jpeg",
"imageHash": "35156f0c1393434ced4be21423d08a6a"
},
"buttonAssetGroups": [
{
"ordering": 0,
"title": "버튼1",
"pcLandingUrl": "http://www.daum.net",
"mobileLandingUrl": "http://www.google.com",
"landingType": "LANDING_URL"
}
],
"thumbnailUrl": "//beta.daumcdn.net/b2/creative/759/d7961bd0662a240f43f047d3116a25f3.jpg",
"messageThumbnail": {
"fileSize": 168816,
"url": "//beta.daumcdn.net/b2/creative/759/d7961bd0662a240f43f047d3116a25f3.jpg",
"fileName": "풀뷰 1280x720.jpg",
"imageWidth": 1280,
"imageHeight": 720,
"mimeType": "image/jpeg",
"imageHash": "35156f0c1393434ced4be21423d08a6a"
},
"createdDate": "2021-06-25T17:04:02.883575",
"lastModifiedDate": "2021-06-25T17:04:06.291245"
}
}

개인화 메시지 소재 템플릿 수정

기본 정보
메서드URL인증 방식
PUThttps://apis.moment.kakao.com/openapi/v4/creatives비즈니스 토큰

개인화 메시지 X 도달 캠페인 하위의 소재 템플릿을 수정합니다.

쿠폰북 에셋 그룹(CouponBookAssetGroup)이 포함된 소재는 오픈API로 수정이 불가합니다.

발송요청중이던 메시지가 있는 경우 요청 및 발송 상태가 모두 중지됩니다.

비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 PUT으로 요청하며, 요청이 성공하면 응답 본문에 JSON 객체로 소재 상세 정보를 목록으로 포함합니다. 실패 시 에러 코드에서 원인을 확인합니다.

이 API는 사용자 계정, 광고계정마다 1초에 한 번씩 요청 가능하도록 제한되어 있습니다.

요청

헤더
이름설명필수
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
인증 방식, 비즈니스 토큰으로 인증 요청
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
본문
이름타입설명필수
adGroupIdLong광고그룹 번호O
formatString소재 유형, 아래 중 하나
  • BASIC_TEXT_MESSAGE: 기본텍스트
  • WIDE_MESSAGE: 와이드이미지
  • WIDE_LIST_MESSAGE: 와이드리스트
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀커머스
  • CAROUSEL_FEED_MESSAGE: 캐러셀 피드
O
nameString소재 이름
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}으로 설정
(최대: 50자)
X
messageElementMessageElement생성할 메시지 내용
MULTIPART/FORM-DATAmesasgeElement.{} 형식으로 요청
O

응답

본문
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
메시지 소재는 심사 상태가 존재하지 않으며, 항상 원본 소재 번호와 동일함
nameString소재명
adGroupIdLong광고 그룹 아이디
formatString소재 유형, 아래 중 하나
  • BASIC_TEXT_MESSAGE: 기본텍스트
  • WIDE_MESSAGE: 와이드이미지
  • WIDE_LIST_MESSAGE: 와이드리스트
  • CAROUSEL_COMMERCE_MESSAGE: 캐러셀커머스
  • CAROUSEL_FEED_MESSAGE: 캐러셀 피드
configString소재 상태, 아래 중 하나
  • ON: 운영중
  • OFF: 운영중지
  • DEL: 삭제
creativeStatusString소재의 운영 상태, 아래 중 하나
  • OPERATING: 운영가능
  • UNAPPROVED: 심사미승인
  • INVALID_DATE: 기간오류
  • MONITORING_REJECTED: 관리자정지
  • OFF: 사용자OFF
  • DELETED: 삭제
  • ADGROUP_UNAVAILABLE: 광고그룹 운영불가
creativeDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
messageElementMessageElement메시지 상세 설명

예제

요청
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/creatives" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
-F "messageElement.creativeFormat=BASIC_TEXT_MESSAGE" \
-F "messageElement.profileId=_Xxo" \
-F "messageElement.title=홍보문구" \
-F "messageElement.buttonAssetGroups[0].ordering=0" \
-F "messageElement.buttonAssetGroups[0].landingType=LANDING_URL" \
-F "messageElement.buttonAssetGroups[0].title=버튼1" \
-F "messageElement.buttonAssetGroups[0].pcLandingUrl=http://www.daum.net" \
-F "messageElement.buttonAssetGroups[0].mobileLandingUrl=http://www.kakaocorp.com" \
-F "messageElement.buttonAssetGroups[1].ordering=1" \
-F "messageElement.buttonAssetGroups[1].landingType=BIZ_FORM" \
-F "messageElement.buttonAssetGroups[1].bizFormId=1" \
-F "messageElement.buttonAssetGroups[1].title=톡에서 시승신청" \
-F "messageElement.name=기본텍스트" \
-F "messageElement.shareFlag=true" \
-F "messageElement.adFlag=true" \
-F "messageElement.csInfo=02-1234-5678" \
-F "messageElement.imageFile=@/directory/banner.png" \
-F "adGroupId=39688" \
-F "format=BASIC_TEXT_MESSAGE"
응답
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 12345,
"creativeId": 12345,
"name": "카카오톡 채널_도달_20210625",
"adGroupId": 11223,
"format": "BASIC_TEXT_MESSAGE",
"config": "ON",
"statusDescription": "발송 대기",
"creativeStatus": "OPERATING",
"createdDate": "2021-06-25T17:04:02.883575",
"lastModifiedDate": "2021-06-25T17:04:06.291245",
"messageElement": {
"id": 12345,
"adAccountId": 123,
"profileId": "_xbHxd",
"name": "카카오톡 채널_도달_20210625",
"creativeFormat": "BASIC_TEXT_MESSAGE",
"title": "홍보문구입니다.",
"image": {
"fileSize": 168816,
"url": "//beta.daumcdn.net/b2/creative/759/d7961bd0662a240f43f047d3116a25f3.jpg",
"fileName": "풀뷰 1280x720.jpg",
"imageWidth": 1280,
"imageHeight": 720,
"mimeType": "image/jpeg",
"imageHash": "35156f0c1393434ced4be21423d08a6a"
},
"shareFlag": true,
"adFlag": true,
"thumbnail": {
"fileSize": 168816,
"url": "//beta.daumcdn.net/b2/creative/759/d7961bd0662a240f43f047d3116a25f3.jpg",
"fileName": "풀뷰 1280x720.jpg",
"imageWidth": 1280,
"imageHeight": 720,
"mimeType": "image/jpeg",
"imageHash": "35156f0c1393434ced4be21423d08a6a"
},
"buttonAssetGroups": [
{
"ordering": 0,
"title": "버튼1",
"pcLandingUrl": "http://www.daum.net",
"mobileLandingUrl": "http://www.google.com",
"landingType": "LANDING_URL"
}
],
"thumbnailUrl": "//beta.daumcdn.net/b2/creative/759/d7961bd0662a240f43f047d3116a25f3.jpg",
"messageThumbnail": {
"fileSize": 168816,
"url": "//beta.daumcdn.net/b2/creative/759/d7961bd0662a240f43f047d3116a25f3.jpg",
"fileName": "풀뷰 1280x720.jpg",
"imageWidth": 1280,
"imageHeight": 720,
"mimeType": "image/jpeg",
"imageHash": "35156f0c1393434ced4be21423d08a6a"
},
"createdDate": "2021-06-25T17:04:02.883575",
"lastModifiedDate": "2021-06-25T17:04:06.291245"
}
}

더 보기

도움이 되었나요?