페이지 이동경로
  • 문서>
  • 카카오모먼트>
  • 광고 만들기: 메시지 소재

카카오모먼트

광고 만들기: 메시지 소재

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

시작하기 전에

발송 시간에 따른 소재 등록, 추가 정책

시작일이 지난 발송 그룹에 소재를 생성하는 경우 광고그룹 상태에 따라 소재 저장 시 즉시 메시지가 발송될 수 있습니다. 소재 생성시 상위 광고그룹의 시작기간과 상태를 확인하시기 바랍니다.

유형 발송시작 5분전 발송시작 5분전~발송시점 집행기간 내 집행 종료 후
일반 메시지 등록 가능 등록가능 등록가능 등록 불가
소재 최적화 등록 가능/ 추가 가능 등록가능/ 광고그룹 OFF일때 추가 가능 등록가능/ 광고그룹 OFF일때 추가 가능 등록 불가/ 소재 추가 불가

소재 유형 및 필수 요소

캐러셀 커머스형(CAROUSEL_COMMERCE_MESSAGE), 캐러셀 피드형(CAROUSEL_FEED_MESSAGE), 프리미엄동영상(PREMIUM_VIDEO_MESSAGE) 유형 및 쿠폰북 에셋 그룹(CouponBookAssetGroup)이 포함된 소재는 오픈API로 생성이 불가합니다.

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

기본 텍스트형
요소 필수 랜딩: URL 랜딩: 포스트 랜딩: 쿠폰 랜딩: 애드뷰 랜딩: 비즈니스폼
홍보이미지 X X X X X X
홍보동영상 X 카카오 TV 랜딩 카카오 TV 랜딩 카카오 TV 랜딩 카카오 TV 랜딩 카카오 TV 랜딩
홍보문구 O 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음
버튼 1 X O O O X X
버튼 2 X O O O O O
공유하기 X 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음
  • 홍보이미지:
    • 가로 80px 이상, jpg.png(최대 10MB), 원본 이미지 최대 2억 픽셀 이하
    • 가로:세로 비율 1:2.5 이하
    • 버튼 1 랜딩이 있으면 동일한 랜딩 적용 (별도 설정 불가)
  • 홍보동영상: 직접 업로드한 영상 또는 카카오TV 채널에 업로드된 공개/비공개 영상 중 선택 가능
    • 버튼 1 랜딩이 있으면 동일한 랜딩 적용 (별도 설정 불가)
  • 홍보문구:
    • 이미지/동영상 미 첨부 시 최대 400자
    • 이미지/동영상 첨부 시 최대 300자 입력 가능(초과 시 입력 제한)
    • 링크 입력 불가, 개행은 29개까지 가능
  • 버튼 1:
    • 레이블: 띄어쓰기 포함 최대 8자(초과 시 입력 제한)
  • 버튼 2:
    • 레이블: 띄어쓰기 포함 최대 8자(초과 시 입력 제한)
와이드이미지형
요소 필수 랜딩: URL 랜딩: 포스트 랜딩: 쿠폰 랜딩: 애드뷰 랜딩: 비즈니스폼
홍보이미지 O
홍보이미지, 홍보동영상 중 하나 필수
O O O X X
홍보동영상 O
홍보이미지, 홍보동영상 중 하나 필수
카카오 TV 랜딩 카카오 TV 랜딩 카카오 TV 랜딩 카카오 TV 랜딩 카카오 TV 랜딩
홍보문구 O 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음
버튼 X O O O O O
공유하기 X 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음
  • 홍보이미지:
    • 가로 80px 이상, jpg.png(최대 10MB), 원본 이미지 최대 2억 픽셀 이하
    • 가로:세로 비율 1:2.5 이하
  • 홍보동영상: 카카오TV 채널에 업로드된 공개/비공개 영상 중 선택 가능
  • 홍보문구:
    • 최대 76자 입력 가능(초과 시 입력 제한)
    • 링크 입력 불가, 개행은 1개까지 가능(필드에서 포커스 이동 시 유효성 검증)
  • 버튼:
    • 레이블: 띄어쓰기 포함 최대 8자(초과 시 입력 제한)
