This document describes how to use the Message ad operation API for Kakao Moment message ads.
Before you begin
Message ads have different components depending on the message type, so the available parameters differ from each other. For detailed information, refer to Message type components.
Available message types
Message ads can send the following types of messages. For detailed information on each message type, refer to the Kakao Business Channel Message Guide.
Name
Message type
Basic Text
BASIC_TEXT_MESSAGE
Wide Image
WIDE_MESSAGE
Wide List
WIDE_LIST_MESSAGE
Carousel Commerce
CAROUSEL_COMMERCE_MESSAGE
Carousel Feed
CAROUSEL_FEED_MESSAGE
Premium Video
PREMIUM_VIDEO_MESSAGE
Catalog
CATALOG_MESSAGE
Spotlight
SPOTLIGHT_MESSAGE
Premium Video (PREMIUM_VIDEO_MESSAGE) message type cannot be sent via the Message ad API.
Message type components
This section provides information about the field path, specifications, and required status for each message type component.
Character count: Maximum 50 characters, links cannot be entered.
Line breaks: Maximum 2.
Landing: Connects to Button1 landing URL.
O
Carousel Landing URL message.carousels.landing
Applied to Button1 landing URL.
When separate URL landing is needed for PC KakaoTalk, carousel PC landing URL can be additionally registered.
O
Price Information message.carousels.priceAmount
When currency information is Korean Won (₩) or Japanese Yen (¥), only integers with 8 digits or less (0 to 99999999) can be entered.
When currency information is Dollar ($) or Euro (€), integers with 8 digits or less or numbers with up to 2 decimal places (0 to 99999999.99) can be entered.
O
Currency Information message.carousels.priceCurrencyCode
Sets the currency unit for price information.
Can be applied as one of Korean Won (₩), Dollar ($), Japanese Yen (¥), Euro (€).
O
Discounted Price Information message.carousels.discountedPriceAmount
Must enter a value that differs by 1% or more from the price information value.
Discount rate: Automatically calculated and applied with decimal places truncated when discounted price information is entered (1% to 100%).
X
Button1 message.carousels
Cannot be set by user, automatically generated as a button with the following attributes.
Button name: Purchase.
Landing: Connects to registered carousel landing URL.
O
Button2 message.buttons
When share flag (message.shareFlag) is set, operates as Share button for all carousels (1 to 6). Button name and landing setting not available.
Button name: Maximum 8 characters including spaces.
Landing: Connects to registered button landing URL.
Required when this element is included: Button name, button mobile landing URL.
X
More message.moreButton
Connects to registered landing URL.
X
Carousel feed (CAROUSEL_FEED_MESSAGE)
Carousel1 and Carousel2 required, Carousel3 to Carousel6 optional.
Component and Field Path
Specification
Required
Title message.carousels.messageTitle
Character count: Maximum 20 characters, links cannot be entered, line breaks not allowed.
Character count: Maximum 180 characters, links cannot be entered, line breaks: Maximum 10.
Landing: Connects to Button1 landing URL.
O
Button1 message.buttons
Button name: Maximum 8 characters including spaces.
Landing: Connects to registered button landing URL.
Required when this element is included: Button name, button mobile landing URL.
O
Button2 message.buttons
When share flag (message.shareFlag) is set, operates as share button for Button2. Button name and landing setting not available.
Button name: Maximum 8 characters including spaces.
Landing: Connects to registered button landing URL.
Required when this element is included: Button name, button mobile landing URL.
X
Coupon message.couponBook
Landing: Connects to registered coupon landing URL.
Required when this element is included: Coupon type, coupon title, coupon detailed description, coupon mobile landing URL.
X
More message.moreButton
Connects to registered landing URL.
X
Premium video (PREMIUM_VIDEO_MESSAGE)
Component and Field Path
Specification
Promotional Video message.items.video.url
Promotional video URL registered by user.
Promotional Video Auto Thumbnail message.items.video.autoThumbnailUrl
Automatically generated promotional video thumbnail. Thumbnail is set when uploaded thumbnail is not available.
Promotional Video Upload Thumbnail message.items.video.uploadThumbnailUrl
Promotional video upload thumbnail registered by user.
Title message.messageTitle
Character count: Maximum 20 characters, links cannot be entered, line breaks not allowed.
Promotional Text message.description
Character count: Maximum 76 characters, links cannot be entered, line breaks: Maximum 5.
Button message.buttons
Button name: Maximum 8 characters including spaces.
Landing: Connects to registered button landing URL.
Required when this element is included: Button name, button mobile landing URL.
Coupon message.couponBook
Landing: Connects to registered coupon landing URL.
Required when this element is included: Coupon type, coupon title, coupon detailed description, coupon mobile landing URL.
* Premium video creation is not possible, but premium videos created in [Kakao Moment] > [Message] > [Create Message] in Kakao Business can be retrieved.
Catalog (CATALOG_MESSAGE)
Item1 to Item3 required, Item4 to Item7 optional.
Component and Field Path
Specification
Required
Title message.catalog.messageTitle
Character count: Maximum 36 characters, links cannot be entered, line breaks not allowed.
O
Promotional Text message.catalog.description
Character count: Maximum 36 characters, links cannot be entered.
Can be applied as one of Korean Won (₩), Dollar ($), Japanese Yen (¥), Euro (€).
O
Item Price message.items.priceAmount
Field available only for catalog item discount rate highlight type (DISCOUNT_RATE_HIGHLIGHT) and price highlight type (PRICE_HIGHLIGHT).
When currency information is Korean Won (₩) or Japanese Yen (¥), only integers with 8 digits or less (0 to 99999999) can be entered.
When currency information is Dollar ($) or Euro (€), integers with 8 digits or less or numbers with up to 2 decimal places (0 to 99999999.99) can be entered.
O
Item Price Name message.items.priceName
Field available only for catalog item discount rate highlight type (DISCOUNT_RATE_HIGHLIGHT) and price highlight type (PRICE_HIGHLIGHT).
Character count: Maximum 4 characters, links cannot be entered, line breaks not allowed.
Ratio: Width: Height ratio less than 1:2.5 (Recommended: 2:1, 1:1, 4:3)
Encoding
If URLs contain special characters or Korean text that are not encoded in UTF-8, ads may not land properly in the Kakao Talk in-app browser on iOS devices. Below are examples of special characters that may cause landing errors.
%
|
"
Additionally, deep link (Deeplink) format URLs that require parameter and macro substitution are not officially supported.
Saves the message ad content that will be sent from the Kakao Talk Channel.
The availability and required status of parameters differ depending on the message type (type). For related detailed information, refer to Message type components.
This API is limited to 1 request per second per user account and ad account.
Request
Header
Name
Description
Required
Authorization
Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
When using a Kakao Talk Channel video in Basic Text, Wide Image, or Wide List Item, send the request with only video.mediaId instead of imageUrl. (Reference: Body when requesting a Kakao Talk Channel video)
When using a Kakao Talk Channel video in Basic Text, Wide Image, or Wide List Item, send the request with only video.mediaId instead of imageUrl. (Reference: Body when requesting a Kakao Talk Channel video)
The send start time can be set in 1-minute intervals from 5 minutes after the reservation time. If it is set within 1 hour, sending may be delayed until target population generation is complete, depending on the target population size.
The send start time can be set from 08:00 to 20:50. Messages that have not been sent after 20:55 are sent after 08:00 the next day.
Send cost
Non-target: Messages without device/targeting information set, 15 won.
Target: Messages with at least one device or targeting setting, 20 won. However, 15 won when only the Domestic location type is set.
Request
Header
Name
Description
Required
Authorization
Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Distributed send setting Set to 0 if you don't want distributed sending If you want distributed sending, enter the distributed cycle count: 100, 500, 1000, 1500, 2000
Sub-location data Not provided when query parameter codes is used
deprecated
Boolean
Whether the location information is deleted, true means deleted location and is only included in the response when codes is included in the query parameter
Children
Name
Type
Description
id
String
Location value
name
String
Location name
children
Children[]
Sub-location data
deprecated
Boolean
Whether the location information is deleted, true means deleted location and is only included in the response when codes is included in the query parameter
Returns the available audience and price for sending.
This API does not reflect the existing messageAdId settings or affect existing send reservations; it returns the audience and price based only on the targeting conditions in the request.
Request
Header
Name
Description
Required
Authorization
Authorization method, authenticate with Business token Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}