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

kakao developers

관련사이트
  • 문서
  • 카카오모먼트
  • 광고 생성: 디스플레이 소재

사이드 메뉴

카카오맵

검색

카카오모먼트

광고 생성: 디스플레이 소재

이 문서는 디스플레이 소재 API 사용 방법을 안내합니다.

시작하기 전에

소재 유형

2025년 8월 26일 업데이트로 아래 홍보 이미지 비율이 추가되었습니다.

캠페인 유형소재 유형홍보 이미지프로필 이미지
디스플레이이미지 네이티브(IMAGE_NATIVE)800x1000 이상 (4:5), 500KB, JPG/JPEG/PNG300x300 이상 (1:1), 500KB, JPG/JPEG/PNG

2024년 12월 17일 업데이트로 아래 동영상 소재 유형이 추가되었습니다.

캠페인 유형소재 유형프로필 이미지홍보 동영상맞춤 썸네일
동영상동영상 네이티브(VIDEO_NATIVE)300x300 이상 (1:1), 500KB, JPG/JPEG/PNG720x1280 이상 (9:16), 100MB, AVI, FLV, MP4 권장
1280x720 이상 (16:9), 100MB, AVI, FLV, MP4 권장
720x1280 이상 (9:16), 500KB, JPG/JPEG/PNG
1280x720 이상 (16:9), 500KB, JPG/JPEG/PNG

2024년 9월 5일 업데이트로 아래 디스플레이 소재 유형이 추가되었습니다.

캠페인 유형소재 유형홍보 이미지프로필 이미지
디스플레이이미지 카탈로그(CATALOG_MANUAL)슬라이드 내 홍보 이미지: 500x500 이상 (9:16), 500KB, JPG/JPEG/PNG
최소 4개, 최대 10개 설정 가능
300x300 이상 (1:1), 500KB, JPG/JPEG/PNG

2023년 8월 30일 업데이트로 아래 디스플레이 소재 유형이 추가되었습니다.

캠페인 유형소재 유형홍보 이미지프로필 이미지
디스플레이이미지 네이티브(IMAGE_NATIVE)720x1280 이상 (9:16), 500KB, JPG/JPEG/PNG300x300 이상 (1:1), 500KB, JPG/JPEG/PNG

2023년 2월 21일 업데이트로 캠페인 유형별 생성 가능한 소재 유형이 아래와 같이 변경되었습니다.

캠페인 유형소재 유형홍보 이미지프로필 이미지
카카오 비즈보드이미지 배너(IMAGE_BANNER)1029x258, 300KB, PNG-24
디스플레이이미지 네이티브(IMAGE_NATIVE)500x500 이상 (1:1), 500KB, JPG/JPEG/PNG
1200x600 이상 (2:1), 500KB, JPG/JPEG/PNG
300x300 이상 (1:1), 500KB, JPG/JPEG/PNG

소재 랜딩 유형

기존에 제공하던 URL과 함께 다양한 유형의 랜딩과 소재 랜딩 유형을 설정할 수 있습니다. 카카오 비즈보드 유형의 캠페인 하위에만 설정 가능하며, 랜딩 설정을 위한 목록 조회 API는 신규로 제공하지만 애드뷰 생성, 비즈니스폼등의 생성 API는 제공하지 않습니다. 카카오페이 구매의 경우 생성 및 수정은 불가능하며 조회만 가능합니다.

자세한 사용 방법은 아래 표를 참고합니다.

유형파라미터
URLmobileLandingUrl에 설정
챗봇, 채널웹뷰카카오톡 채널 프로필 목록 조회 API 사용
애드뷰애드뷰 목록 조회 API 사용
비즈니스폼비즈니스폼 목록 보기 API 사용
채널 소식채널 소식 ID 사용

디스플레이 소재 생성

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

디스플레이 소재를 생성합니다.

소재 생성 요청은 소재 유형(format)을 반드시 이미지 배너(IMAGE_BANNER), 이미지 네이티브(IMAGE_NATIVE), 이미지 카탈로그(CATALOG_MANUAL), 동영상 네이티브(VIDEO_NATIVE) 중 하나로 명시해야 합니다. 소재 유형에 따라 전달해야 하는 파라미터 종류가 다릅니다. 예를 들어 이미지 배너는 imageFileUrl을, 이미지 네이티브는 imageFileUrlprofileImageFileUrl을, 이미지 카탈로그는 slides 리스트와 profileImageFileUrl을, 동영상 네이티브는 videoFileUrlprofileImageFileUrl을 각각 전달합니다.

소재 생성 API는 이미지 등록을 위해 application/jsonmultipart/form-data 두 가지 Content-Type을 지원합니다. 어느 방식으로 요청하더라도 소재 생성 결과는 같습니다.

  • application/json: imageFileUrl 파라미터로 http:// 또는 https:// URL 형식의 소재 이미지 경로 전달
  • multipart/form-data: imageFile 파라미터로 로컬 파일 경로 전달

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

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

랜딩 URL

  • 랜딩 URL은 아래와 같이 세 가지 종류가 있습니다.
    • PC용 URL: pcLandingUrl
    • 모바일용 URL: mobileLandingUrl
    • 반응형 URL: rspvLandingUrl
  • 각 랜딩 URL은 개별적으로는 필수(Required)가 아니지만, 최소 1개 이상의 랜딩 URL을 반드시 설정해야 합니다.
  • 단, 반응형 URL(rspvLandingUrl)은 다른 랜딩 URL과 함께 설정할 수 없으며, 단독으로만 설정 가능합니다.

요청