와이드리스트형
요소 필수 랜딩: URL 랜딩: 포스트 랜딩: 쿠폰 랜딩: 애드뷰 랜딩: 비즈니스폼
리스트1 타이틀 필수 아님 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음
리스트2~3 타이틀 O 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음
리스트1~3 홍보이미지 O
홍보이미지, 홍보동영상 중 하나 필수
O O O X X
리스트1~3 홍보동영상 O
홍보이미지, 홍보동영상 중 하나 필수
카카오TV로만 랜딩 카카오TV로만 랜딩 카카오TV로만 랜딩 카카오TV로만 랜딩 카카오TV로만 랜딩
리스트1~3 홍보문구 O 각 항목에 설정된 홍보이미지, 홍보동영상과 동일 각 항목에 설정된 홍보이미지, 홍보동영상과 동일 각 항목에 설정된 홍보이미지, 홍보동영상과 동일 각 항목에 설정된 홍보이미지, 홍보동영상과 동일 각 항목에 설정된 홍보이미지, 홍보동영상과 동일
리스트4 홍보이미지 X O O O X X
리스트4 홍보동영상 X 카카오TV로만 랜딩 카카오TV로만 랜딩 카카오TV로만 랜딩 카카오TV로만 랜딩 카카오TV로만 랜딩
리스트4 홍보문구 X 각 항목에 설정된 홍보이미지, 홍보동영상과 동일 각 항목에 설정된 홍보이미지, 홍보동영상과 동일 각 항목에 설정된 홍보이미지, 홍보동영상과 동일 각 항목에 설정된 홍보이미지, 홍보동영상과 동일 각 항목에 설정된 홍보이미지, 홍보동영상과 동일
버튼 X O O O O O
공유하기 X 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음 랜딩 없음
  • 타이틀: 최대 20자 입력 가능(초과 시 입력 제한)
  • 리스트1~3 홍보이미지:
    • 가로 80px 이상, jpg.png(최대 10MB) 원본 이미지 최대 2억 픽셀 이하
    • 가로:세로 비율 1:2.5 이하
    • 항목1의 경우 800X400 px, 나머지는 400X400 px 권장 가이드
  • 리스트1~3 홍보동영상: 카카오TV 채널에 업로드된 공개/비공개 영상 중 선택 가능
  • 리스트1~3 홍보문구:
    • 항목1의 경우 최대 25자, 나머지는 최대 30자 입력 가능(초과 시 입력 제한)
    • 링크 입력 불가, 개행은 1개까지 가능(필드에서 포커스 이동 시 유효성 검증)
  • 리스트4 홍보이미지:
    • 가로 80px 이상, jpg.png(최대 10MB) 원본 이미지 최대 2억 픽셀 이하
    • 가로:세로 비율 1:2.5 이하
  • 리스트4 홍보동영상: 카카오TV 채널에 업로드된 공개/비공개 영상 중 선택 가능
  • 리스트4 홍보문구:
    • 항목1의 경우 최대 25자, 나머지는 최대 30자 입력 가능(초과 시 입력 제한)
    • 링크 입력 불가, 개행은 1개까지 가능
  • 버튼:
    • 레이블: 띄어쓰기 포함 최대 8자(초과 시 입력 막힘)

소재 수정 정책

수정은 기존의 메시지와 동일한 포맷이어야 합니다. 집행 5분전 이후부터는 소재의 이름만 수정가능합니다. 이름을 제외한 다른 파라미터는 무시됩니다.

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

유형 발송시작 5분전 발송시작 5분전~발송시점 집행기간 내 집행 종료 후
일반 메시지 가능 불가 불가 불가
소재 최적화 가능 불가 불가 불가

캐러셀 커머스형(CAROUSEL_COMMERCE_MESSAGE), 캐러셀 피드형(CAROUSEL_FEED_MESSAGE), 프리미엄동영상(PREMIUM_VIDEO_MESSAGE) 유형 및 쿠폰북 에셋 그룹(CouponBookAssetGroup)이 포함된 소재는 오픈API로 수정이 불가합니다.

