This document describes how to use the Creative APIs.
After the update on September 5, 2024, you can create the following type of creatives by campaign type:
Campaign type | Creative type | Promotional image | Profile image |
---|---|---|---|
Display | Image catalog (CATALOG_MANUAL ) |
Promotional image in slide: 500x500 pixel or more (9:16), 500 KB, JPG/JPEG/PNG Minimum of 4, maximum of 10 can be set |
300 x 300 pixels or more (1:1), 500KB, JPG/JPEG/PNG |
After the update on August 30, 2023, you can create the following type of creatives by campaign type:
Campaign type | Creative type | Promotional image | Profile image |
---|---|---|---|
Display | Image native (IMAGE_NATIVE ) |
720 x 1280 pixels or more (9:16), 500KB, JPG/JPEG/PNG | 300 x 300 pixels or more (1:1), 500KB, JPG/JPEG/PNG |
After the update on February 21, 2023, you can create the following type of creatives by campaign type:
Campaign type | Creative type | Promotional image | Profile image |
---|---|---|---|
Kakao Bizboard | Image banner (IMAGE_BANNER ) |
1029 x 258, 300KB, PNG-24 | |
Display | Image native (IMAGE_NATIVE ) |
500 x 500 pixels or more (1:1), 500KB, JPG/JPEG/PNG 1200 x 600 pixels or more (2:1), 500KB, JPG/JPEG/PNG |
300 x 300 pixels or more (1:1), 500KB, JPG/JPEG/PNG |
You can now use various creative landing types and landing settings, along with the URL that has been provided already. You can set a creative landing type only under the 'Kakao Bizboard' type of campaign.
We now provide the APIs that retrieve a list to set a landing type, but do not provide the APIs to create an Ad View, Business Form, or others. In the case of purchases using Kakao Pay, you are only allowed to retrieve, not create or modify.
You can check how to use each creative landing type in the table below.
Type | Parameter |
---|---|
URL | Use mobileLandingUrl to set a URL. |
Chatbot, Channel Web View | Use the Viewing list of Kakao Talk Channel profiles API. |
Ad View | Use the Viewing list of Ad Views for landing settings API. |
Business Form | Use the Viewing list of Business Forms landing types API. |
Channel Post | Use Channel Post ID. |
Method | URL | Authorization |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/v4/creatives |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to create a Display creative. When you request, you must set format
(Creative format) to either IMAGE_BANNER
, IMAGE_NATIVE
or CATALOG_MANUAL
. Depending on the specified creative format, you need to pass different parameters when you request. For example, pass imageFileUrl
for the image banner format, pass both imageFileUrl
and profileImageFileUrl
for the image native format, and pass both assetGroups
list and profileImageFileUrl
for the image catalog format.
This API supports two types of Content-Type
to create an image — application/json
and multipart/form-data
.
http://
or https://
URI scheme through the imageFileUrl
parameter.imageFile
parameter.Send a POST
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 created creative. If failed, refer to Error code to figure out its failure cause.
You cannot create a creative under the 'Bizboard X Reach(도달)' or 'Daum Shopping' type of campaign.
This API limits the number of calls you can make every second per user account and ad account.
Landing URL has three types — URL for PC (pcLandingUrl), URL for mobile (mobileLandingUrl), and responsive URL(rspvLandingUrl). You must set at least one landing URL among these three types even though each URL is not required.
The responsive URL cannot be set with other types.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
adGroupId | Long |
Ad group's ID. | O |
format | String |
Creative's type. Fixed to IMAGE_BANNER . |
O |
imageFileUrl | String |
Promotional image. Image size: 1029x258 File Size: 300KB File format: PNG-24 Pass a URL with http:// or https:// scheme. |
Required in case of application/json . |
imageFile | Multipart File |
Promotional image. Image size: 1029x258 File Size: 300KB File format: PNG-24 Pass the local file path. |
Required in case of multipart/form-data . |
landingInfo | LandingInfo |
Landing type. Allowed to set the landing type of creatives only under the 'Kakao Bizboard' type of campaign. |
X |
pcLandingUrl | String |
Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. Not allowed to set for the 'Kakao Bizboard' type of campaign. |
X |
mobileLandingUrl | String |
Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. |
X |
rspvLandingUrl | String |
Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme. Not allowed to set for the 'Kakao Bizboard' type of campaign. |
X |
altText | String |
Description of the creative. Used for voice guidance for people with disabilities. Up to 30 characters are allowed. Special characters are not allowed. |
O |
name | String |
Creative's name. Up to 50 characters are allowed. If not specified, the name is automatically set in {CAMPAIGN_TYPE}{CAMPAIGN_GOAL}{CURRENT_TIME}_{CREATIVE_SIZE} format. |
X |
opinion | String |
Opinion for ad verification. Up to 1,000 characters. |
X |
opinionProofFileUrlList | String[] |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass a valid URL with http:// or https:// scheme. |
X Available in case of application/json . |
opinionProofFileList | Multipart File |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass the local file path. |
X Available in case of multipart/form-data . |
Name | Type | Description | Required |
---|---|---|---|
adGroupId | Long |
Ad group's ID. | O |
format | String |
Creative's type. Fixed to IMAGE_NATIVE . |
O |
profileImageFileUrl | String |
Profiel image. Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. |
Required in case of application/json . |
profileImageFile | Multipart File |
Profiel image. Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass the local file path. |
Required in case of multipart/form-data . |
imageFileUrl | String |
Promotional image. Image size: One of 500 x 500 pixels or more (1:1), 1200 x 600 pixels or more (2:1), 720 x 1280 pixels or more (9:16) File Size: 500 KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. |
Required in case of application/json . |
imageFile | Multipart File |
Promotional image. Image size: One of 500 x 500 pixels or more (1:1), 1200 x 600 pixels or more (2:1), 720 x 1280 pixels or more (9:16) File Size: 500 KB File format: JPG/JPEG/PNG Pass the local file path. |
Required in case of multipart/form-data . |
title | String |
Title. Up to 25 characters are allowed. |
O |
profileName | String |
Profile name. Up to 20 characters are allowed. |
O |
description | String |
Promotional text. Up to 45 characters are allowed. |
O |
actionButton | ActionButton | Call-to-action button. | O |
pcLandingUrl | String |
Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. Not allowed to set for the 'Kakao Bizboard' type of campaign. |
X |
mobileLandingUrl | String |
Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. |
X |
rspvLandingUrl | String |
Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme. Not allowed to set for the 'Kakao Bizboard' type of campaign. |
X |
altText | String |
Description of the creative. Used for voice guidance for people with disabilities. Up to 30 characters are allowed. Special characters are not allowed. |
O |
name | String |
Creative's name. Up to 50 characters are allowed. If not specified, the name is automatically set in {CAMPAIGN_TYPE}{CAMPAIGN_GOAL}{CURRENT_TIME}_{CREATIVE_SIZE} format. |
X |
opinion | String |
Opinion for ad verification. Up to 1,000 characters. |
X |
opinionProofFileUrlList | String[] |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass a valid URL with http:// or https:// scheme. |
X Available in case of application/json . |
opinionProofFileList | Multipart File |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass the local file path. |
X Available in case of multipart/form-data . |
Name | Type | Description | Required |
---|---|---|---|
adGroupId | Long |
Ad group's ID. | O |
format | String |
Creative's type. Fixed to CATALOG_MANUAL . |
O |
profileImageFileUrl | String |
Profiel image. Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. |
Required in case of application/json . |
profileImageFile | Multipart File |
Profiel image. Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass the local file path. |
Required in case of multipart/form-data . |
assetGroups | AssetGroup[] |
Slide item of CATALOG_MANUAL . (Minimum: 4, Maximum: 10) |
|
profileName | String |
Profile name. Up to 20 characters are allowed. |
O |
actionButton | ActionButton | Call-to-action button. | O |
pcLandingUrl | String |
Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. |
X |
mobileLandingUrl | String |
Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. |
X |
rspvLandingUrl | String |
Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme. |
X |
name | String |
Creative's name. Up to 50 characters are allowed. If not specified, the name is automatically set in {CAMPAIGN_TYPE}{CAMPAIGN_GOAL}{CURRENT_TIME}_{CREATIVE_SIZE} format. |
X |
opinion | String |
Opinion for ad verification. Up to 1,000 characters. |
X |
opinionProofFileUrlList | String[] |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass a valid URL with http:// or https:// scheme. |
X Available in case of application/json . |
opinionProofFileList | Multipart File |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass the local file path. |
X Available in case of multipart/form-data . |
Name | Type | Description |
---|---|---|
landingType | LandingType |
Landing type. |
profileId | String |
Kakao Talk Channel's profile ID if PF_BOT (Chatbot) or CHANNEL_WEBVIEW is set for a landing type.Pass the Kakao Talk Channel's profile ID obtained through the Viewing list of Kakao Talk Channel profiles API. |
action | String |
Keyword if PF_BOT (Chatbot) is set for a landing type. |
adViewItem | AdViewItem |
Ad View object if AD_VIEW is set for a landing type.Pass the id obtained through the Viewing list of Ad Views for landing settings API. |
url | String |
URL if CHANNEL_WEBVIEW (Channel Web View) is set for a landing type. |
bizFormId | Long |
Business Form's ID if BIZ_FORM (Business Form) is set for a landing type.Pass the bizFormId obtained through the Viewing list of Business Forms for landing settings API. |
channelPostId | Long |
Channel post ID if CHANNEL_POST is set for a landing type.Pass the Post ID obtained through the Viewing list of Channel Posts for landing settings API. |
Name | Description |
---|---|
PF_BOT | Chatbot |
AD_VIEW | Ad View |
CHANNEL_WEBVIEW | Channel Web View |
BIZ_FORM | Business Form |
CHANNEL_POST | Channel Post |
Name | Type | Description |
---|---|---|
id | Long |
Ad View's ID. |
Name | Type | Description | Required |
---|---|---|---|
ordering | Integer |
Slide order Required to create creatives. Not available when modifying, set automatically as the order of the list in the contents. |
O |
imageFileUrl | String |
Slide image Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. |
Required in case of application/json . |
imageFile | Multipart File |
Slide image Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass the local file path. |
Required in case of multipart/form-data . |
title | String |
Title Up to 25 characters are allowed. |
O |
pcLandingUrl | String |
Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. |
X |
mobileLandingUrl | String |
Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. |
X |
rspvLandingUrl | String |
Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme. |
X |
description | String |
Promotional text. Up to 40 characters are allowed. |
X |
priceAmount | String |
Price information(Minimum: 0, Maximum: 9999999999) Integers only when CurrencyCode is KRW or JPY Up to 2 decimal places when CurrencyCode is USD , EUR To use priceAmount , priceCurrencyCode is required. |
X |
priceCurrencyCode | String |
Currency One of KRW , USD , JPY , and EUR To use priceCurrencyCode , priceAmount and discountedPriceAmount are required. |
X |
discountedPriceAmount | String |
Discounted price information(Minimum: 0, Maximum: 9999999999) Integers only when CurrencyCode is KRW or JPY Up to 2 decimal places when CurrencyCode is USD , EUR discountedPriceAmount must be less than priceAmount To use discountedPriceAmount , priceAmount and priceCurrencyCode are required. |
X |
Name | Type | Description |
---|---|---|
id | Long |
Original creative ID for execution. |
creativeId | Long |
Creative's ID.creativeId may differ from id when temporarily assigned for the pending status in the review. |
adGroupId | Long |
Ad group's ID. |
format | String |
Creative's type. IMAGE_BANNER |
image | Image |
Uploaded promotional image. |
landingInfo | LandingInfo |
Specified data for landing. |
pcLandingUrl | String |
Landing URL for PC. |
mobileLandingUrl | String |
Landing URL for mobile. |
rspvLandingUrl | String |
Responsive landing URL. |
altText | String |
Description of the creative. |
config | String |
Creative's status. One of ON , OFF , or DEL (Deleted). |
systemConfig | String |
Creative's system status. Either ON or ADMIN_STOP . |
name | String |
Creative's name. |
reviewStatus | String |
Review 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. |
statusDescription | String |
Current status of creative. |
opinionProof | OpinionFile[] |
List of materials for ad verification. |
createdDate | String |
Date and time when the creative is created. |
lastModifiedDate | String |
Date and time when the creative is lastly modified. |
rejectedReason | String[] |
Reasons for rejection of creative (Empty array). |
Name | Type | Description |
---|---|---|
id | Long |
Original creative ID for execution. |
creativeId | Long |
Creative's ID.creativeId may differ from id when temporarily assigned for the pending status in the review. |
adGroupId | Long |
Ad group's ID. |
format | String |
Creative's type. Fixed to IMAGE_NATIVE . |
profileImage | Image |
Uploaded profile image. |
image | Image |
Uploaded promotional image. |
title | String |
Title. |
profileName | String |
Profile name. |
description | String |
Promotional text. |
actionButton | String |
Call-to-action button. |
pcLandingUrl | String |
Landing URL for PC. |
mobileLandingUrl | String |
Landing URL for mobile. |
rspvLandingUrl | String |
Responsive landing URL. |
altText | String |
Description of the creative. |
config | String |
Creative's status. One of ON , OFF , or DEL (Deleted). |
systemConfig | String |
Creative's system status. Either ON or ADMIN_STOP . |
name | String |
Creative's name. |
reviewStatus | String |
Review 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. |
statusDescription | String |
Current status of creative. |
opinionProof | OpinionFile[] |
List of materials for ad verification. |
createdDate | String |
Date and time when the creative is created. |
lastModifiedDate | String |
Date and time when the creative is lastly modified. |
rejectedReason | String[] |
Reasons for rejection of creative (Empty array). |
Name | Type | Description |
---|---|---|
id | Long |
Original creative ID for execution. |
creativeId | Long |
Creative's ID.creativeId may differ from id when temporarily assigned for the pending status in the review. |
adGroupId | Long |
Ad group's ID. |
format | String |
Creative's type. Fixed to CATALOG_MANUAL . |
profileImage | Image |
Uploaded profile image. |
assetGroups | AssetGroup[] |
Slide item. |
profileName | String |
Profile name. |
actionButton | String |
Call-to-action button. |
pcLandingUrl | String |
Landing URL for PC. |
mobileLandingUrl | String |
Landing URL for mobile. |
rspvLandingUrl | String |
Responsive landing URL. |
config | String |
Creative's status. One of ON , OFF , or DEL (Deleted). |
systemConfig | String |
Creative's system status. Either ON or ADMIN_STOP . |
name | String |
Creative's name. |
reviewStatus | String |
Review 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. |
statusDescription | String |
Current status of creative. |
creativeStatus | String |
Creative'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. |
opinionProof | OpinionFile[] |
List of materials for ad verification. |
createdDate | String |
Date and time when the creative is created. |
lastModifiedDate | String |
Date and time when the creative is lastly modified. |
rejectedReason | String[] |
Reasons for rejection of creative (Empty array). |
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":"creative_description",
"landingInfo": {
"landingType":"AD_VIEW",
"adViewItem":{"id":1}
},
"name": "first_image_banner"
}'
curl -X POST "http://api.moment.kakao.com/v4/creatives" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
\"adGroupId\":5678,
\"format\":\"IMAGE_NATIVE\",
\"profileImageFileUrl\":\"http://www.company.com/images/sample_image_native.jpg\",
\"imageFileUrl\":\"http://www.company.com/images/sample_image_banner.jpg\",
\"title\":\"title\",
\"profileName\":\"profile_name\",
\"description\":\"promotional_text\",
\"actionButton\":\"JOIN\",
\"altText\":\"creative_description\",
\"mobileLandingUrl\":\"http://www.daum.net\",
\"name\":\"register_native_cerative\"
}'
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": "CATALOG_MANUAL",
"profileName": "PROFILE_NAME",
"profileImageFileUrl": "https://example.com/test/profileImageProfile.jpg",
"assetGroups": [
{
"ordering": 0,
"imageFileUrl": "https://example.com/test/asset1.jpg",
"title": "title1",
"rspvLandingUrl": "https://www.kakakcorp.com/"
},
{
"ordering": 1,
"imageFileUrl": "https://example.com/test/asset2.jpg",
"title": "title2",
"rspvLandingUrl": "https://www.kakakcorp.com/"
},
{
"ordering": 2,
"imageFileUrl": "https://example.com/test/asset3.jpg",
"title": "title3",
"rspvLandingUrl": "https://www.kakakcorp.com/"
},
{
"ordering": 3,
"imageFileUrl": "https://example.com/test/asset4.jpg",
"title": "title4",
"rspvLandingUrl": "https://www.kakakcorp.com/"
}
],
"rspvLandingUrl": "https://www.kakakcorp.com",
"actionButton": "JOIN"
}'
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=@local_640X200_image_path" \
-F "altText=creative_description" \
-F "name=first_image_banner" \
-F "mobileLandingUrl=http://www.daum.net" \
-F "landingInfo.landingType=AD_VIEW" \
-F "landingInfo.adViewItem.id=search_query"
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=17181" \
-F "format=IMAGE_NATIVE" \
-F "profileImageFile=@local_300X300_image_path" \
-F "imageFile=@local_640X480_image_path" \
-F "title=title" \
-F "altText=creative_description" \
-F "profileName=profile_name" \
-F "description=promotional_text" \
-F "actionButton=JOIN" \
-F "mobileLandingUrl=http://www.daum.net"
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=CATALOG_MANUAL" \
-F "profileName=프로필이름" \
-F "profileImageFile=@로컬_이미지_경로" \
-F "rspvLandingUrl=https://www.kakaocorp.com" \
-F "actionButton=JOIN" \
-F "assetGroups[0].ordering=0" \
-F "assetGroups[0].imageFile=@로컬_이미지1_경로" \
-F "assetGroups[0].title=ImageTitle1" \
-F "assetGroups[0].rspvLandingUrl=https://www.kakaocorp.com" \
-F "assetGroups[1].ordering=1" \
-F "assetGroups[1].imageFile=@로컬_이미지2_경로" \
-F "assetGroups[1].title=ImageTitle2" \
-F "assetGroups[1].rspvLandingUrl=https://www.kakaocorp.com" \
-F "assetGroups[2].ordering=2" \
-F "assetGroups[2].imageFile=@로컬_이미지3_경로" \
-F "assetGroups[2].title=ImageTitle3" \
-F "assetGroups[2].rspvLandingUrl=https://www.kakaocorp.com" \
-F "assetGroups[3].ordering=3" \
-F "assetGroups[3].imageFile=@로컬_이미지4_경로" \
-F "assetGroups[3].title=ImageTitle4" \
-F "assetGroups[3].rspvLandingUrl=https://www.kakaocorp.com"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1,
"creativeId": 2,
"adGroupId": 1234,
"format": "IMAGE_BANNER",
"name": "first_image_banner",
"landingInfo": {
"landingType": "AD_VIEW",
"adViewItem": {"id":1}
},
"pcLandingUrl": null,
"mobileLandingUrl": "&bid=null&DA=XYZ",
"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": "creative_description",
"statusDescription": "심사중",
"createdDate": "2020-01-01T00:00:00.00000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"rejectedReason": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1234,
"creativeId": 1235,
"adGroupId": 5678,
"format": "IMAGE_NATIVE",
"name": "register_moment_creative",
"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.jpg",
"fileName": "sample_image_banner.jpg",
"width": 640,
"height": 480,
"size": 100000
},
"title": "title",
"actionButton": "JOIN",
"profileName": "profile_name",
"profileImage": {
"url": "http://xxx.kakao.co.kr/sample_image_native_xxx.jpg",
"fileName": "sample_image_native.jpeg",
"width": 300,
"height": 300,
"size": 50000
},
"altText": "creative_description",
"description": "promotional_text",
"statusDescription": "심사중",
"createdDate": "2020-01-01T00:00:00.000000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"rejectedReason": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1324,
"creativeId": 1235,
"format": "CATALOG_MANUAL",
"name": "NAME",
"adGroupId": 1234,
"pcLandingUrl": null,
"mobileLandingUrl": null,
"rspvLandingUrl": "https://www.daum.net",
"frequencyCap": null,
"frequencyCapType": "AUTO",
"config": "ON",
"systemConfig": "ON",
"reviewStatus": "WAITING",
"creativeStatus": "UNAPPROVED",
"assetGroups": [
{
"assetGroupId": 1234,
"ordering": 0,
"image": {
"url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
"fileName": "sample.jpg",
"width": 500,
"height": 500,
"size": 18238,
"mimeType": "image/jpeg"
},
"title": "TITLE",
"rspvLandingUrl": "https://www.kakaocorp.com"
},
{
"assetGroupId": 1235,
"ordering": 1,
"image": {
"url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
"fileName": "sample.jpg",
"width": 500,
"height": 500,
"size": 43537,
"mimeType": "image/jpeg"
},
"title": "TITLE",
"rspvLandingUrl": "https://www.kakaocorp.com"
},
{
"assetGroupId": 1236,
"ordering": 2,
"image": {
"url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
"fileName": "sample.jpeg",
"width": 900,
"height": 900,
"size": 45241,
"mimeType": "image/jpeg"
},
"title": "TITLE",
"rspvLandingUrl": "https://www.kakaocorp.com"
},
{
"assetGroupId": 1237,
"ordering": 3,
"image": {
"url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpeg",
"fileName": "sample.png",
"width": 1080,
"height": 1080,
"size": 266029,
"mimeType": "image/png"
},
"title": "TITLE",
"rspvLandingUrl": "https://www.kakaocorp.com"
}
],
"profileName": "PROFILE_NAME",
"profileImage":{
"url": "http://xxx.kakao.co.kr/sample_image_native_xxx.jpg",
"fileName": "sample_image_native.jpeg",
"width": 300,
"height": 300,
"size": 50000
},
"videoSkippableType": null,
"statusDescription": "심사중",
"rejectedReason": [],
"createdDate": "2020-01-01T00:00:00.000000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"hasExpandable": false,
"opinionProof": null
}
Method | URL | Authorization |
---|---|---|
PUT |
https://apis.moment.kakao.com/openapi/v4/creatives |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to edit a Display creative. Depending on the creative type, you need to pass different parameters when you request. For example, pass imageFileUrl
for image banner format, and pass both imageFileUrl
and profileImageFileUrl
for image native format.
This API supports two types of Content-Type
to create an image — application/json
and multipart/form-data
.
http://
or https://
URI scheme through the imageFileUrl
parameter.imageFile
parameter.No matter which type you request, the result of editing a creative is the same. If there is no imageFileUrl
or profileImageFileUrl
in the request body, the image that has previously registered is used.
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 detailed information of the modified creative. If failed, refer to Error code to figure out its failure cause.
You cannot edit a creative under the 'Bizboard X Reach(도달)' or 'Daum Shopping' type of campaign.
This API limits the number of calls you can make every second per user account and ad account.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
id | Long |
Original creative ID for execution. | O |
adGroupId | Long |
Ad group's ID. | O |
format | String |
Creative's type. Fixed to IMAGE_BANNER . |
O |
imageFileUrl | String |
Promotional image. Image size: 1029x258 File Size: 300KB File format: PNG-24 Pass a URL with http:// or https:// scheme. |
Required in case of application/json . |
imageFile | Multipart File |
Promotional image. Image size: 1029x258 File Size: 300KB File format: PNG-24 Pass the local file path. |
Required in case of multipart/form-data . |
landingInfo | LandingInfo |
Data to be set for landing. Not allowed to request three types of the landing URL at once. |
X |
pcLandingUrl | String |
Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. Not allowed to set for the 'Kakao Bizboard' type of campaign. |
X |
mobileLandingUrl | String |
Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. |
X |
rspvLandingUrl | String |
Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme. Not allowed to set for the 'Kakao Bizboard' type of campaign. |
X |
altText | String |
Description of the creative. Used for voice guidance for people with disabilities. Up to 30 characters are allowed. Special characters are not allowed. |
O |
name | String |
Creative's name. Up to 50 characters are allowed. If you do not specify, the name specified when creating the creative is used. |
X |
opinion | String |
Opinion for ad verification. Up to 1,000 characters. |
X |
opinionProofFileUrlList | String[] |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass a valid URL with http:// or https:// scheme. |
X Available in case of application/json . |
opinionProofFileList | Multipart File |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass the local file path. |
X Available in case of multipart/form-data . |
Name | Type | Description | Required |
---|---|---|---|
id | Long |
Original creative ID for execution. | O |
adGroupId | Long |
Ad group's ID. | O |
format | String |
Creative type. Fixed to IMAGE_NATIVE . |
O |
profileImageFileUrl | String |
Profiel image. Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. |
Required in case of application/json . |
profileImageFile | Multipart File |
Profiel image. Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass the local file path. |
Required in case of multipart/form-data . |
imageFileUrl | String |
Promotional image. Image size: One of 500 x 500 pixels or more (1:1), 1200 x 600 pixels or more (2:1), 720 x 1280 pixels or more (9:16) File Size: 500 KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. |
X Required in case of application/json . |
imageFile | Multipart File |
Promotional image. Image size: One of 500 x 500 pixels or more (1:1), 1200 x 600 pixels or more (2:1), 720 x 1280 pixels or more (9:16) File Size: 500 KB File format: JPG/JPEG/PNG Pass the local file path. |
X Required in case of multipart/form-data . |
title | String |
Title. Up to 25 characters are allowed. |
O |
profileName | String |
Profile name. Up to 20 characters are allowed. |
O |
description | String |
Promotional text. Up to 45 characters are allowed. |
O |
actionButton | ActionButton | Call-to-action button. | O |
pcLandingUrl | String |
Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. |
X |
mobileLandingUrl | String |
Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. |
X |
rspvLandingUrl | String |
Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme. |
X |
altText | String |
Description of the creative. Used for voice guidance for people with disabilities. Up to 30 characters are allowed. Special characters are not allowed. |
O |
name | String |
Creative's name. Up to 50 characters are allowed. If you do not specify, the name specified when creating the creative is used. |
X |
opinion | String |
Opinion for ad verification. Up to 1,000 characters. |
X |
opinionProofFileUrlList | String[] |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass a valid URL with http:// or https:// scheme. |
X Available in case of application/json . |
opinionProofFileList | Multipart File |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass the local file path. |
X Available in case of multipart/form-data . |
Name | Type | Description | Required |
---|---|---|---|
id | Long |
Original creative ID for execution. | O |
adGroupId | Long |
Ad group's ID. | O |
format | String |
Creative's type. Fixed to CATALOG_MANUAL . |
O |
profileImageFileUrl | String |
Profiel image. Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass a valid URL with http:// or https:// scheme. |
X Available in case of application/json . |
profileImageFile | Multipart File |
Profiel image. Image size: 300 x 300 pixels or more (1:1) File Size: 500 KB File format: JPG/JPEG/PNG Pass the local file path. |
X Available in case of multipart/form-data . |
assetGroups | AssetGroup[] |
Slide item of CATALOG_MANUAL . (Minimum: 4, Maximum: 10) |
O |
profileName | String |
Profile name. Up to 20 characters are allowed. |
O |
actionButton | ActionButton | Call-to-action button. | O |
pcLandingUrl | String |
Representative landing URL for PC. Pass a valid URL with http:// or https:// scheme. |
X |
mobileLandingUrl | String |
Representative landing URL for mobile. Pass a valid URL with http:// or https:// scheme. |
X |
rspvLandingUrl | String |
Representative responsive landing URL. Pass a valid URL with http:// or https:// scheme. |
X |
name | String |
Creative's name. Up to 50 characters are allowed. If not specified, the name is automatically set in {CAMPAIGN_TYPE}{CAMPAIGN_GOAL}{CURRENT_TIME}_{CREATIVE_SIZE} format. |
X |
opinion | String |
Opinion for ad verification. Up to 1,000 characters. |
X |
opinionProofFileUrlList | String[] |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass a valid URL with http:// or https:// scheme. |
X Available in case of application/json . |
opinionProofFileList | Multipart File |
Material for ad verification. File format: JPG, JPEG, PNG, PDF Total file size: 10 MB or less Up to 10 files are allowed. Pass the local file path. |
X Available in case of multipart/form-data . |
Landing URL has three types — URL for PC (pcLandingUrl), URL for mobile (mobileLandingUrl), and responsive URL(rspvLandingUrl). You must set at least one landing URL among these three types even though each URL is not required.
The Video native and Image box among Display ad creatives do not support landing URLs by type.
Name | Type | Description |
---|---|---|
id | Long |
Original creative ID for execution. |
creativeId | Long |
Creative's ID.creativeId may differ from id when temporarily assigned for the pending status in the review. |
adGroupId | Long |
Ad group's ID. |
format | String |
Creative's type.IMAGE_BANNER |
image | Image |
Uploaded promotional image. |
landingInfo | LandingInfo |
Specified data for landing. |
pcLandingUrl | String |
Landing URL for PC. |
mobileLandingUrl | String |
Landing URL for mobile. |
rspvLandingUrl | String |
Responsive landing URL. |
frequencyCapType | String |
Auto setting type of frequency capping. |
frequencyCap | Integer |
Frequency capping. |
config | String |
Creative's status. One of ON , OFF , or DEL (Deleted). |
name | String |
Creative's name. |
altText | String |
Description of the creative. |
reviewStatus | String |
Review 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. |
statusDescription | String |
Current status of creative. |
opinionProof | OpinionFile[] |
List of materials for ad verification. |
createdDate | String |
Date and time when the creative is created. |
lastModifiedDate | String |
Date and time when the creative is lastly modified. |
rejectedReason | String[] |
Reasons for rejection of creative (Empty array). |
Name | Type | Description |
---|---|---|
id | Long |
Original creative ID for execution. |
creativeId | Long |
Creative's ID.creativeId may differ from id when temporarily assigned for the pending status in the review. |
adGroupId | Long |
Ad group's ID. |
format | String |
Creative's type.IMAGE_NATIVE |
profileImage | Image |
Uploaded profile image. |
image | Image |
Uploaded promotional image. |
title | String |
Title. |
profileName | String |
Profile name. |
description | String |
Promotional text. |
actionButton | String |
Call-to-action button. |
pcLandingUrl | String |
Landing URL for PC. |
mobileLandingUrl | String |
Landing URL for mobile. |
rspvLandingUrl | String |
Responsive landing URL. |
frequencyCapType | String |
Auto setting type of frequency capping. |
frequencyCap | Integer |
Frequency capping. |
config | String |
Creative's status. One of ON , OFF , or DEL (Deleted). |
name | String |
Creative's name. |
altText | String |
Description of the creative. |
reviewStatus | String |
Review 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. |
statusDescription | String |
Current status of creative. |
opinionProof | OpinionFile[] |
List of materials for ad verification. |
createdDate | String |
Date and time when the creative is created. |
lastModifiedDate | String |
Date and time when the creative is lastly modified. |
rejectedReason | String[] |
Reasons for rejection of creative (Empty array). |
Name | Type | Description |
---|---|---|
id | Long |
Original creative ID for execution. |
creativeId | Long |
Creative's ID.creativeId may differ from id when temporarily assigned for the pending status in the review. |
adGroupId | Long |
Ad group's ID. |
format | String |
Creative's type. Fixed to CATALOG_MANUAL . |
profileImage | Image |
Uploaded profile image. |
profileName | String |
Profile name. |
assetGroups | AssetGroup[] |
Slide item. |
actionButton | String |
Call-to-action button. |
pcLandingUrl | String |
Landing URL for PC. |
mobileLandingUrl | String |
Landing URL for mobile. |
rspvLandingUrl | String |
Responsive landing URL. |
frequencyCapType | String |
Auto setting type of frequency capping. |
frequencyCap | Integer |
Frequency capping. |
config | String |
Creative's status. One of ON , OFF , or DEL (Deleted). |
systemConfig | String |
Creative's system status. Either ON or ADMIN_STOP . |
name | String |
Creative's name. |
reviewStatus | String |
Review 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. |
creativeStatus | String |
Creative'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. |
statusDescription | String |
Current status of creative. |
opinionProof | OpinionFile[] |
List of materials for ad verification. |
createdDate | String |
Date and time when the creative is created. |
lastModifiedDate | String |
Date and time when the creative is lastly modified. |
rejectedReason | String[] |
Reasons for rejection of creative (Empty array). |
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":"edit_creative_description",
"mobileLandingUrl":"http://www.daum.net",
"name":"edit_image"
}'
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 '{
"id":1234,
"adGroupId":5678,
"format":"IMAGE_NATIVE",
"profileImageFileUrl":"http://www.company.com/images/sample_image_native.jpg",
"imageFileUrl":"http://www.company.com/images/sample_image_banner.jpg",
"altText":"edit_creative_description",
"title":"edit_title",
"profileName":"edit_profile_name",
"altText":"edit_creative_description",
"description":"edit_promotional_text",
"actionButton":"JOIN",
"mobileLandingUrl":"http://www.daum.net",
"name":"edit_native_creative"
}'
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 '{
"id": 1
"adGroupId": 1234,
"format": "CATALOG_MANUAL",
"profileName": "프로필이름_수정",
"name":"카탈로그_소재_수정",
"profileImageFileUrl": "https://example.com/test/profileImageProfile.jpg",
"assetGroups": [
{
"ordering": 0,
"imageFileUrl": "https://example.com/test/asset1.jpg",
"title": "title1",
"rspvLandingUrl": "https://www.kakakcorp.com/"
},
{
"ordering": 1,
"imageFileUrl": "https://example.com/test/asset2.jpg",
"title": "title2",
"rspvLandingUrl": "https://www.kakakcorp.com/"
},
{
"ordering": 2,
"imageFileUrl": "https://example.com/test/asset3.jpg",
"title": "title3",
"rspvLandingUrl": "https://www.kakakcorp.com/"
},
{
"ordering": 3,
"imageFileUrl": "https://example.com/test/asset4.jpg",
"title": "title4",
"rspvLandingUrl": "https://www.kakakcorp.com/"
}
],
"rspvLandingUrl": "https://www.kakakcorp.com",
"actionButton": "JOIN"
}'
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=@local_640X200_image_path" \
-F "altText=edit_creative_description" \
-F "mobileLandingUrl=http://www.daum.net"
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_NATIVE" \
-F "profileImageFile=@local_300X300_image_path" \
-F "imageFile=@local_640X480_image_path" \
-F "altText=edit_creative_description" \
-F "title=edit_title" \
-F "profileName=edit_profile_name" \
-F "description=edit_promotional_text" \
-F "actionButton=JOIN" \
-F "mobileLandingUrl=http://www.daum.net"
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=1" \
-F "adGroupId=1234" \
-F "format=CATALOG_MANUAL" \
-F "profileName=PROFILENAME_MODIFY" \
-F "profileImageFile=@로컬_이미지_경로" \
-F "name=NAME_MODIFY" \
-F "rspvLandingUrl=https://www.kakaocorp.com" \
-F "actionButton=JOIN" \
-F "assetGroups[0].ordering=0" \
-F "assetGroups[0].imageFile=@IMAGE1_LOCAL_PATH" \
-F "assetGroups[0].title=ImageTitle1" \
-F "assetGroups[0].rspvLandingUrl=https://www.kakaocorp.com" \
-F "assetGroups[1].ordering=1" \
-F "assetGroups[1].imageFile=@IMAGE2_LOCAL_PATH" \
-F "assetGroups[1].title=ImageTitle2" \
-F "assetGroups[1].rspvLandingUrl=https://www.kakaocorp.com" \
-F "assetGroups[2].ordering=2" \
-F "assetGroups[2].imageFile=@IMAGE3_LOCAL_PATH" \
-F "assetGroups[2].title=ImageTitle3" \
-F "assetGroups[2].rspvLandingUrl=https://www.kakaocorp.com" \
-F "assetGroups[3].ordering=3" \
-F "assetGroups[3].imageFile=@IMAGE4_LOCAL_PATH" \
-F "assetGroups[3].title=ImageTitle4" \
-F "assetGroups[3].rspvLandingUrl=https://www.kakaocorp.com"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1234,
"creativeId": 1235,
"adGroupId": 5678,
"format": "IMAGE_BANNER",
"name": "edit_image",
"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": "edit_creative_description",
"statusDescription": "심사중",
"createdDate": "2020-01-01T00:00:00.00000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"rejectedReason": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1234,
"creativeId": 1235,
"adGroupId": 5678,
"format": "IMAGE_NATIVE",
"name": "edit_native_creative",
"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.jpg",
"fileName": "sample_image_banner.jpg",
"width": 640,
"height": 480,
"size": 100000
},
"title": "title",
"description": "edit_promotional_text",
"actionButton": "JOIN",
"profileName": "edit_profile_name",
"profileImage": {
"url": "http://xxx.kakao.co.kr/sample_image_banner_xxx.jpg",
"fileName": "sample_image_native.jpg",
"width": 300,
"height": 300,
"size": 50000
},
"altText": "edit_creative_description",
"statusDescription": "심사중",
"createdDate": "2020-01-01T00:00:00.000000",
"lastModifiedDate": "2020-01-01T00:00:00.000000",
"rejectedReason": []
}
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": 1,
"creativeId": 2,
"format": "CATALOG_MANUAL",
"profileName": "프로필이름_수정",
"profileImage": {
"url": "http://xxx.kakao.co.kr/sample_image_native_xxx.jpg",
"fileName": "sample_image_native.jpeg",
"width": 300,
"height": 300,
"size": 50000
},
"name": "카탈로그_소재_수정",
"adGroupId": 1234,
"landingInfo": null,
"pcLandingUrl": null,
"mobileLandingUrl": null,
"rspvLandingUrl": "https://www.kakaocorp.com",
"frequencyCap": null,
"frequencyCapType": "AUTO",
"config": "ON",
"systemConfig": "ON",
"reviewStatus": "WAITING",
"creativeStatus": "UNAPPROVED",
"image": {
"url": "image URL",
"fileName": "image.jpg",
"width": 640,
"height": 640,
"size": 50000
},
"assetGroups": [
{
"assetGroupId": 1,
"ordering": 0,
"image": {
"url": "image1 URL",
"fileName": "image1.jpg",
"width": 640,
"height": 640,
"size": 50000
},
"title": "IMAGE1_TITLE",
"rspvLandingUrl": "https://www.kakaocorp.com"
},
{
"assetGroupId": 2,
"ordering": 1,
"image": {
"url": "image2 URL",
"fileName": "image2.jpg",
"width": 640,
"height": 640,
"size": 50000
},
"title": "IMAGE2_TITLE",
"rspvLandingUrl": "https://www.kakaocorp.com"
},
{
"assetGroupId": 3,
"ordering": 2,
"image": {
"url": "image3 URL",
"fileName": "image3.jpg",
"width": 640,
"height": 640,
"size": 50000
},
"title": "IMAGE3_TITLE",
"rspvLandingUrl": "https://www.kakaocorp.com"
},
{
"assetGroupId": 4,
"ordering": 3,
"image": {
"url": "image4 URL",
"fileName": "image4.jpg",
"width": 640,
"height": 640,
"size": 50000
},
"title": "IMAGE4_TITLE",
"rspvLandingUrl": "https://www.kakaocorp.com"
}
],
"statusDescription": "심사중",
"rejectedReason": [],
"createdDate": "2020-01-01T00:00:00.00000",
"lastModifiedDate": "2020-01-01T00:00:00.00000",
}
Method | URL | Authorization |
---|---|---|
POST |
https://apis.moment.kakao.com/openapi/v4/creatives/copy |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to copy a Display creative. You can request to copy up to 20 creatives but may fail to copy if exceeding the maximum number of creatable creatives of an account.
You can copy only the Image banner or Image native creatives under the 'Kakao Bizboard X Visit(방문)', 'Kakao Bizboard X Conversion(전환)', 'Display X Visit(방문)', and 'Display X Conversion(전환)' type of campaign.
Send a POST
request with the issued Business token and an ad account ID (adAccountId
) in the request header. You must also pass the ad group ID which the creatives will copy to and the creative IDs to be copied as a list. If the request is successful, this API returns the detailed information of the copied creatives. If failed, refer to Error code to figure out its failure cause.
This API limits the number of calls you can make to every five seconds per user account and ad account.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
adGroupId | Long |
Ad group ID which the creatives will be copied to (Up to 100). | O |
creativeIds | Long[] |
List of creative IDs to be copied. | O |
Name | Type | Description |
---|---|---|
- | DisplayCreative[] |
List of creative information. |
Name | Type | Description |
---|---|---|
id | Long |
Original creative ID for execution. |
creativeId | Long |
Creative's ID.creativeId may differ from id when temporarily assigned for the pending status in the review. |
name | String |
Creative's name. |
format | String |
Creative type. One of IMAGE_BANNER , IMAGE_NATIVE , or CATALOG_MANUAL . |
landingUrl | String |
Landing URL. |
frequencyCap | Integer |
Frequency capping. |
config | String |
Creative's status. One of ON , OFF , or DEL (Deleted). |
systemConfig | String |
Creative's system status. Either ON or ADMIN_STOP . |
reviewStatus | String |
Review 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. |
creativeStatus | String |
Creative'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. |
statusDescription | String |
Current status of creative. |
image | Image |
Information about the main image of the IMAGE_BANNER , IMAGE_NATIVE , and VIDEO_NATIVE type of creative. |
assetGroups | AssetGroup[] |
Slide item of CATALOG_MANUAL . |
landingInfo | LandingInfo |
Specified data for landing. |
altText | String |
Alternative description of the IMAGE_BANNER type of creative. |
title | String |
Title of the IMAGE_NATIVE or VIDEO_NATIVE type of creative. |
actionButton | String |
Call-to-action button of the IMAGE_NATIVE , VIDEO_NATIVE or CATALOG_MANUAL type of creative. |
profileName | String |
Profile name of the IMAGE_NATIVE , VIDEO_NATIVE or CATALOG_MANUAL type of creative. |
description | String |
Promotional text of the IMAGE_NATIVE or VIDEO_NATIVE type of creative. |
profileImage | Image |
Uploaded profile image. |
video | Video |
Video with the VIDEO_NATIVE type of creative. |
rejectedReason | RejectedReason |
Reasons for rejection of creative. |
opinion | String |
Opinion for ad verification. |
opinionProof | OpinionFile[] |
List of materials for ad verification. |
createdDate | String |
Date and time when the creative is created. |
lastModifiedDate | String |
Date and time when the creative is lastly modified. |
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": "image_creative1",
"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_banner_111.jpg",
"fileName": "sample_image_banner_111.jpg",
"width": 640,
"height": 480,
"size": 100000
},
"altText": "image_description1",
"statusDescription": "운영중",
"rejectedReason": [],
"createdDate": "2020-01-01T00:00:00.000000",
"lastModifiedDate": "2020-01-01T00:00:00.000000"
},
{
"id": 35679,
"creativeId": 35678,
"adGroupId": 23456,
"format": "IMAGE_BANNER",
"name": "image_creative2",
"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_banner_222.jpg",
"fileName": "sample_image_banner_222.jpg",
"width": 640,
"height": 480,
"size": 100000
},
"altText": "image_description2",
"statusDescription": "운영중",
"rejectedReason": [],
"createdDate": "2020-01-01T00:00:00.000000",
"lastModifiedDate": "2020-01-01T00:00:00.000000"
}
]
Method | URL | Authorization |
---|---|---|
GET |
https://apis.moment.kakao.com/openapi/v4/creatives/${ID}/opinionProof |
Business token |
Permission | Prerequisite | Business Authentication | Business consent items |
---|---|---|---|
Required: Request permission |
Switch to a Biz app Set Business redirect URI Business consent items |
Required | Required |
This API enables you to retrieve the materials for verification that are submitted for the corresponding Display creative.
Send a GET
request with the issued Business token in the request header. If the request is successful, this API returns the information on the materials for verification in JSON format. If failed, refer to Error code to figure out its failure cause.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} Business token as a type of user authentication. |
O |
adAccountId | adAccountId: ${AD_ACCOUNT_ID} Ad account's ID. |
O |
Name | Type | Description | Required |
---|---|---|---|
ID | Long |
Original creative ID for execution. | O |
Name | Type | Description |
---|---|---|
id | Long |
Opinion ID. |
opinion | String |
Opinion for ad verification. |
opinionProofFileList | OpinionFile[] |
List of materials for verification. |
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": "의견증빙 정보가 존재하지 않습니다."
}
}