헤더
이름설명필수
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
인증 방식, 비즈니스 토큰으로 인증 요청
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
본문: 이미지 배너
이름타입설명필수
adGroupIdLong광고그룹 번호O
formatString소재 유형
IMAGE_BANNER (고정값)
O
imageFileUrlString홍보이미지
사이즈: 1029x258
용량: 300KB
파일형식: PNG-24
http:// 또는 https:// 형식의 URL형태로 요청
O
application/json
방식일 경우 필수
imageFileMultipart File홍보이미지
사이즈: 1029x258
용량: 300KB
파일형식: PNG-24
로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
landingInfoLandingInfo랜딩 유형
카카오 비즈보드 유형의 캠페인 하위 소재만 설정 가능
X
pcLandingUrlString랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
카카오 비즈보드 유형의 캠페인에는 설정할 수 없습니다.
X
mobileLandingUrlString랜딩 URL
모바일용 URL로 http:// 또는 https:// 형식의 유효한 형식 입력
X
rspvLandingUrlString랜딩 URL
반응형 URL로 http:// 또는 https:// 형식의 유효한 형식 입력
카카오 비즈보드 유형의 캠페인에는 설정할 수 없습니다.
X
altTextString소재 설명
최대 30자
장애인에게 음성 안내되는 내용으로 특수문자는 사용 불가능
O
nameString소재 이름
최대 50자
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}_{소재 사이즈}로 생성
X
opinionString의견(최대: 1,000자)X
opinionProofFileUrlListString[]증빙
application/json 방식 요청 시 사용 가능
http:// 또는 https:// 형식의 증빙 파일 정보
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
opinionProofFileListMultipart File[]증빙
multipart/form-data 방식 요청 시 사용 가능
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
본문: 이미지 네이티브
이름타입설명필수
adGroupIdLong광고그룹 번호O
formatString소재 유형
IMAGE_NATIVE (고정값)
O
profileImageFileUrlString프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 유효한 형식 입력
O
application/json
방식일 경우 필수
profileImageFileMultipart File프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
imageFileUrlString홍보이미지
사이즈: 500x500 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 1200x600 이상 (2:1)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 720x1280 이상 (9:16)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 800x1000 이상 (4:5)
용량: 500KB
파일형식: JPG/JPEG/PNG

http:// 또는 https:// 형식의 유효한 형식 입력
O
application/json
방식일 경우 필수
imageFileMultipart File홍보이미지
사이즈: 500x500 이상 (1:1)
용량:500KB
파일형식: JPG/JPEG/PNG

사이즈: 1200x600 이상 (2:1)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 720x1280 이상 (9:16)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 800x1000 이상 (4:5)
용량: 500KB
파일형식: JPG/JPEG/PNG

로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
slidesSlides[]IMAGE_NATIVE(이미지 네이티브) 소재의 슬라이드 아이템(최소 1개, 최대 10개)X
titleString타이틀
최대 25자
O
profileNameString프로필 이름
최대 20자
O
descriptionString홍보문구
최대 45자
O
actionButtonActionButton행동유도버튼O
actionButtonFontColorString행동유도문구 색상
#000000(검은색) 또는 #FFFFFF(흰색) 중 하나

중요: 행동유도문구 색상 지정 시 actionButtonBackgroundColor(버튼 색상) 함께 지정 필수
X
actionButtonBackgroundColorString버튼 색상
사용 불가 색상(#FFFFFF, #F0F0F0, #000000, #FEE500)을 제외한 색상 하나

중요: 버튼 색상 지정 시 actionButtonFontColor(행동유도문구 색상) 함께 지정 필수
X
pcLandingUrlStringPC 대표 랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
카카오 비즈보드 유형의 캠페인에는 설정할 수 없습니다.
X
mobileLandingUrlString모바일 대표 랜딩 URL
모바일용 URL로 http:// 또는 https:// 유효한 형식 입력
X
rspvLandingUrlString반응형 대표 랜딩 URL
반응형 URL로 http:// 또는 https:// 유효한 형식 입력
카카오 비즈보드 유형의 캠페인에는 설정할 수 없습니다.
X
altTextString소재 설명
최대 30자
장애인에게 음성 안내되는 내용으로 특수문자는 사용 불가능
O
nameString소재 이름
최대 50자
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}_{소재 사이즈}로 생성
X
opinionString의견(최대: 1,000자)X
opinionProofFileUrlListString[]증빙
application/json 방식 요청 시 사용 가능
http:// 또는 https:// 형식의 증빙 파일 정보
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
opinionProofFileListMultipart File[]증빙
multipart/form-data 방식 요청 시 사용 가능
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
본문: 이미지 카탈로그
이름타입설명필수
adGroupIdLong광고그룹 번호O
formatString소재 유형
CATALOG_MANUAL(고정값)
O
profileImageFileUrlString프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 유효한 형식 입력
O
application/json
방식일 경우 필수
profileImageFileMultipart File프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
slidesSlides[]CATALOG_MANUAL(이미지 카탈로그) 소재의 슬라이드 아이템(최소 4개, 최대 10개)

중요: 기존 assetGroups는 2025.9.30 이후 사용 불가
O
profileNameString프로필 이름
최대 20자
O
actionButtonActionButton행동유도버튼O
pcLandingUrlStringPC 대표 랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
X
mobileLandingUrlString모바일 대표 랜딩 URL
모바일용 URL로 http:// 또는 https:// 유효한 형식 입력
X
rspvLandingUrlString반응형 대표 랜딩 URL
반응형 URL로 http:// 또는 https:// 유효한 형식 입력
X
nameString소재 이름
최대 50자
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}_{소재 사이즈}로 생성
X
opinionString의견(최대: 1,000자)X
opinionProofFileUrlListString[]증빙
application/json 방식 요청 시 사용 가능
http:// 또는 https:// 형식의 증빙 파일 정보
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
opinionProofFileListMultipart File[]증빙
multipart/form-data 방식 요청 시 사용 가능
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
본문: 동영상 네이티브
이름타입설명필수
adGroupIdLong광고그룹 번호O
formatString소재 유형
VIDEO_NATIVE (고정값)
O
profileImageFileUrlString프로필 이미지
사이즈: 300x300 이상 (1:1),
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 유효한 형식 입력
O
application/json
방식일 경우 필수
profileImageFileMultipart File프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
slidesSlides[]VIDEO_NATIVE(동영상 네이티브) 소재의 슬라이드 아이템(최소 1개, 최대 10개)X
titleString타이틀
최대 25자
O
profileNameString프로필 이름
최대 20자
O
descriptionString홍보문구
최대 45자
O
actionButtonActionButton행동유도버튼O
actionButtonFontColorString행동유도문구 색상
#000000(검은색) 또는 #FFFFFF(흰색) 중 하나