소재 복사 불가 케이스

캐러셀 커머스형(CAROUSEL_COMMERCE_MESSAGE), 캐러셀 피드형(CAROUSEL_FEED_MESSAGE), 프리미엄동영상(PREMIUM_VIDEO_MESSAGE) 유형 및 쿠폰북 에셋 그룹(CouponBookAssetGroup)이 포함된 소재는 오픈API로 복사가 불가합니다.

케이스 처리
카카오톡 채널이 다른 캠페인 하위 메시지 소재 복사 팝업에서 캠페인 선택 리스트에는 채널의 프로필ID가 일치하는 것만 노출됨
카카오톡 채널이 같은 캠페인 하위 메시지 소재 복사 팝업에서 ageVerification: true인 기존 광고그룹의 하위 소재는 ageVerification: false인 신규 광고그룹으로 복사 불가
에디터 배포 전에 광고그룹 하위에 저장한 채널 관리자센터 메시지 복사 대상으로 선택한 소재 중에 포함된 경우 얼럿 노출
쿠폰의 상태가 즉시종료, 응모기간완료 상태인 쿠폰을 랜딩으로 하는 메시지 복사 가능 소재 개수에 카운트 하지 않고, 리스트에는 '복사불가' 표시
비즈니스폼의 상태가 종료, 긴급종료 상태인 비즈니스폼을 랜딩으로 하는 메시지 복사 가능 소재 개수에 카운트 하지 않고, 리스트에는 '복사불가' 표시
포스트의 상태가 삭제 상태인 포스트를 랜딩으로 하는 메시지 복사 가능 소재 개수에 카운트 하지 않고, 리스트에는 '복사불가' 표시
애드뷰의 상태가 삭제 상태인 애드뷰를 랜딩으로 하는 메시지 복사 가능 소재 개수에 카운트 하지 않고, 리스트에는 '복사불가' 표시

메시지 소재 생성하기

기본 정보
메서드 URL 인증 방식
POST https://apis.moment.kakao.com/openapi/v4/creatives 액세스 토큰
권한 사전 설정 카카오 로그인 사용자 동의
필요 플랫폼 등록
카카오 로그인 활성화
비즈앱
필요 -

카카오톡 채널 X 도달 캠페인 하위의 소재를 생성합니다.

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

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

요청

