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

kakao developers

Related sites
  • Docs
  • Kakao Moment
  • Ad creation: Creative common

사이드 메뉴

Kakao Map

Search

This document describes how to use the Creative APIs.

MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/v4/creativesBusiness token

Retrieves a list of creatives.

Send a GET request with the issued business token and an ad account ID (adAccountId) in the request header. If the request is successful, this API returns the list of the detailed information on creatives in JSON format. If failed, refer to Error code to figure out its failure cause.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
adGroupIdLongAd group's ID.O
configArrayCreative's status.
Use one or more of the followings:
ON
OFF
DEL
(Default: [ON, OFF])
X
NameTypeDescription
contentCreative[]List of creative information.
NameTypeDescription
idLongOriginal creative ID for execution.
nameStringCreative's name.
configStringCreative's status.
One of ON, OFF, or DEL (Deleted).
systemConfigStringCreative's system status.
One of ON or ADMIN_STOP.
curl -X GET "https://apis.moment.kakao.com/openapi/v4/creatives?adGroupId=1234&config=ON" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"content": [
{
"id": 1111,
"name": "creative1",
"type": "DISPLAY",
"config": "ON"
},
{
"id": 1112,
"name": "creative2",
"type": "DISPLAY",
"config": "OFF"
}
]
}
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/v4/creatives/${ID}Business token

Retrieves detailed information of the specified creative.

Send a GET request with the issued business token and an ad account ID (adAccountId) in the request header.

If the request is successful, this API returns the detailed information of the ad creatives. It may take a while for the materials for verification to get the response due to syncing with review processing. If syncing is not completed, null is returned. The Expandable components are not supported. Some response fields may return null even though they are not used.

If failed, refer to Error code to figure out its failure cause.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
IDLongOriginal creative ID for execution.O
KeyTypeDescription
idLongOriginal creative ID for execution.
creativeIdLongCreative's ID.
  • If the creative is newly created: the same as the original creative ID, regardless of review status.
  • If the creative is modified after it was initially created and approved, and the modification requires review: a new creative ID is issued, so it differs from the original creative ID.
  • If the creative is modified after it was initially created and approved, and the modification does not require review: no new creative ID is issued, so it remains the same as the original creative ID.
nameStringCreative's name.
formatStringCreative's type.
One of IMAGE_BANNER, IMAGE_NATIVE or VIDEO_NATIVE.
pcLandingUrlStringLanding URL for PC.
mobileLandingUrlStringLanding URL for mobile.
rspvLandingUrlStringResponsive landing URL.
frequencyCapIntegerFrequency capping.
configStringCreative's status.
One of ON, OFF, or DEL (Deleted).
systemConfigStringCreative's system status.
One of ON or ADMIN_STOP.
reviewStatusStringReview status.
One of the followings:
  • APPROVED: Review approved.
  • WAITING Review in progress.
  • REJECTED: Review rejected.
  • MODIFICATION_WAITING: Review for modification in progress.
  • MODIFICATION_REJECTED: Review for modification rejected.
creativeStatusStringCreative's operation status.
One of the followings:
  • OPERATING: Possible to opearate
  • UNAPPROVED: Unapproved
  • INVALID_DATE: Invalid date
  • MONITORING_REJECTED: Rejected while monitoring.
  • OFF: User OFF
  • DELETED: Deleted
  • ADGROUP_UNAVAILABLE: Impossible to operate ad group
  • SYSTEM_CONFIG_ADMIN_STOP: Admin suspended.
statusDescriptionStringCurrent status of creative.
imageImageInformation about the main image of the IMAGE_BANNER, IMAGE_NATIVE, and VIDEO_NATIVE type of creative.
landingInfoLandingInfoSpecified data for landing.
altTextStringAlternative description of the IMAGE_NATIVE type of creative.
titleStringTitle of the IMAGE_NATIVE or VIDEO_NATIVE type of creative.
descriptionStringPromotional text of the IMAGE_NATIVE or VIDEO_NATIVE type of creative.
actionButtonStringCall-to-action button of the IMAGE_NATIVE and VIDEO_NATIVE type of creative.
profileNameStringProfile name of the IMAGE_NATIVE or VIDEO_NATIVE type of creative.
profileImageImageUploaded profile image.
videoVideoVideo of the VIDEO_NATIVE type of creative.
videoSkippableTypeStringVideo display type of the VIDEO_INSTREAM type of creative.
SECONDS_5: Impressed for 5 seconds at most.
SECONDS_15: Impressed for 15 seconds at most.
rejectedReasonRejectedReason[]Reasons for rejection of creative.
assetGroupsAssetGroup[]Slide item.
hasExpandableBooleanWhether or not Expandable component is included.
opinionStringOpinion for ad verification.
opinionProofOpinionFile[]List of materials for ad verification.
createdDateStringDate and time when the creative is created.
lastModifiedDateStringDate and time when the creative is lastly modified.
ageVerificationBooleanWhether to use age verification messages.
  • true: Age verification message used.
  • false: General message used.