중요: 행동유도문구 색상 지정 시 actionButtonBackgroundColor(버튼 색상) 함께 지정 필수
X
actionButtonBackgroundColorString버튼 색상
사용 불가 색상(#FFFFFF, #F0F0F0, #000000, #FEE500)을 제외한 색상 하나

중요: 버튼 색상 지정 시 actionButtonFontColor(행동유도문구 색상) 함께 지정 필수
X
rspvLandingUrlString반응형 대표 랜딩 URL
반응형 URL로 http:// 또는 https:// 유효한 형식 입력
입력 시 mobileLandingUrl 또는 pcLandingUrl 보다 우선값으로 입력
O*
mobileLandingUrlString모바일 대표 랜딩 URL
모바일용 URL로 http:// 또는 https:// 유효한 형식 입력
O*
pcLandingUrlStringPC 대표 랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
O*
nameString소재 이름
최대 50자
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}으로 생성
X
opinionString의견(최대: 1,000자)X
opinionProofFileUrlListString[]증빙
application/json 방식 요청 시 사용 가능
http:// 또는 https:// 형식의 증빙 파일 정보
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
opinionProofFileListMultipart File[]증빙
multipart/form-data 방식 요청 시 사용 가능
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
videoFileUrlString홍보 동영상
사이즈: 720x1280 이상 (9:16) 또는 1280x720 이상 (16:9)
용량: 1GB
파일 형식: AVI/FLV/MP4
http:// 또는 https:// 형식의 유효한 형식 입력
O
application/json
방식일 경우 필수
videoFileMultipartFile홍보 동영상
사이즈: 720x1280 이상 (9:16) 또는 1280x720 이상 (16:9)
용량: 1GB
파일 형식: AVI/FLV/MP4
로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
uploadThumbnailImageFileUrlString맞춤 썸네일
사이즈: 1280x720 이상 (16:9)
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 유효한 형식 입력
X
application/json
방식일 경우 사용 가능
uploadThumbnailImageFileMultipartFile맞춤 썸네일
사이즈: 1280x720 이상 (16:9)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
X
multipart/form-data
방식일 경우 사용 가능
* rspvLandingUrl, mobileLandingUrl, pcLandingUrl 중 한 개 필수 입력 필요
LandingInfo
이름타입설명
landingTypeLandingType랜딩 유형
profileIdStringPF_BOT (챗봇),
CHANNEL_WEBVIEW (채널웹뷰) 랜딩 사용시 카카오톡 채널 프로필 ID

카카오톡 채널 프로필 보기 API로 조회 가능한 카카오톡 채널 프로필 ID를 요청

참고: 카카오톡 채널 프로필 ID 확인 방법
actionStringPF_BOT (챗봇) 랜딩 사용시 키워드
adViewItemAdViewItemAD_VIEW (애드뷰) 랜딩 사용시 애드뷰 객체
연동 가능한 애드뷰 랜딩 유형 목록 조회 API로 조회 가능한 id를 사용
urlStringCHANNEL_WEBVIEW (채널웹뷰) 랜딩 사용시 URL
bizFormIdLongBIZ_FORM (비즈니스폼) 랜딩 사용시 비즈니스폼 번호
연동 가능한 비즈니스폼 랜딩 유형 목록 조회 API로 조회 가능한 bizFormId를 사용
channelPostIdLongCHANNEL_POST (채널 소식) 랜딩 사용시 채널 소식 아이디
연동 가능한 채널 소식 랜딩 유형 목록 조회 API로 조회 가능한 소식 번호를 사용
LandingType
이름설명
PF_BOT챗봇
AD_VIEW애드뷰
CHANNEL_WEBVIEW채널웹뷰
BIZ_FORM비즈니스폼
CHANNEL_POST채널 소식
AdViewItem
이름타입설명
idLong애드뷰 번호
Slides
  • Slides의 기존 명칭인 AssetGroup은 2025.9.30 이후 사용 불가
이름타입설명필수
imageFileUrlString슬라이드 이미지
사이즈: 500x500 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 유효한 형식 입력
O
application/json
방식일 경우 필수
imageFileMultipart File슬라이드 이미지
사이즈: 500x500 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
titleString타이틀(최대: 25자)O
pcLandingUrlStringPC 대표 랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
X
mobileLandingUrlString모바일 대표 랜딩 URL
모바일용 URL로 http:// 또는 https:// 유효한 형식 입력
X
rspvLandingUrlString반응형 대표 랜딩 URL
반응형 URL로 http:// 또는 https:// 유효한 형식 입력
X
descriptionString홍보 문구(최대: 45자)
IMAGE_NATIVE(이미지 네이티브), VIDEO_NATIVE(동영상 네이티브) 하위 슬라이드 생성 시 입력 불가
X
priceAmountString가격 정보(최소: 0, 최대: 9999999999, CurrencyCodeKRW, JPY일 경우 정수만 입력 가능, USD, EUR일 경우 소수점 둘째 자리까지 입력 가능)
가격 정보 요청 시 통화 정보(priceCurrencyCode) 함께 요청 필수
X
priceCurrencyCodeString통화 정보
KRW, USD, JPY, EUR 중 하나
가격 정보(priceAmount), 할인 가격 정보(discountedPriceAmount) 요청 시 함께 요청 필수
X
discountedPriceAmountString할인 가격 정보(최소: 0, 최대: 9999999999, CurrencyCodeKRW, JPY일 경우 정수만 입력 가능, USD, EUR일 경우 소수점 둘째 자리까지 입력 가능)
가격 정보(priceAmount)보다 1% 이상 작은 값으로만 요청 가능
할인 가격 정보 요청 시 가격 정보(priceAmount), 통화 정보(priceCurrencyCode) 함께 요청 필수
X

응답