헤더
이름 설명 필수
Authorization Authorization: Bearer ${ACCESS_TOKEN}
인증 방식, 액세스 토큰으로 인증 요청
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
본문
이름 타입 설명 필수
adGroupId Long 광고그룹 번호 O
format String 소재 유형
BASIC_TEXT_MESSAGE (기본텍스트),
WIDE_MESSAGE (와이드이미지),
WIDE_LIST_MESSAGE (와이드리스트)
O
name String 소재 이름
최대 40자
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}
으로 생성
X
messageElement MessageElement 생성할 메시지 내용
MULTIPART/FORM-DATA 로 mesasgeElement.{} 형식으로 요청
O
MessageElement
이름 타입 설명 필수
creativeFormat String 메시지 소재 유형
BASIC_TEXT_MESSAGE (기본 텍스트),
WIDE_MESSAGE (와이드 이미지),
WIDE_LIST_MESSAGE (와이드 리스트) 중 하나
format과 동일해야 함
O
profileId String 카카오톡 채널 프로필 ID O
title String 홍보문구
기본 텍스트 (BASIC_TEXT_MESSAGE), 와이드 이미지 (WIDE_MESSAGE) 일 경우에만 필수로 요청
기본 텍스트 (BASIC_TEXT_MESSAGE) 는 최대 400자,
와이드 이미지 (WIDE_MESSAGE) 는 최대 76자
O*
buttonAssetGroups ButtonAssetGroup[] 버튼 항목들
기본 텍스트 (BASIC_TEXT_MESSAGE) 유형의 경우 최대 2개의 버튼 에셋 그룹을 요청할 수 있으며
그 외 유형은 최대 1개의 버튼 에셋 그룹을 요청할 수 있음
버튼을 모두 미설정으로 요청할 경우 모든 메시지 유형에서 미설정 가능
기본 텍스트 (BASIC_TEXT_MESSAGE) 이면서 버튼1일 경우 랜딩은
미설정, URL, 포스트, 쿠폰만 설정 가능하며
버튼2의 경우 애드뷰, 비즈니스폼까지 설정 가능
와이드 이미지 (WIDE_MESSAGE), 와이드 리스트 (WIDE_LIST_MESSAGE) 유형의 경우
모든 랜딩 유형 설정 가능
X
itemAssetGroups ItemAssetGroup[] 리스트 항목 O
shareFlag Boolean 공유하기
true(설정), false(미설정) 중 하나
상위 광고그룹의 연령인증 메시지(ageVerification: true)로 설정된 경우 false만 요청 가능
O
adFlag Boolean 정보성 메시지
설정 (true),
미설정 (false) 중 하나
O
imageFile Multipart file 업로드할 이미지 파일
메시지 유형이 기본 텍스트 (BASIC_TEXT_MESSAGE) 일 경우에만 요청 가능
그 외 유형은 itemAssetGroup 객체를 통해 요청 가능
X
videoMeta VideoMeta 연동할 카카오TV 정보
메시지 유형이 기본 텍스트 (BASIC_TEXT_MESSAGE) 일 경우에만 요청 가능
그 외 유형은 itemAssetGroup 객체를 통해 요청 가능
X
csInfo String 고객센터 전화번호 O
ButtonAssetGroup
이름 타입 설명 필수
ordering Integer 버튼 순서
기본 텍스트 유형 (BASIC_TEXT_MESSAGE) 은 0, 1을
그 외 유형은 0만 전달 가능
O
pcLandingUrl String PC 랜딩 URL
랜딩 유형이 LANDING_URL 인 경우 요청 가능하며
PC 랜딩 URL은 PC 카카오톡에서 버튼 클릭 시 별도의 URL로 랜딩 시키려는 경우 사용
http:// 또는 https:// 형식의 정상적인 랜딩 URL을 입력
X
mobileLandingUrl String 모바일 랜딩 URL
http:// 또는 https:// 형식의 정상적인 랜딩 URL을 입력
O*
title String 버튼명
최대 8자까지 요청 가능
비즈니스폼의 경우 아래에 정의된 버튼명으로만 요청 가능
"톡에서 설문하기",
"톡에서 시승신청",
"톡에서 예약하기",
"톡에서 응모하기",
"톡에서 참여하기" 중 하나
O
landingType String 랜딩 유형
URL 랜딩 (LANDING_URL),
쿠폰 랜딩 (CHANNEL_COUPON),
포스트 랜딩 (CHANNEL_POST),
비즈니스폼 랜딩 (BIZ_FORM),
애드뷰 랜딩 (AD_VIEW) 중 하나
O
channelCouponId Long 쿠폰 ID
랜딩 유형이 쿠폰 랜딩 (CHANNEL_COUPON) 인 경우 요청 가능
쿠폰 목록 조회 API 로 조회되는 쿠폰 ID
O*
channelPostId Long 포스트 ID
랜딩 유형이 포스트 랜딩 (CHANNEL_POST) 인 경우 요청 가능
채널 포스트 목록 조회 API로 조회되는 포스트 ID
O*
bizFormId Long 비즈니스폼 ID
랜딩 유형이 비즈니스폼 랜딩 (BIZ_FORM) 인 경우 요청 가능
비즈니스폼 목록 조회 API로 조회되는 비즈니스폼 ID
O*
adViewId Long 애드뷰 ID
랜딩 유형이 애드뷰 랜딩 (AD_VIEW) 인 경우 요청 가능
애드뷰 목록 조회 API로 조회되는 애드뷰 ID
O*
ItemAssetGroup
이름 타입 설명 필수
landingType String 랜딩 유형
URL 랜딩 (LANDING_URL),
쿠폰 랜딩(CHANNEL_COUPON),
포스트 랜딩(CHANNEL_POST) 중 하나를 전달
O
title String 홍보문구
와이드 리스트(WIDE_LIST_MESSAGE) 유형 중 리스트의 첫 번째 항목(messageElement.itemAssetGroups[0])이 아닌 경우 필수
O*
mobileLandingUrl String 모바일 랜딩URL
http:// 또는 https:// 형식의 정상적인 랜딩 URL을 입력
X
pcLandingUrl String PC 랜딩 URL
랜딩 유형이 LANDING_URL 인 경우 요청 가능하며
PC 랜딩 URL은 PC 카카오톡에서 버튼 클릭 시 별도의 URL로 랜딩 시키려는 경우 사용
http:// 또는 https:// 형식의 정상적인 랜딩 URL을 입력
X
channelPostId Long 포스트 ID
랜딩 유형이 포스트 랜딩(CHANNEL_POST)인 경우 요청 가능
채널 포스트 목록 조회 API로 조회되는 포스트 ID
X
channelCouponId Long 쿠폰 ID
랜딩 유형이 쿠폰 랜딩(CHANNEL_COUPON)인 경우 요청 가능
쿠폰 목록 조회 API 로 조회되는 쿠폰 ID
X
imageFile Multipart File 업로드할 이미지 파일
메시지 유형이 와이드 이미지(WIDE_MESSAGE) 혹은 와이드 리스트(WIDE_LIST_MESSAGE) 유형인 경우에만 사용 가능
랜딩 유형이 URL인 경우 사용 불가능
O*
videoMeta VideoMeta 동영상(카카오TV) 메타 정보
기본 텍스트(BASIC_TEXT_MESSAGE) 일 경우 요청
O*
VideoMeta
이름 타입 설명 필수
id Long 연동할 카카오TV 클립링크 ID
카카오TV 채널 영상 상세 보기 API를 통해 얻은 clipLinkId
O
thumbnail String 썸네일 URL
카카오TV 채널 영상 상세 보기 API를 이용하여 응답받는 썸네일 URL
O
isLoad Boolean 카카오TV 영상 로드 여부
고정값(true)로 전달해야 함
O
isLive Boolean 카카오TV 라이브 영상 여부
고정값(false)로 전달해야 함
O
isLink Boolean 카카오TV 영상 링크 여부
고정값(true)로 전달해야 함
O