NameTypeDescription
idLongOriginal creative ID for execution.
creativeIdLongCreative's ID.
Message creatives have no review status and are always the same as the original creative ID (id).
nameStringCreative's name.
adGroupIdLongAd group's ID.
formatStringCreative's type.
One of the followings:
  • BASIC_TEXT_MESSAGE
  • WIDE_MESSAGE
  • WIDE_LIST_MESSAGE
  • CAROUSEL_COMMERCE_MESSAGE
  • CAROUSEL_FEED_MESSAGE
  • PREMIUM_VIDEO_MESSAGE
configStringCreative's status.
One of ON, OFF, or DEL (Deleted).
systemConfigStringCreative's system status.
One of ON or ADMIN_STOP.
statusDescriptionStringCurrent status of a Kakao TalkChannel X Reach ad group.
One of the followings:- 발송 대기: Ready
  • 발송중: Sending
  • 발송중지: Paused
  • 발송종료: Finished.
creativeStatusStringCreative's operation status.
One of the followings:
  • OPERATING: Possible to opearate.
  • UNAPPROVED: Unapproved.
  • INVALID_DATE: Invalid date.
  • MONITORING_REJECTED: Admin suspended.
  • OFF: User OFF.
  • DELETED: Deleted.
  • ADGROUP_UNAVAILABLE: Impossible to operate ad group.
createdDateStringDate and time when the creative is created.
lastModifiedDateStringDate and time when the creative is lastly modified.
messageElementMessageElementDetailed information about Message creative.
ageVerificationBooleanWhether to use age verification messages.
  • true: Age verification message used.
  • false: General message used.
NameTypeDescription
idLongOriginal creative ID used for execution.
creativeIdLongCreative's ID.
  • If the creative is newly created: the same as the original creative ID, regardless of review status.
  • If the creative is modified after it was initially created and approved, and the modification requires review: a new creative ID is issued, so it differs from the original creative ID.
  • If the creative is modified after it was initially created and approved, and the modification does not require review: no new creative ID is issued, so it remains the same as the original creative ID.
formatStringCreative's type.
Fixed to VIDEO_NATIVE.
nameStringCreative's name.
adGroupIdLongAd group's ID.
pcLandingUrlStringLanding URL for PC.
mobileLandingUrlStringLanding URL for mobile.
rspvLandingUrlStringResponsive landing URL.
frequencyCapTypeStringAuto setting type of frequency capping.
frequencyCapIntegerFrequency capping.
configStringCreative's status.
One of ON, OFF, or DEL (Deleted).
systemConfigStringCreative's system status.
Either ON or ADMIN_STOP.
reviewStatusStringReview status.
One of the followings:
  • APPROVED: Review approved.
  • WAITING Review in progress.
  • REJECTED: Review rejected.
  • MODIFICATION_WAITING: Review for modification in progress.
  • MODIFICATION_REJECTED: Review for modification rejected.
creativeStatusStringCreative's operation status.
One of the followings:
  • OPERATING: Possible to opearate.
  • UNAPPROVED: Unapproved.
  • INVALID_DATE: Invalid date.
  • MONITORING_REJECTED: Admin suspended.
  • OFF: User OFF.
  • DELETED: Deleted.
  • ADGROUP_UNAVAILABLE: Impossible to operate ad group.
imageImageUploaded promotional image.
titleStringTitle.
descriptionStringPromotional text.
actionButtonStringCall-to-action button.
profileNameStringProfile name.
profileImageImageUploaded profile image.
videoVideoUploaded promotional video.
statusDescriptionStringCurrent status of creative.
rejectedReasonString[]Reasons for rejection of creative (Empty array).
createdDateStringDate and time when the creative is created.
lastModifiedDateStringDate and time when the creative is lastly modified.
opinionProofOpinionFile[]List of materials for ad verification.
thumbnailImageImageUploaded custom thumbnail image.
curl -X GET "https://apis.moment.kakao.com/openapi/v4/creatives/${ID}" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"id": 1111,
"name": "Display Ad Creative",
"landingInfo": {
"landingType": "AD_VIEW",
"communicatorAdViewId": 1
},
"format": "IMAGE_BANNER",
"landingUrl": "http://www.daum.net",
"frequencyCapType": "DAY_IMP",
"frequencyCap": 3,
"config": "ON",
"image": {
"url": "http://xxx.kakao.co.kr/sample.jpg",
"fileName": "sample.jpeg",
"width": 640,
"height": 100,
"size": 50000
},
"reviewStatus": "REJECTED",
"creativeStatus": "UNAPPROVED",
"statusDescription": "심사보류",
"rejectedReason": [
{
"rejectedTitle": "공통1>가격 불일치",
"rejectedContent": "등록하신 광고 소재 내 가격 정보가 랜딩페이지 내 실제 판매금액과 일치하지 않아 광고 등록이 보류되었습니다.\n* 광고 소재 내 가격 정보 : 39,800\n* 랜딩 페이지 내 가격 정보 : 49,800\n - 수정방법 : 모든 이용자가 구매 가능한 정확한 가격을 기재해 주시기 바랍니다."
}
],
"createdDate": "2020-01-01T00:00:00",
"lastModifiedDate": "2020-01-01T01:00:00",
"hasExpandable": false
}
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 33003,
"detailMsg": "소재가 존재하지 않습니다."
}
}
MethodURLAuthorization
PUThttps://apis.moment.kakao.com/openapi/v4/creatives/onOffBusiness token