본문: 이미지 배너
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
adGroupIdLong광고그룹 번호
formatString소재 유형
IMAGE_BANNER
imageImage업로드 된 홍보 이미지
landingInfoLandingInfo랜딩 정보
pcLandingUrlString랜딩 URL (PC용 URL)
mobileLandingUrlString랜딩 URL (모바일용 URL)
rspvLandingUrlString랜딩 URL (반응형 URL)
altTextString소재 설명
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfigString소재 시스템 상태
ON, ADMIN_STOP 중 하나
nameString소재 이름
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MONITORING_REJECTED(관리자정지) 중 하나
statusDescriptionString소재의 게재와 관련된 현재 상태
opinionProofOpinionFile[]심사 처리를 위한 의견, 증빙자료 파일 목록
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
rejectedReasonArray소재 심사 목적 (비어있는 배열)
본문: 이미지 네이티브
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
adGroupIdLong광고그룹 번호
formatString소재 유형
IMAGE_NATIVE
profileImageImage업로드 된 프로필 이미지
imageImage업로드 된 홍보 이미지
titleString타이틀
profileNameString프로필 이름
descriptionString홍보문구
actionButtonString행동유도버튼
pcLandingUrlString랜딩 URL (PC용 URL)
mobileLandingUrlString랜딩 URL (모바일용 URL)
rspvLandingUrlString랜딩 URL (반응형 URL)
altTextString소재 설명
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfigString소재 시스템 상태
ON, ADMIN_STOP 중 하나
nameString소재 이름
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MONITORING_REJECTED(관리자정지) 중 하나
statusDescriptionString소재의 게재와 관련된 현재 상태
opinionProofOpinionFile[]심사 처리를 위한 의견, 증빙자료 파일 목록
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
rejectedReasonArray소재 심사 목적 (비어있는 배열)
본문: 이미지 카탈로그
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
adGroupIdLong광고그룹 번호
formatString소재 유형
CATALOG_MANUAL
profileImageImage업로드 된 프로필 이미지
profileNameString프로필 이름
assetGroupsAssetGroup[]슬라이드 아이템
actionButtonString행동유도버튼
pcLandingUrlString랜딩 URL (PC용 URL)
mobileLandingUrlString랜딩 URL (모바일용 URL)
rspvLandingUrlString랜딩 URL (반응형 URL)
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfigString소재 시스템 상태
ON, ADMIN_STOP 중 하나
nameString소재 이름
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MONITORING_REJECTED(관리자정지) 중 하나
statusDescriptionString소재의 게재와 관련된 현재 상태
creativeStatusString소재의 운영 상태
OPERATING(운영가능), UNAPPROVED(심사미승인), INVALID_DATE(기간오류), MONITORING_REJECTED(관리자정지), OFF(사용자OFF), DELETED(삭제), ADGROUP_UNAVAILABLE(광고그룹 운영불가) 중 하나
opinionProofOpinionFile[]심사 처리를 위한 의견, 증빙자료 파일 목록
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
rejectedReasonArray소재 심사 목적 (비어있는 배열)
본문: 동영상 네이티브
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
formatString소재 유형
VIDEO_NATIVE
nameString소재 이름
adGroupIdLong광고그룹 번호
pcLandingUrlString랜딩 URL (PC용 URL)
mobileLandingUrlString랜딩 URL (모바일용 URL)
rspvLandingUrlString랜딩 URL (반응형 URL)
frequencyCapString게재빈도 상세 설정 값
frequencyCapTypeString게재빈도 상태
DAY_IMP(상세 설정), AUTO(자동 설정)
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfigString소재 시스템 상태
ON, ADMIN_STOP 중 하나
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MONITORING_REJECTED(관리자정지) 중 하나
createdDateString소재 생성일시
creativeStatusString소재의 운영 상태
OPERATING(운영가능), UNAPPROVED(심사미승인), INVALID_DATE(기간오류), MONITORING_REJECTED(관리자정지), OFF(사용자OFF), DELETED(삭제), ADGROUP_UNAVAILABLE(광고그룹 운영불가) 중 하나
imageImage업로드 된 홍보 이미지
titleString타이틀
descriptionString홍보문구
actionButtonString행동유도버튼
profileNameString프로필 이름
profileImageImage업로드 된 프로필 이미지
videoVideo업로드 된 홍보 비디오
statusDescriptionString소재의 게재와 관련된 현재 상태
rejectedReasonArray소재 심사 목적 (비어있는 배열)
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
thumbnailImageImage업로드 된 맞춤 썸네일

예제

요청: application/json 방식
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
-H "Content-Type: application/json" \
-d '{
"adGroupId":1234,
"format":"IMAGE_BANNER",
"imageFileUrl":"https://www.image.com/sample.png",
"altText":"소재설명",
"landingInfo": {
"landingType":"AD_VIEW",
"adViewItem":{"id":1}
},
"name": "첫번째_이미지배너"
}'
요청: multipart/form-data 방식
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: multipart/form-data" \
-F "adGroupId=1234" \
-F "format=IMAGE_BANNER" \
-F "imageFile=@로컬_640X200_이미지_경로" \
-F "altText=소재설명" \
-F "name=첫번째_이미지배너" \
-F "mobileLandingUrl=http://www.daum.net" \
-F "landingInfo.landingType=AD_VIEW" \
-F "landingInfo.adViewItem.id=쿼리검색어"
응답
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1,
"creativeId": 2,
"adGroupId": 1234,
"format": "IMAGE_BANNER",
"name": "첫번째_이미지배너",
"landingInfo": {
"landingType": "AD_VIEW",
"adViewItem": {"id":1}
},
"pcLandingUrl": null,
"mobileLandingUrl": "http://www.daum.net",
"rspvLandingUrl": null,
"frequencyCap": null,
"frequencyCapType": "AUTO",
"config": "ON",
"systemConfig": "ON",
"reviewStatus": "WAITING",
"image": {
"url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
"fileName": "sample.jpeg",
"width": 640,
"height": 100,
"size": 50000
},
"altText": "소재설명",
"statusDescription": "심사중",
"createdDate": "2020-01-01T00:00:00.00000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"rejectedReason": []
}

디스플레이 소재 수정

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

디스플레이 소재를 수정합니다.

소재 유형에 따라 전달해야 하는 파라미터 종류가 다릅니다. 예를 들어 이미지 배너(IMAGE_BANNER)는 imageFileUrl을, 이미지 네이티브(IMAGE_NATIVE)는 imageFileUrlprofileImageFileUrl을, 이미지 카탈로그(CATALOG_MANUAL)는 slides 리스트와 profileImageFileUrl을, 동영상 네이티브(VIDEO_NATIVE)는 videoFileUrlprofileImageFileUrl을 각각 전달합니다.

소재 수정 API는 이미지 등록을 위해 application/jsonmultipart/form-data 두 가지 Content-Type을 지원합니다. application/json 방식으로 호출할 때는 imageFileUrl 파라미터로 http:// 또는 https:// URL 형식으로 소재 이미지를 전달해야 합니다. multipart/form-data 방식으로 호출할 때는 imageFile 파라미터에 경로를 지정해 로컬에 저장된 파일을 전달할 수 있습니다. 어느 방식으로 요청하더라도 소재 수정 결과는 같습니다.

imageFileUrl 또는 profileImageFileUrl이 요청 Body에 없으면 기존에 등록된 이미지를 활용합니다.

비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 PUT으로 요청하며, 성공 시 응답 본문에 JSON 객체로 소재 상세 정보를 목록으로 받습니다. 사용하지 않는 값도 응답에 null 값으로 노출될 수 있습니다. 실패 시 에러 코드에서 원인을 확인합니다.

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