응답

본문
이름 타입 설명
id Long 소재 대표 번호
최초 생성 시 부여된 식별용 번호
creativeId Long 소재 번호
실제 집행 시 활용되는, 소재 수정 발생 시 부여되는 소재 번호
name String 소재명
adGroupId Long 광고그룹 번호
format String 소재 유형
BASIC_TEXT_MESSAGE (기본텍스트), WIDE_MESSAGE (와이드이미지), WIDE_LIST_MESSAGE (와이드리스트)
config String 소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfig String 소재 시스템 상태
ON, VOID 중 하나
statusDescription String 메시지 광고그룹의 현재 상태
발송 대기, 발송중, 발송중지, 발송종료 중 하나
creativeStatus String 소재의 운영 상태
OPERATING(운영가능), UNAPPROVED(심사미승인), INVALID_DATE(기간오류), MONITORING_REJECTED(관리자정지), OFF(사용자OFF), DELETED(삭제), ADGROUP_UNAVAILABLE(광고그룹 운영불가) 중 하나
createdDate String 소재 생성일시
lastModifiedDate String 소재 마지막 수정일시
messageElement MessageElement 메시지 상세 설명
ageVerification Boolean 연령인증 메시지 여부
true: 연령인증 메시지
false: 일반 메시지

예제