Enables you to change a creative's status.

You can only change the status of display creatives. You cannot change the status of creatives under the 'Kakao Talk Channel' type of campaign.

Send a PUT request with the issued business token and an ad account ID (adAccountId) in the request header. If the request is successful, this API returns the HTTP status code 200 without the response body. If failed, refer to Error code to figure out its failure cause.

This API limits the number of calls you can make to every one second per user account and ad account.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
idLongOriginal creative ID for execution.O
configStringCreative's status.
Either ON or OFF.
O
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/creatives/onOff" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: application/json" \
-d '{
"id": 1234,
"config": "ON"
}'
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 33003,
"detailMsg": "소재가 존재하지 않습니다."
}
}
MethodURLAuthorization
DELETEhttps://apis.moment.kakao.com/openapi/v4/creatives/${ID}Business token

Deletes a creative.

Send a DELETE request with the issued business token and an ad account ID (adAccountId) in the request header. You must pass the creative's ID as a parameter when you request. If the request is successful, this API returns the HTTP status code 200 without the response body. If failed, refer to Error code to figure out its failure cause.

Note

Deleting a creative means giving up the operation of creatives, not deleting its data.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
IDLongOriginal creative ID for execution.O
curl -v -X DELETE "https://apis.moment.kakao.com/openapi/v4/creatives/${ID}" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 75008,
"detailMsg": "카카오톡 채널_도달 소재는 삭제할 수 없습니다.",
"path": "/v2/moment/creatives",
"timestamp": "2020-04-01T10:16:14.294+0000"
}
}
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/v4/creatives/${ID}/systemConfigHistoryBusiness token

Retrieves the reason why the specified creatvie's system is stopped.

Only when the creative's systemConfig is ADMIN_STOP, the response is returned.

Send a GET request with the issued business token and an ad account ID (adAccountId) in the request header. If the request is successful, this API returns the system suspension reason and details in JSON format. If failed, refer to Error code to figure out its failure cause.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
IDLongOriginal creative ID for execution.O
NameTypeDescription
idLongSystem suspension ID.
systemConfigStringSystem suspension status.
One of the followings:
  • ON: Normal
  • ADMIN_STOP: Admin suspended
reasonStringSystem suspension reason.
createdDateStringDate and time when the system suspension reason is created in yyyy-MM-dd'T'HH:mm:ss format.
lastModifiedDateStringDate and time when the system suspension reason is lastly updated in yyyy-MM-dd'T'HH:mm:ss format.
curl -X GET "https://apis.moment.kakao.com/openapi/v4/creatives/${ID}/systemConfigHistory" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
{
"id": 1234,
"systemConfig": "ADMIN_STOP",
"adminStopReason": "has been suspended due to the end of the creative landing.",
"createdDate": "2021-01-01T00:00:00",
"lastModifiedDate": "2021-01-01T00:00:00"
}
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 33003,
"detailMsg": "Creative does not exist."
}
}
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/v4/creatives/${ID}/systemConfigHistoriesBusiness token

Retrieves the list of reasons why the specified creatvie's system is stopped.

Only when the creative's systemConfig is ADMIN_STOP, the response is returned.

Send a GET request with the issued business token and an ad account ID (adAccountId) in the request header. If the request is successful, this API returns the admin suspension reasons and details in JSON format. If failed, refer to Error code to figure out its failure cause.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
IDLongOriginal creative ID for execution.O
NameTypeDescription
-SystemStopReason[]List of system suspension reason.
NameTypeDescription
idLongSystem suspension ID.
systemConfigStringSystem suspension status.
One of the followings:
  • ON: Normal
  • ADMIN_STOP: Admin suspended
reasonStringSystem suspension reason.
createdDateStringDate and time when the system suspension reason is created in yyyy-MM-dd'T'HH:mm:ss format.
lastModifiedDateStringDate and time when the system suspension reason is lastly updated in yyyy-MM-dd'T'HH:mm:ss format.
curl -X GET "https://apis.moment.kakao.com/openapi/v4/creatives/${ID}/systemConfigHistories" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
[
{
"id": 1235,
"systemConfig": "ADMIN_STOP",
"adminStopReason": "has been suspended due to the end of the creative landing.",
"createdDate": "2021-01-01T00:00:00",
"lastModifiedDate": "2021-01-01T00:00:00"
},
{
"id": 1234,
"systemConfig": "ADMIN_STOP",
"adminStopReason": "has been suspended due to the end of the creative landing.",
"createdDate": "2021-01-01T00:00:00",
"lastModifiedDate": "2021-01-01T00:00:00"
}
]
{
"code": -813,
"msg": "KakaoMomentException",
"extras": {
"detailCode": 33003,
"detailMsg": "Creative does not exist."
}
}

Was this helpful?