랜딩 URL

랜딩 URL은 세 종류입니다. PC용 URL(pcLandingUrl), 모바일용 URL(mobileLandingUrl), 반응형 URL(rspvLandingUrl) 으로 이루어진 랜딩 URL은 개별적으로는 필수(Required)가 아니지만 최소 1개 이상의 랜딩 URL을 필수로 설정해야 합니다. 이때, 반응형 URL은 다른 URL과 함께 설정이 불가능하여 단독으로만 설정 가능합니다.

요청

헤더
이름설명필수
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
인증 방식, 비즈니스 토큰으로 인증 요청
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
본문: 이미지 배너
이름타입설명필수
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
O
adGroupIdLong광고그룹 번호O
formatString소재 유형
IMAGE_BANNER (고정값)
O
imageFileUrlString홍보이미지
사이즈: 1029x258
용량: 300KB
파일형식: PNG-24
http:// 또는 https:// 형식의 URL형태로 요청
X
application/json
방식일 경우 사용 가능
imageFileMultipart File홍보이미지
사이즈: 1029x258
용량: 300KB
파일형식: PNG-24
로컬 파일 경로 입력
X
multipart/form-data
방식일 경우 사용 가능
landingInfoLandingInfo랜딩 정보
랜딩 URL 3가지 유형과 동시에 요청 불가능
X
pcLandingUrlStringPC 대표 랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
카카오 비즈보드 유형의 캠페인에는 설정할 수 없으며 landingInfo와 동시에 요청 불가
X
mobileLandingUrlString모바일 대표 랜딩 URL
모바일용 URL로 http:// 또는 https:// 유효한 형식 입력
landingInfo와 동시에 요청 불가
X
rspvLandingUrlString반응형 대표 랜딩 URL
반응형 URL로 http:// 또는 https:// 유효한 형식 입력
카카오 비즈보드 유형의 캠페인에는 설정할 수 없으며 landingInfo와 동시에 요청 불가
X
altTextString소재 설명
최대 30자
장애인에게 음성 안내되는 내용으로 특수문자는 사용 불가능
O
nameString소재 이름
최대 50자
요청 시 포함되지 않으면 생성 시의 이름으로 대체
X
opinionString의견(최대: 1,000자)X
opinionProofFileUrlListString[]증빙
application/json 방식 요청 시 사용 가능
http:// 또는 https:// 형식의 증빙 파일 정보
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
opinionProofFileListMultipart File[]증빙
multipart/form-data 방식 요청 시 사용 가능
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
본문: 이미지 네이티브
이름타입설명필수
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
O
adGroupIdLong광고그룹 번호O
formatString소재 유형
IMAGE_NATIVE (고정값)
O
profileImageFileUrlString프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 URL형태로 요청
X
application/json
방식일 경우 사용 가능
profileImageFileMultipart File프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
X
multipart/form-data
방식일 경우 사용 가능
imageFileUrlString홍보이미지
사이즈: 500x500 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 1200x600 이상 (2:1)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 720x1280 이상 (9:16)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 800x1000 이상 (4:5)
용량: 500KB
파일형식: JPG/JPEG/PNG

http:// 또는 https:// 형식의 유효한 형식 입력
O
application/json
방식일 경우 필수
imageFileMultipart File홍보이미지
사이즈: 500x500 이상 (1:1)
용량:500KB
파일형식: JPG/JPEG/PNG

사이즈: 1200x600 이상 (2:1)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 720x1280 이상 (9:16)
용량: 500KB
파일형식: JPG/JPEG/PNG

사이즈: 800x1000 이상 (4:5)
용량: 500KB
파일형식: JPG/JPEG/PNG

로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
slidesSlides[]IMAGE_NATIVE(이미지 네이티브) 소재의 슬라이드 아이템(최소 1개, 최대 10개)X
titleString타이틀
최대 25자
O
profileNameString프로필 이름
최대 20자
O
descriptionString홍보문구
최대 45자
O
actionButtonActionButton행동유도버튼O
actionButtonFontColorString행동유도문구 색상
#000000(검은색) 또는 #FFFFFF(흰색) 중 하나

중요: 행동유도문구 색상 지정 시 actionButtonBackgroundColor(버튼 색상) 함께 지정 필수
X
actionButtonBackgroundColorString버튼 색상
사용 불가 색상(#FFFFFF, #F0F0F0, #000000, #FEE500)을 제외한 색상 하나

중요: 버튼 색상 지정 시 actionButtonFontColor(행동유도문구 색상) 함께 지정 필수
X
pcLandingUrlStringPC 대표 랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
X
mobileLandingUrlString모바일 대표 랜딩 URL
모바일용 URL로 http:// 또는 https:// 유효한 형식 입력
X
rspvLandingUrlString반응형 대표 랜딩 URL
반응형 URL로 http:// 또는 https:// 유효한 형식 입력
X
altTextString소재 설명
최대 30자
장애인에게 음성 안내되는 내용으로 특수문자는 사용 불가능
O
nameString소재 이름
최대 50자
요청 시 포함되지 않으면 생성 시의 이름으로 대체
X
opinionString의견(최대: 1,000자)X
opinionProofFileUrlListString[]증빙
application/json 방식 요청 시 사용 가능
http:// 또는 https:// 형식의 증빙 파일 정보
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
opinionProofFileListMultipart File[]증빙
multipart/form-data 방식 요청 시 사용 가능
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
본문: 이미지 카탈로그
이름타입설명필수
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
O
adGroupIdLong광고그룹 번호O
formatString소재 유형
CATALOG_MANUAL (고정값)
O
profileImageFileUrlString프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 유효한 형식 입력
X
application/json
방식인 경우 사용 가능
profileImageFileMultipart File프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
X
multipart/form-data
방식인 경우 사용 가능
slidesSlides[]CATALOG_MANUAL(이미지 카탈로그) 소재의 슬라이드 아이템(최소 4개, 최대 10개)

중요: 기존 assetGroups는 2025.9.30 이후 사용 불가
O
profileNameString프로필 이름
최대 20자
O
actionButtonActionButton행동유도버튼O
pcLandingUrlStringPC 대표 랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
X
mobileLandingUrlString모바일 대표 랜딩 URL
모바일용 URL로 http:// 또는 https:// 유효한 형식 입력
X
rspvLandingUrlString반응형 대표 랜딩 URL
반응형 URL로 http:// 또는 https:// 유효한 형식 입력
X
nameString소재 이름
최대 50자
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}_{소재 사이즈}로 생성
X
opinionString의견(최대: 1,000자)X
opinionProofFileUrlListString[]증빙
application/json 방식 요청 시 사용 가능
http:// 또는 https:// 형식의 증빙 파일 정보
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
opinionProofFileListMultipart File[]증빙
multipart/form-data 방식 요청 시 사용 가능
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
본문: 동영상 네이티브
이름타입설명필수
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
O
adGroupIdLong광고그룹 번호O
formatString소재 유형
VIDEO_NATIVE (고정값)
O
profileImageFileUrlString프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 유효한 형식 입력
X
application/json
방식일 경우 사용 가능
profileImageFileMultipart File프로필 이미지
사이즈: 300x300 이상 (1:1)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
X
multipart/form-data
방식일 경우 사용 가능
slidesSlides[]VIDEO_NATIVE(동영상 네이티브) 소재의 슬라이드 아이템(최소 1개, 최대 10개)X
titleString타이틀
최대 25자
O
profileNameString프로필 이름
최대 20자
O
descriptionString홍보문구
최대 45자
O
actionButtonActionButton행동유도버튼O
actionButtonFontColorString행동유도문구 색상
#000000(검은색) 또는 #FFFFFF(흰색) 중 하나