요청
기본 텍스트형
와이드리스트형
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${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"
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}"
    -F "messageElement.creativeFormat:WIDE_LIST_MESSAGE" \
    -F "Format:WIDE_LIST_MESSAGE" \
    -F "messageElement.profileId:_Xxju" \
    -F "messageElement.title:와이드리스트홍보문" \
    -F "messageElement.buttonAssetGroups[0].ordering:0" \
    -F "messageElement.buttonAssetGroups[0].title:버튼1" \
    -F "messageElement.buttonAssetGroups[0].landingType:LANDING_URL" \
    -F "messageElement.buttonAssetGroups[0].pcLandingUrl:http://daum.net" \
    -F "messageElement.buttonAssetGroups[0].mobileLandingUrl:http://daum.net" \
    -F "messageElement.shareFlag:true" \
    -F "messageElement.adFlag:true" \
    -F "messageElement.csInfo:014-1122-1251" \
    -F "adGroupId:41157" \
    -F "name:베일리와이드리스" \
    -F "messageElement.itemAssetGroups[0].ordering:0" \
    -F "messageElement.itemAssetGroups[0].title:타이틀1" \
    -F "messageElement.itemAssetGroups[0].landingType:LANDING_URL" \
    -F "messageElement.itemAssetGroups[0].mobileLandingUrl:https://www.kakaocorp.com" \
    -F "messageElement.itemAssetGroups[1].ordering:1" \
    -F "messageElement.itemAssetGroups[1].title:타이틀2" \
    -F "messageElement.itemAssetGroups[1].landingType:LANDING_URL" \
    -F "messageElement.itemAssetGroups[1].mobileLandingUrl:https://www.kakaocorp.com" \
    -F "messageElement.itemAssetGroups[2].ordering:2" \
    -F "messageElement.itemAssetGroups[2].title:타이틀3" \
    -F "messageElement.itemAssetGroups[2].landingType:LANDING_URL" \
    -F "messageElement.itemAssetGroups[2].mobileLandingUrl:https://www.kakaocorp.com" \
    -F "messageElement.itemAssetGroups[3].ordering:3" \
    -F "messageElement.itemAssetGroups[3].title:타이틀4" \
    -F "messageElement.itemAssetGroups[3].landingType:LANDING_URL" \
    -F "messageElement.itemAssetGroups[3].mobileLandingUrl:https://www.kakaocorp.com" \
    -F "messageElement.itemAssetGroups[0]=@/directory/banner.png" \
    -F "messageElement.itemAssetGroups[1]=@/directory/banner.png" \
    -F "messageElement.itemAssetGroups[2]=@/directory/banner.png" \
    -F "messageElement.itemAssetGroups[3]=@/directory/banner.png"
응답
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",
    "systemConfig": "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": "https://www.kakaocorp.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 인증 방식
PUT https://apis.moment.kakao.com/openapi/v4/creatives 액세스 토큰
권한 사전 설정 카카오 로그인 사용자 동의
필요 플랫폼 등록
카카오 로그인 활성화
비즈앱
필요 -

카카오톡 채널 X 도달 캠페인 하위의 소재를 수정합니다.

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

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

요청

헤더
이름 설명 필수
Authorization Authorization: Bearer ${ACCESS_TOKEN}
인증 방식, 액세스 토큰으로 인증 요청
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
본문
이름 타입 설명 필수
adGroupId Long 광고그룹 번호 O
format String 소재 유형
BASIC_TEXT_MESSAGE (기본텍스트),
WIDE_MESSAGE (와이드이미지),
WIDE_LIST_MESSAGE (와이드리스트)
O
name String 소재 이름
최대 40자
설정하지 않은 경우 {캠페인 유형}{캠페인 목표}{현재시간}
으로 설정됩니다.
X
messageElement MessageElement 생성할 메시지 내용
MULTIPART/FORM-DATA 로 mesasgeElement.{} 형식으로 요청
O

응답

