Kakao Moment
Message ad management
This document describes how to use the Message ad management API for Kakao Moment message ads. The Message ad management API provides common management functions required for Message ad operation .
Message creatives, under Kakao Talk Channel x reach campaigns can be found in Ad creation: Message creative , and personalized message x reach campaign message materials can be found in Ad creation: Personalized message creative .
Method URL Authorization POSThttps://apis.moment.kakao.com/openapi/message/v2/message-ads
Returns a list of message ads created under the Kakao Talk Channel.
Name Description Required Authorization Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} O adAccountId Ad account IDadAccountId: ${AD_ACCOUNT_ID} O channel-profile-id Kakao Talk Channel profile ID channel-profile-id: ${CHANNEL_PROFILE_ID}O Content-Type Request data typeContent-Type: application/json O
Name Type Description Required page IntegerPage number Starts from 0 X limit IntegerPage size X from StringMetric lookup period start date (Default: 2 years before the lookup date)yyyy-MM-dd format X to StringMetric lookup period end date (Default: lookup date)yyyy-MM-dd format X
Name Type Description Required filter FilterList lookup filter X
Name Type Description Required messageAdType StringMessage ad type Fixed to BROADCAST (Message ad).Note : The response also includes MULTI_BROADCAST (Optimized message ad). X messageAdIds String[]List of message ad numbers (identification numbers assigned when first created) X statuses String[]Message status
DRAFT: Draft
READY: Before sending
SENDING: Sending
PAUSE: Paused
FINISHED: Send complete
ADMIN_STOP: Admin stop
DEL: Delete
X messageTypes String[]Message type
BASIC_TEXT_MESSAGE: Basic text
WIDE_MESSAGE: Wide image
WIDE_LIST_MESSAGE: Wide list
CAROUSEL_COMMERCE_MESSAGE: Carousel commerce
CAROUSEL_FEED_MESSAGE: Carousel feed
PREMIUM_VIDEO_MESSAGE: Premium video
CATALOG_MESSAGE: Catalog
SPOTLIGHT_MESSAGE: Spotlight
X start StringSend time start date, YYYY-MM-DD formatImportant : Required when end is included X end StringSend time end date, YYYY-MM-DD format End date can be set from start date to lookup dateImportant : Required when start is included X searchKeyword StringMessage name search keyword Returns search results containing the keyword in the message name (like search) X
Name Type Description content Content[]Message ad list totalPages LongTotal number of pages, total number of pages that will be responded when looking up totalElements LongTotal number of message ads that can be responded first BooleanWhether it's the first page
true: First page
false: Not the first page
last BooleanWhether it's the last page
true: Last page
false: Not the last page
size IntegerPage size, number of message ads per page number IntegerPage number numberOfElements IntegerNumber of message ads included in the current page
Name Type Description messageAdId StringMessage ad number, identification number assigned when first created messageAdType EnumMessage ad type
BROADCAST: Regular message ad
MULTI_BROADCAST: Optimized message ad
message SimpleMessageMessage simple informationCondition : Provided only if messageAdType is BROADCAST. messages SimpleMessage[]List of simple information for each creative of the optimized message ad, provided in the order of the creativesCondition : Provided only if messageAdType is MULTI_BROADCAST. name StringMessage name (Maximum: 150 characters), value with automatic generation rules applied when not entered during first creation status EnumMessage status
DRAFT: Draft
READY: Before sending
SENDING: Sending
PAUSE: Paused
FINISHED: Send complete
ADMIN_STOP: Admin stop
DEL: Delete
sendingReservation SendingReservationMessage send reservation information metrics MetricsMessage summary report createdDate StringMessage ad creation date, yyyy-MM-dd HH:mm:ss format lastModifiedDate StringMessage ad last modification date, yyyy-MM-dd HH:mm:ss format
Name Type Description type EnumMessage type
BASIC_TEXT_MESSAGE: Basic text
WIDE_MESSAGE: Wide image
WIDE_LIST_MESSAGE: Wide list
CAROUSEL_COMMERCE_MESSAGE: Carousel commerce type
CAROUSEL_FEED_MESSAGE: Carousel feed type
PREMIUM_VIDEO_MESSAGE: Premium video
CATALOG_MESSAGE: Catalog
SPOTLIGHT_MESSAGE: Spotlight
mainImageUrl StringMessage representative image
Basic text, wide image, wide list, catalog, spotlight: Responds with imageUrl of the first message.items
When the item has no image: Responds with video.thumbnailUrl of the first item, responds with null when there is no image or video
Carousel commerce, when the intro carousel has an image: Responds with message.introCarousel.imageUrl
Carousel commerce, carousel feed: Responds with imageUrl of the first message.carousels
mainTitle StringMessage representative text
Basic text, wide image, wide list, premium video, catalog, spotlight: Responds with message.messageTitle, responds with message.description when there is no value
Carousel commerce, when the intro carousel has a title: Responds with message.introCarousel.messageTitle
Carousel commerce, carousel feed: Responds with messageTitle of the first message.carousels
Name Type Description targeting TargetingTargeting information price LongSend unit price (Unit: won)
15: No targeting applied
20: Targeting applied
contractCount LongPurchase send count, message ad send reservation count totalBudget LongPurchase amount, total amount for message ad send reservation totalBudgetWithVAT DoublePurchase amount including VAT, amount including VAT in totalBudget date StringSend start date and time, yyyy-MM-dd HH:mm format trackId StringConversion tracking settings, pixel & SDK settings for providing message conversion metrics sendRate IntegerDistributed send setting0 if distributed sending is not used Distributed cycle count: 100, 500, 1000, 1500, 2000 pushAlarm BooleanWhether to send push alarm
true: Send push alarm
false: Do not send push alarm
immediateSend BooleanWhether to send immediately
true: Send immediately
false: Scheduled send
Name Type Description type EnumTargeting type
WHOLE: All friends
DIRECT: Direct setting
SMART: Recommended friends
Note : Values provided only when viewing an optimized message ad
OPTIMIZATION_WHOLE: All friends optimization
OPTIMIZATION_DIRECT: Direct setting optimization
optimizationTarget TargetingOptimizationOptimization settingsCondition : Provided only when viewing an optimized message ad. devices Enum: DeviceType[]Device type
ANDROID: Android
IOS: iOS
businessTypes UfoBusinessType[]Business type targeting information interests UfoInterest[]Interest targeting information demographics DemographicsGender, age, and location targeting information friendPeriod FriendPeriodTargeting information on the period when users added the Kakao Talk Channel as a friend customs CustomTargeting[]Custom target information
Name Type Description genders String[]Gender ages String[]Age group
15: 15 to 19
20: 20 to 24
25: 25 to 29
30: 30 to 34
35: 35 to 39
40: 40 to 44
45: 45 to 49
50: 50 to 54
55: 55 to 59
60: 60 to 64
65: 65 to 69
70: Over 70
locationType EnumLocation selection type
ALL: All (domestic and overseas)
DOMESTIC: Domestic only
AREA: Area selection
depth1Locations String[]List of city/province location values depth2Locations String[]List of city/county/district location values depth3Locations String[]List of dong/eup/myeon location values
Name Type Description cost LongMessage send cost (VAT excluded), total cost charged for completed message ad sending msg_send LongMessage send count, cumulative number of messages sent to users msg_send_fail LongMessage send failure count, cumulative number of messages that failed to send to users msg_open LongMessage view count, number of users who viewed sent messages after entering chat room msg_click LongMessage click count, total number of clicks generated from messages
Regular Message Ad Optimized Message Ad
// Content-Type: application/json;charset=UTF-8
" messageAdId ": " msg-ad-1196357486962585601 ",
" messageAdType ": " BROADCAST ",
" name ": " Message_Ad_Test_Wide_Image ",
" date ": " 2024-01-15 16:37 "
" createdDate ": " 2024-01-15 16:37:32 ",
" lastModifiedDate ": " 2024-01-15 16:37:32 ",
" mainTitle ": " Promotional Text ",
" mainImageUrl ": " https://t1.kakaocdn.net/b2/creative/56493/72750c9573241f3409d6f8e44cd66ac8.jpg "
Method URL Authorization GEThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}
Returns detailed information about an individual message ad.
You can check message content, send time, send target, etc.
Name Description Required Authorization Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} O adAccountId Ad account IDadAccountId: ${AD_ACCOUNT_ID} O channel-profile-id Kakao Talk Channel profile ID channel-profile-id: ${CHANNEL_PROFILE_ID}O Content-Type Request data typeContent-Type: application/json O
Name Type Description Required MESSAGE_AD_ID StringMessage ad number (messageAdId) O
Name Type Description messageAdId StringMessage ad number, identification number assigned when first created messageAdType EnumMessage ad type
BROADCAST: Regular message ad
MULTI_BROADCAST: Optimized message ad
name StringMessage name (Maximum: 150 characters), value with automatic generation rules applied when not entered during first creation message ResponseMessage or ResponseMultiMessageMessage information
Regular message ad: ResponseMessage format
Optimized message ad: ResponseMultiMessage format, creative information included in message.messages
Note : messageAdId and name are omitted. You can check whether the ad requires age verification with the top-level ageVerification. sendingReservation SendingReservationMessage send reservation information status EnumMessage status
DRAFT: Draft
READY: Before sending
SENDING: Sending
PAUSE: Paused
FINISHED: Send complete
ADMIN_STOP: Admin stop
DEL: Delete
ageVerification BooleanWhether age verification is required for the message
true: Age verification required message
false: Regular message
createdDate StringMessage ad creation date, yyyy-MM-dd HH:mm:ss format lastModifiedDate StringMessage ad last modification date, yyyy-MM-dd HH:mm:ss format
Regular Message Ad Optimized Message Ad
Method URL Authorization DELETEhttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}
Deletes a message ad.
Deleted message information can no longer be retrieved and cannot be recovered.
Name Description Required Authorization Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} O adAccountId Ad account IDadAccountId: ${AD_ACCOUNT_ID} O channel-profile-id Kakao Talk Channel profile ID channel-profile-id: ${CHANNEL_PROFILE_ID}O Content-Type Request data typeContent-Type: application/json O
Name Type Description Required MESSAGE_AD_ID StringMessage ad number (messageAdId) O
No response body
Method URL Authorization GEThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/message
Returns detailed message information.
A regular message ad is returned in the format of the response body , and an optimized message ad is returned in the ResponseMultiMessage format.
Name Description Required Authorization Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} O adAccountId Ad account IDadAccountId: ${AD_ACCOUNT_ID} O channel-profile-id Kakao Talk Channel profile ID channel-profile-id: ${CHANNEL_PROFILE_ID}O Content-Type Request data typeContent-Type: application/json O
Name Type Description Required MESSAGE_AD_ID StringMessage ad number (messageAdId) O
Name Type Description messageAdId StringMessage ad number, identification number assigned when first created name StringMessage name (Maximum: 150 characters), value with automatic generation rules applied when not entered during first creation type EnumMessage type
BASIC_TEXT_MESSAGE: Basic text
WIDE_MESSAGE: Wide image
WIDE_LIST_MESSAGE: Wide list
CAROUSEL_COMMERCE_MESSAGE: Carousel commerce type
CAROUSEL_FEED_MESSAGE: Carousel feed type
PREMIUM_VIDEO_MESSAGE: Premium video
CATALOG_MESSAGE: Catalog
SPOTLIGHT_MESSAGE: Spotlight
messageTitle StringMessage titleCondition : Provided only if the message type uses a title. description StringPromotional textCondition : Provided only if the message type uses promotional text. items Item[]List information buttons Button[]Button information couponBook CouponBookCoupon information introCarousel IntroCarouselIntro information carousels Carousel[]Carousel information moreButton LandingCarousel More button landing informationCondition : Provided only if a value exists. buttonTitle StringSpotlight message button name landingUrl StringSpotlight message landing URL ageVerification BooleanWhether age verification is required for the message
true: Age verification required message
false: Regular message
adFlag BooleanAd message
true: Ad message
false: Information message
shareFlag BooleanWhether to use share
true: Use share
false: Do not use share
Important : Cannot be used when ageVerification value is true
Basic Text Wide Image Wide List Carousel Commerce Carousel Feed Premium Video Catalog Spotlight Optimized Message Ad
Method URL Authorization POSThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/copy
Copies the message that will be sent from the Kakao Talk Channel.
A regular message ad is returned in the format of the response body , and an optimized message ad is returned in the ResponseMultiMessage format.
Name Description Required Authorization Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} O adAccountId Ad account IDadAccountId: ${AD_ACCOUNT_ID} O channel-profile-id Kakao Talk Channel profile ID channel-profile-id: ${CHANNEL_PROFILE_ID}O Content-Type Request data typeContent-Type: application/json O
Name Type Description Required MESSAGE_AD_ID StringMessage ad number (messageAdId) O
Name Type Description messageAdId StringMessage ad number, identification number assigned when first created name StringMessage name (Maximum: 150 characters), value with automatic generation rules applied when not entered during first creation type EnumMessage type
BASIC_TEXT_MESSAGE: Basic text
WIDE_MESSAGE: Wide image
WIDE_LIST_MESSAGE: Wide list
CAROUSEL_COMMERCE_MESSAGE: Carousel commerce type
CAROUSEL_FEED_MESSAGE: Carousel feed type
PREMIUM_VIDEO_MESSAGE: Premium video
CATALOG_MESSAGE: Catalog
SPOTLIGHT_MESSAGE: Spotlight
messageTitle StringMessage titleCondition : Provided only if the message type uses a title. description StringPromotional textCondition : Provided only if the message type uses promotional text. items Item[]Item information buttons Button[]Button information couponBook CouponBookCoupon information introCarousel IntroCarouselIntro information carousels Carousel[]Carousel information moreButton LandingCarousel More button landing informationCondition : Provided only if a value exists. buttonTitle StringSpotlight message button name landingUrl StringSpotlight message landing URL ageVerification BooleanWhether age verification is required for the message
true: Age verification required message
false: Regular message
adFlag BooleanAd message
true: Ad message
false: Information message
shareFlag BooleanWhether to use share
true: Use share
false: Do not use share
Important : Cannot be used when ageVerification value is true
Basic Text Wide Image Wide List Carousel Commerce Carousel Feed Catalog Spotlight Optimized Message Ad
Method URL Authorization POSThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/reports
Returns reports for messages.
Report metric groups (metricsGroup) can be selected multiple times.
Reports for specific dates are variable real-time metrics for reference until 8 AM the next day. If you're interested in today's (real-time) report, use datePreset=TODAY, and if you want hourly data, use dimension=HOUR.
You can request one of datePreset or start, end. If requested in duplicate, data under start, end conditions will be retrieved.
Report lookup criteria (dimension) provides MESSAGE_AD (message ad), MESSAGE_TYPE (message type), DEVICE_TYPE (device), HOUR (time period).
Name Description Required Authorization Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN} O adAccountId Ad account IDadAccountId: ${AD_ACCOUNT_ID} O channel-profile-id Kakao Talk Channel profile ID channel-profile-id: ${CHANNEL_PROFILE_ID}O Content-Type Request data typeContent-Type: application/json O
Name Type Description Required messageAdIds String[]List of message ad numbers (Maximum: 100) X datePreset Enum: DatePresetReport lookup period (Default: TODAY) X start StringReport lookup period start date, YYYY-MM-DD format Start date can be set up to lookup dateImportant : Required when end is includedNote : If both start and end are omitted, lookup based on datePreset X end StringReport lookup period end date, YYYY-MM-DD format End date can be set from start date to lookup dateImportant : Required when start is included X dimension Enum: DimensionReport lookup criteria, criteria by which data will be grouped when looking up reports O metricsGroup Enum: MetricsGroup[]Report metric groups O
Value Description MESSAGE_AD Message ad MESSAGE_TYPE Message type
BASIC_TEXT_MESSAGE: Basic text
WIDE_LIST_MESSAGE: Wide list
WIDE_MESSAGE: Wide image
CAROUSEL_COMMERCE_MESSAGE: Carousel commerce
CAROUSEL_FEED_MESSAGE: Carousel feed
CATALOG_MESSAGE: Catalog
SPOTLIGHT_MESSAGE: Spotlight
DEVICE_TYPE Device
total: All
PC: PC
Android: Android
iOS: iOS
N/A: Others
HOUR Hour
total: All
00: 00:00 to 00:59
01: 01:00 to 01:59
02: 02:00 to 02:59
03: 03:00 to 03:59
04: 04:00 to 04:59
05: 05:00 to 05:59
06: 06:00 to 06:59
07: 07:00 to 07:59
08: 08:00 to 08:59
09: 09:00 to 09:59
10: 10:00 to 10:59
11: 11:00 to 11:59
12: 12:00 to 12:59
13: 13:00 to 13:59
14: 14:00 to 14:59
15: 15:00 to 15:59
16: 16:00 to 16:59
17: 17:00 to 17:59
18: 18:00 to 18:59
19: 19:00 to 19:59
20: 20:00 to 20:59
21: 21:00 to 21:59
22: 22:00 to 22:59
23: 23:00 to 23:59
Name Type Description code IntegerResponse code message StringResult notification message data Data[]Each report detailed data
Name Type Description start StringStart date, YYYY-MM-DD format end StringEnd date, YYYY-MM-DD format dimensions JSONReport criteria and values.Note : For the keys and values included by the report criteria, refer to Dimension . metrics JSONReport metrics and valuesNote : Refer to Enum: MetricsGroup for the metric codes.
Name Description Value message_ad_id Message ad number Identification number assigned when first created Actual message ad number (messageAdId) message_type Message type
Basic text
Wide list
Wide image
Carousel commerce
Carousel feed
Catalog
Spotlight
BASIC_TEXT_MESSAGE
WIDE_LIST_MESSAGE
WIDE_MESSAGE
CAROUSEL_COMMERCE_MESSAGE
CAROUSEL_FEED_MESSAGE
CATALOG_MESSAGE
SPOTLIGHT_MESSAGE
device_type Device
total
PC
Android
iOS
Others
hour Hour
total
00:00 to 00:59
01:00 to 01:59
02:00 to 02:59
03:00 to 03:59
04:00 to 04:59
05:00 to 05:59
06:00 to 06:59
07:00 to 07:59
08:00 to 08:59
09:00 to 09:59
10:00 to 10:59
11:00 to 11:59
12:00 to 12:59
13:00 to 13:59
14:00 to 14:59
15:00 to 15:59
16:00 to 16:59
17:00 to 17:59
18:00 to 18:59
19:00 to 19:59
20:00 to 20:59
21:00 to 21:59
22:00 to 22:59
23:00 to 23:59
total
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
MESSAGE_AD MESSAGE_TYPE HOUR DEVICE
View list of channel videos
Method URL Authorization GEThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/talk-channel-videos
Returns a list of Kakao Talk Channel videos that can be used in a Message creative.
Videos are returned from the Kakao Talk Channel determined by the authentication information.
Name Description Required Authorization Business token as a type of user authentication.Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}O
Name Type Description Required page IntegerPage number to retrieve. Starts from 0 (Default: 0) X size IntegerNumber of videos per page. (Default: 20, Maximum: 1000) X
Name Type Description items TalkChannelVideo[]List of channel videos. totalElements LongTotal number of videos available for retrieval.
Name Type Description url StringVideo URL. title StringVideo title. talkChannelProfileId StringKakao Talk Channel profile ID. vid StringVideo VID. mediaId LongVideo media ID. status StringVideo status. duration IntegerVideo playback duration. width IntegerVideo width. height IntegerVideo height. playCount IntegerNumber of video plays. autoThumbnail TalkChannelVideoThumbnailAuto-generated thumbnail information. uploadThumbnail TalkChannelVideoThumbnailUser-uploaded thumbnail information.
TalkChannelVideoThumbnail
Name Type Description url StringThumbnail URL. fileName StringThumbnail file name. width IntegerThumbnail width. height IntegerThumbnail height. fileSize LongThumbnail file size. mineType StringThumbnail MIME type.