중요: 행동유도문구 색상 지정 시 actionButtonBackgroundColor(버튼 색상) 함께 지정 필수
X
actionButtonBackgroundColorString버튼 색상
사용 불가 색상(#FFFFFF, #F0F0F0, #000000, #FEE500)을 제외한 색상 하나

중요: 버튼 색상 지정 시 actionButtonFontColor(행동유도문구 색상) 함께 지정 필수
X
rspvLandingUrlString반응형 대표 랜딩 URL
반응형 URL로 http:// 또는 https:// 유효한 형식 입력
입력 시 mobileLandingUrl 또는 pcLandingUrl 보다 우선값으로 입력
O*
mobileLandingUrlString모바일 대표 랜딩 URL
모바일용 URL로 http:// 또는 https:// 유효한 형식 입력
O*
pcLandingUrlStringPC 대표 랜딩 URL
PC용 URL로 http:// 또는 https:// 유효한 형식 입력
O*
nameString소재 이름
최대 50자
설정하지 않은 경우 {캠페인 유형}_{캠페인 목표}_{현재시간}으로 생성
X
opinionString의견(최대: 1,000자)X
opinionProofFileUrlListString[]증빙
application/json 방식 요청 시 사용 가능
http:// 또는 https:// 형식의 증빙 파일 정보
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
opinionProofFileListMultipart File[]증빙
multipart/form-data 방식 요청 시 사용 가능
JPG/JPEG/PNG/PDF 형식 지원
최대 10개, 전체 파일 합계 용량 10MB 이하
X
videoFileUrlString홍보 동영상
사이즈: 720x1280 이상 (9:16) 또는 1280x720 이상 (16:9)
용량: 1GB
파일 형식: AVI/FLV/MP4
http:// 또는 https:// 형식의 유효한 형식 입력
O
application/json
방식일 경우 필수
videoFileMultipartFile홍보 동영상
사이즈: 720x1280 이상 (9:16) 또는 1280x720 이상 (16:9)
용량: 1GB
파일 형식: AVI/FLV/MP4
로컬 파일 경로 입력
O
multipart/form-data
방식일 경우 필수
uploadThumbnailImageFileUrlString맞춤 썸네일
사이즈: 1280x720 이상 (16:9)
용량: 500KB
파일형식: JPG/JPEG/PNG
http:// 또는 https:// 형식의 유효한 형식 입력
X
application/json
방식일 경우 사용 가능
uploadThumbnailImageFileMultipartFile맞춤 썸네일
사이즈: 1280x720 이상 (16:9)
용량: 500KB
파일형식: JPG/JPEG/PNG
로컬 파일 경로 입력
X
multipart/form-data
방식일 경우 사용 가능
* rspvLandingUrl, mobileLandingUrl, pcLandingUrl 중 한 개 필수 입력 필요

응답

본문: 이미지 배너
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
adGroupIdLong광고그룹 번호
formatString소재 유형
IMAGE_BANNER
imageImage업로드 된 홍보 이미지
landingInfoLandingInfo랜딩 정보
pcLandingUrlString랜딩 URL (PC용 URL)
mobileLandingUrlString랜딩 URL (모바일용 URL)
rspvLandingUrlString랜딩 URL (반응형 URL)
altTextString소재 설명
frequencyCapTypeString게재빈도 자동 설정 종류
frequencyCapInteger게재빈도
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
nameString소재 이름
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MONITORING_REJECTED(관리자정지) 중 하나
statusDescriptionString소재의 게재와 관련된 현재 상태
opinionProofOpinionFile[]심사 처리를 위한 의견, 증빙자료 파일 목록
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
rejectedReasonArray소재 심사 목적 (비어있는 배열)
본문: 이미지 네이티브
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
adGroupIdLong광고그룹 번호
formatString소재 유형
IMAGE_NATIVE
profileImageImage업로드 된 프로필 이미지
imageImage업로드 된 홍보 이미지
titleString타이틀
profileNameString프로필 이름
descriptionString홍보문구
actionButtonString행동유도버튼
pcLandingUrlString랜딩 URL (PC용 URL)
mobileLandingUrlString랜딩 URL (모바일용 URL)
rspvLandingUrlString랜딩 URL (반응형 URL)
altTextString소재 설명
frequencyCapTypeString게재빈도 자동 설정 종류
frequencyCapInteger게재빈도
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
nameString소재 이름
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MONITORING_REJECTED(관리자정지) 중 하나
statusDescriptionString소재의 게재와 관련된 현재 상태
opinionProofOpinionFile[]심사 처리를 위한 의견, 증빙자료 파일 목록
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
rejectedReasonArray소재 심사 목적 (비어있는 배열)
본문: 이미지 카탈로그
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
adGroupIdLong광고그룹 번호
formatString소재 유형
CATALOG_MANUAL
profileImageImage업로드 된 프로필 이미지
profileNameString프로필 이름
assetGroupsAssetGroup[]슬라이드 아이템
actionButtonString행동유도버튼
pcLandingUrlString랜딩 URL (PC용 URL)
mobileLandingUrlString랜딩 URL (모바일용 URL)
rspvLandingUrlString랜딩 URL (반응형 URL)
frequencyCapTypeString게재빈도 자동 설정 종류
frequencyCapInteger게재빈도
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfigString소재 시스템 상태
ON, ADMIN_STOP 중 하나
nameString소재 이름
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MONITORING_REJECTED(관리자정지) 중 하나
creativeStatusString소재의 운영 상태
OPERATING(운영가능), UNAPPROVED(심사미승인), INVALID_DATE(기간오류), MONITORING_REJECTED(관리자정지), OFF(사용자OFF), DELETED(삭제), ADGROUP_UNAVAILABLE(광고그룹 운영불가) 중 하나
statusDescriptionString소재의 게재와 관련된 현재 상태
opinionProofOpinionFile[]심사 처리를 위한 의견, 증빙자료 파일 목록
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
rejectedReasonArray소재 심사 목적 (비어있는 배열)
본문: 동영상 네이티브
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
formatString소재 유형
VIDEO_NATIVE
nameString소재 이름
adGroupIdLong광고그룹 번호
pcLandingUrlString랜딩 URL (PC용 URL)
mobileLandingUrlString랜딩 URL (모바일용 URL)
rspvLandingUrlString랜딩 URL (반응형 URL)
frequencyCapString게재빈도 상세 설정 값
frequencyCapTypeString게재빈도 상태
DAY_IMP(상세 설정), AUTO(자동 설정)
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfigString소재 시스템 상태
ON, ADMIN_STOP 중 하나
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MONITORING_REJECTED(관리자정지) 중 하나
createdDateString소재 생성일시
creativeStatusString소재의 운영 상태
OPERATING(운영가능), UNAPPROVED(심사미승인), INVALID_DATE(기간오류), MONITORING_REJECTED(관리자정지), OFF(사용자OFF), DELETED(삭제), ADGROUP_UNAVAILABLE(광고그룹 운영불가) 중 하나
imageImage업로드 된 홍보 이미지
titleString타이틀
descriptionString홍보문구
actionButtonString행동유도버튼
profileNameString프로필 이름
profileImageImage업로드 된 프로필 이미지
videoVideo업로드 된 홍보 비디오
statusDescriptionString소재의 게재와 관련된 현재 상태
rejectedReasonArray소재 심사 목적 (비어있는 배열)
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
opinionProofOpinionFile[]심사 처리를 위한 의견, 증빙자료 파일 목록
thumbnailImageImage업로드 된 맞춤 썸네일

예제

요청: application/json 방식
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/creatives" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: application/json" \
-d '{
"id":1234,
"adGroupId":5678,
"format":"IMAGE_BANNER",
"imageFileUrl":"http://www.company.com/images/sample_image_banner.jpg",
"altText":"소재설명_수정",
"mobileLandingUrl":"http://www.daum.net",
"name":"이미지_수정"
}'
요청: multipart/form-data 방식
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/creatives" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: multipart/form-data" \
-F "id=1234" \
-F "adGroupId=5678" \
-F "format=IMAGE_BANNER" \
-F "imageFile=@로컬_640X200_이미지_경로" \
-F "altText=소재설명_수정" \
-F "mobileLandingUrl=http://www.daum.net"
응답
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1234,
"creativeId": 1235,
"adGroupId": 5678,
"format": "IMAGE_BANNER",
"name": "이미지_수정",
"landingInfo": {
"landingType": "AD_VIEW",
"communicatorAdViewId": 1
},
"pcLandingUrl": null,
"mobileLandingUrl": null,
"rspvLandingUrl": null,
"frequencyCap": null,
"frequencyCapType": "AUTO",
"config": "ON",
"systemConfig": "ON",
"reviewStatus": "WAITING",
"image": {
"url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpg",
"fileName": "sample_image_banner.jpg",
"width": 640,
"height": 100,
"size": 50000
},
"altText": "소재설명_수정",
"statusDescription": "심사중",
"createdDate": "2020-01-01T00:00:00.00000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"rejectedReason": []
}