본문
이름 타입 설명
id Long 소재 대표 번호
최초 생성 시 부여된 식별용 번호
creativeId Long 소재 번호
실제 집행 시 활용되는, 소재 수정 발생 시 부여되는 소재 번호
name String 소재명
adGroupId Long 광고그룹 번호
format String 소재 유형
BASIC_TEXT_MESSAGE (기본텍스트), WIDE_MESSAGE (와이드이미지), WIDE_LIST_MESSAGE (와이드리스트)
config String 소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfig String 소재 시스템 상태
ON, VOID 중 하나
statusDescription String 메시지 광고그룹의 현재 상태
발송 대기, 발송중, 발송중지, 발송종료 중 하나
creativeStatus String 소재의 운영 상태
OPERATING(운영가능), UNAPPROVED(심사미승인), INVALID_DATE(기간오류), MONITORING_REJECTED(관리자정지), OFF(사용자OFF), DELETED(삭제), ADGROUP_UNAVAILABLE(광고그룹 운영불가) 중 하나
createdDate String 소재 생성일시
lastModifiedDate String 소재 마지막 수정일시
messageElement MessageElement 메시지 상세 설명
ageVerification Boolean 연령인증 메시지 여부
true: 연령인증 메시지
false: 일반 메시지

예제

요청
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/creatives" \
    -H "Authorization: Bearer ${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",
    "systemConfig": "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": "https://www.kakaocorp.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 인증 방식
POST https://apis.moment.kakao.com/openapi/v4/creatives/copy 액세스 토큰
권한 사전 설정 카카오 로그인 사용자 동의
필요 플랫폼 등록
카카오 로그인 활성화
비즈앱
필요 -

카카오톡 채널 X 도달 캠페인 하위의 소재를 복사합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 POST로 광고그룹 ID와 복사할 소재 번호 목록을 지정하여 요청합니다. 성공 시 복사된 소재 정보의 배열을 받습니다. 실패 시 에러 코드상세 에러 코드로 사유를 확인합니다.

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

요청

헤더
이름 설명 필수
Authorization Authorization: Bearer ${ACCESS_TOKEN}
인증 방식, 액세스 토큰으로 인증 요청
O
adAccountId adAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
본문
이름 타입 설명 필수
adGroupId Long 소재들이 복사될 광고그룹 번호 O
creativeIds Long[] 복사할 소재 번호 목록 O

응답

본문
이름 타입 설명
- MessageCreative[] 소재 정보 목록
MessageCreative
이름 타입 설명
id Long 소재 대표 번호
최초 생성 시 부여된 식별용 번호
creativeId Long 소재 번호
실제 집행 시 활용되는, 소재 수정 발생 시 부여되는 소재 번호
name String 소재명
adGroupId Long 광고그룹 번호
format String 소재 유형
BASIC_TEXT_MESSAGE (기본텍스트), WIDE_MESSAGE (와이드이미지), WIDE_LIST_MESSAGE (와이드리스트)
config String 소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfig String 소재 시스템 상태
ON, VOID 중 하나
statusDescription String 메시지 광고그룹의 현재 상태
발송 대기, 발송중, 발송중지, 발송종료 중 하나
creativeStatus String 소재의 운영 상태
OPERATING(운영가능), UNAPPROVED(심사미승인), INVALID_DATE(기간오류), MONITORING_REJECTED(관리자정지), OFF(사용자OFF), DELETED(삭제), ADGROUP_UNAVAILABLE(광고그룹 운영불가) 중 하나
createdDate String 소재 생성일시
lastModifiedDate String 소재 마지막 수정일시
messageElement MessageElement 메시지 상세 설명
ageVerification Boolean 연령인증 메시지 여부
true: 연령인증 메시지
false: 일반 메시지

예제

요청
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives/copy" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: ${AD_ACCOUNT_ID}" \
    -d '{
            "adGroupId": 11223,
            "creativeIds": [12345]
        }'
응답
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8
[
    {
        "id": 12346,
        "creativeId": 12346,
        "name": "카카오톡 채널_도달_20210625",
        "adGroupId": 11223,
        "format": "BASIC_TEXT_MESSAGE",
        "config": "ON",
        "systemConfig": "ON",
        "statusDescription": "발송 대기",
        "creativeStatus": "OPERATING",
        "createdDate": "2021-06-25T17:04:03",
        "lastModifiedDate": "2021-06-25T17:04:06",
        "messageElement": {
            "id": 78428,
            "adAccountId": 759,
            "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": "https://www.kakaocorp.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:03",
            "lastModifiedDate": "2021-06-25T17:04:06"
        }
    }
]

더 보기