디스플레이 소재 복사

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

디스플레이 소재를 복사합니다.

최대 20개의 소재 복사를 요청할 수 있으나 그룹, 캠페인, 계정의 최대 생성 가능 소재 개수를 초과할 경우 복사 실패할 수 있습니다.

캠페인 유형X목표가 카카오 비즈보드X방문, 카카오 비즈보드X전환, 디스플레이X방문, 디스플레이X전환, 동영상X조회인 캠페인 하위의 이미지 배너, 이미지 네이티브, 이미지 카탈로그, 동영상 네이티브 소재만 복사가 가능합니다.

비즈니스 토큰과 광고계정 ID(adAccountId)를 헤더에 담아 POST로 광고계정 번호와 복사할 소재가 있는 캠페인 번호, 복사할 소재 번호 목록을 지정하여 요청합니다. 성공 시 복사된 소재 정보의 배열을 받습니다. 실패 시 에러 코드에서 원인을 확인합니다.

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

요청

헤더
이름설명필수
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
인증 방식, 비즈니스 토큰으로 인증 요청
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
본문
이름타입설명필수
adGroupIdLong소재들이 복사될 광고그룹 번호(100개 제한)O
creativeIdsLong[]복사할 소재 번호 목록O

응답

본문
이름타입설명
-DisplayCreative[]소재 정보 목록
DisplayCreative
이름타입설명
idLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
creativeIdLong소재 번호
  • 최초로 소재가 생성된 경우: 심사 상태와 무관하게 원본 소재 번호와 동일함
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요한 소재를 수정한 경우: 신규 소재번호가 생성되어, 원본 소재 번호와 다른 값 가짐
  • 최초 소재 생성 > 심사 승인 > 심사 과정이 필요 없는 소재를 수정한 경우: 신규 소재번호가 생성되지 않으며, 원본 소재 번호와 동일함
nameString소재명
formatString소재 유형
IMAGE_BANNER(이미지 배너), IMAGE_NATIVE(이미지 네이티브), CATALOG_MANUAL(이미지 카탈로그), 동영상 네이티브(VIDEO_NATIVE) 중 하나
landingUrlString랜딩 URL
frequencyCapInteger게재빈도
configString소재 상태
ON, OFF, DEL(삭제) 중 하나
systemConfigString소재 시스템 상태
ON, ADMIN_STOP 중 하나
reviewStatusString심사 상태
APPROVED(승인), WAITING(심사중), REJECTED(심사보류), MODIFICATION_WAITING(수정사항심사중), MODIFICATION_REJECTED(수정사항심사보류) 중 하나
creativeStatusString소재의 운영 상태
OPERATING(운영가능), UNAPPROVED(심사미승인), INVALID_DATE(기간오류), MONITORING_REJECTED(관리자정지), OFF(사용자OFF), DELETED(삭제), ADGROUP_UNAVAILABLE(광고그룹 운영불가) 중 하나
statusDescriptionString소재의 게재와 관련된 현재 상태
imageImageIMAGE_BANNER, IMAGE_NATIVE, VIDEO_NATIVE 소재의 메인 이미지
assetGroupsAssetGroup[]CATALOG_MANUAL(이미지 카탈로그) 소재의 슬라이드 아이템 정보
landingInfoLandingInfo랜딩 정보
altTextStringIMAGE_BANNER 소재의 이미지 대체 설명문구
titleStringIMAGE_NATIVE, VIDEO_NATIVE 소재의 타이틀
descriptionStringIMAGE_NATIVE, VIDEO_NATIVE 소재의 홍보문구
actionButtonStringIMAGE_NATIVE, VIDEO_NATIVE, CATALOG_MANUAL 소재의 행동유도버튼
profileNameStringIMAGE_NATIVE, VIDEO_NATIVE, CATALOG_MANUAL 소재의 프로필 이름
profileImageImage업로드 된 프로필 이미지
videoVideoVIDEO_NATIVE 소재의 비디오
rejectedReasonRejectedReason소재 보류 사유
opinionProofOpinionFile[]심사 처리를 위한 의견, 증빙자료 파일 목록
createdDateString소재 생성일시
lastModifiedDateString소재 마지막 수정일시
thumbnailImageImage업로드 된 맞춤 썸네일

예제

요청
curl -X POST "https://apis.moment.kakao.com/openapi/v4/creatives/copy" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-d '{
"adGroupId" : 23456,
"creativeIds" : [34567,34568]
}'
응답
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{
"id": 35678,
"creativeId": 35678,
"adGroupId": 23456,
"format": "IMAGE_BANNER",
"name": "이미지 소재 1",
"landingInfo": {
"landingType": "URL",
"url": "http://m.daum.net"
},
"pcLandingUrl": null,
"mobileLandingUrl": "http://m.daum.net",
"rspvLandingUrl": null,
"frequencyCap": null,
"frequencyCapType": "AUTO",
"config": "ON",
"systemConfig": "ON",
"reviewStatus": "APPROVED",
"creativeStatus": "OPERATING",
"image": {
"url": "http://xxx.kakao.co.kr/sample_image_111.jpg",
"fileName": "sample_image.jpg",
"width": 640,
"height": 480,
"size": 100000
},
"altText": "이미지설명문구 2",
"title": "타이틀",
"description": "홍보문구",
"actionButton": "JOIN",
"profileName": "프로필이름",
"profileImage": {
"url": "http://xxx.kakao.co.kr/sample_profile_111.jpg",
"fileName": "sample_profile.jpg",
"width": 300,
"height": 300,
"size": 50000
},
"video": {
"url": "http://xxx.kakao.co.kr/sample_image_111.avi",
"fileName": "sample_video.avi",
"size": 500000,
"duration": 3.0
},
"statusDescription": "운영중",
"rejectedReason": [],
"createdDate": "2020-01-01T00:00:00.000000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"opinionProof": null,
"thumbnailImage": {
"url": "http://xxx.kakao.co.kr/sample_image_111.jpg",
"fileName": "sample_image.jpg",
"width": 640,
"height": 480,
"size": 100000
},
{
"id": 35679,
"creativeId": 35679,
"adGroupId": 23456,
"format": "IMAGE_BANNER",
"name": "이미지 소재 2",
"landingInfo": {
"landingType": "URL",
"url": "http://m.daum.net"
},
"pcLandingUrl": null,
"mobileLandingUrl": "http://m.daum.net",
"rspvLandingUrl": null,
"frequencyCap": null,
"frequencyCapType": "AUTO",
"config": "ON",
"systemConfig": "ON",
"reviewStatus": "APPROVED",
"creativeStatus": "OPERATING",
"image": {
"url": "http://xxx.kakao.co.kr/sample_image_222.jpg",
"fileName": "sample_image.jpg",
"width": 640,
"height": 480,
"size": 100000
},
"altText": "이미지설명문구 2",
"title": "타이틀",
"description": "홍보문구",
"actionButton": "JOIN",
"profileName": "프로필이름",
"profileImage": {
"url": "http://xxx.kakao.co.kr/sample_profile_222.jpg",
"fileName": "sample_profile.jpg",
"width": 300,
"height": 300,
"size": 50000
},
"video": {
"url": "http://xxx.kakao.co.kr/sample_image_222.avi",
"fileName": "sample_video.avi",
"size": 500000,
"duration": 3.0
},
"statusDescription": "운영중",
"rejectedReason": [],
"createdDate": "2020-01-01T00:00:00.000000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"opinionProof": null,
"thumbnailImage": {
"url": "http://xxx.kakao.co.kr/sample_image_222.jpg",
"fileName": "sample_image.jpg",
"width": 640,
"height": 480,
"size": 100000
}
]

디스플레이 소재 의견증빙 조회

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

소재의 의견증빙 정보를 조회합니다.

헤더에 비즈니스 토큰을 담아 GET으로 요청합니다. 요청이 성공하면 응답 본문에 JSON 객체로 소재의 의견증빙 정보를 받습니다.

요청

헤더
이름설명필수
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
인증 방식, 비즈니스 토큰으로 인증 요청
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
광고계정 ID
O
경로 변수
이름타입설명필수
IDLong원본 소재 번호
실제 집행 시 활용되는 소재 식별 값
O

응답

본문
이름타입설명
idLong의견증빙 번호
opinionString의견
opinionProofFileListOpinionFile[]파일 목록

예제

요청
curl -X GET "https://apis.moment.kakao.com/openapi/v4/creatives/${ID}/opinionProof" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
응답: 성공
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1,
"opinion": "의견증빙",
"opinionProofFileList": [
{
"id": 11,
"originalFileName": "sample_1.jpg",
"downloadUrl": "https://xxx.kakao.com/sample_1.jpg"
}
]
}
응답: 실패
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 75637,
"detailMsg": "의견증빙 정보가 존재하지 않습니다."
}
}

더 보기

도움이 되었나요?