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

kakao developers

Related sites
  • Docs
  • Kakao Moment
  • Message ad operation

사이드 메뉴

Kakao Map

Search

Kakao Moment

Message ad operation

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.

NameMessage type
Basic TextBASIC_TEXT_MESSAGE
Wide ImageWIDE_MESSAGE
Wide ListWIDE_LIST_MESSAGE
Carousel CommerceCAROUSEL_COMMERCE_MESSAGE
Carousel FeedCAROUSEL_FEED_MESSAGE
Premium VideoPREMIUM_VIDEO_MESSAGE
CatalogCATALOG_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.

Basic text (BASIC_TEXT_MESSAGE)

Component and Field PathSpecificationRequired
Promotional Area
message.items.imageUrl
X
Title
message.messageTitle
  • Character count: Maximum 16 characters
  • Links cannot be entered.
  • Line breaks not allowed.
X
Promotional Text
message.description
  • Character count: Up to 1,300 characters can be entered regardless of whether promotional elements are included, and links cannot be entered.
  • Line breaks: Maximum 99.
  • Landing: Not available.
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.
X
Button2
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.
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

Wide image (WIDE_MESSAGE)

Component and Field PathSpecificationRequired
Promotional Area
message.items.imageUrl
O
Title
message.messageTitle
  • Character count: Maximum 20 characters
  • Links cannot be entered.
  • Line breaks not allowed.
X
Promotional Text
message.description
  • Character count: Maximum 76 characters, links cannot be entered.
  • Line breaks: Maximum 5.
  • Landing: Connects to registered item landing URL.
O
Creative Landing
message.items.landing
  • Landing connected when the promotional area is clicked.
  • Landing can be registered.
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.
X
Button2
message.buttons
  • When share flag (message.shareFlag) is set, operates as Share button, 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

Wide list (WIDE_LIST_MESSAGE)

Component and Field PathSpecificationRequired
Promotional Area
message.items.imageUrl
O*
Title
message.messageTitle
  • Character count: Maximum 20 characters, links cannot be entered, line breaks not allowed.
  • Landing: Connects to registered item landing URL.
O
Item Promotional Text
message.items.description
  • List1 character count: Maximum 25 characters, links cannot be entered, line breaks not allowed.
  • List2-5 character count: Maximum 30 characters, links cannot be entered, line breaks not allowed.
  • Landing: Connects to registered item landing URL.
  • Required status*: List2-3 required, List1 and List4-5 optional.
O*
Creative Landing
message.items.landing
  • Landing connected when the promotional area is clicked.
  • Landing can be registered.
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.
X
Button2
message.buttons
  • When share flag (message.shareFlag) is set, operates as Share button.
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

Carousel commerce (CAROUSEL_COMMERCE_MESSAGE)

  • Divided into intro and carousel (1-6).
  • When intro is included, carousel1 is required; when not included, carousel1-2 are required.
Intro
Component and Field PathSpecificationRequired
Title
message.introCarousel.messageTitle
  • Character count: Maximum 20 characters, links cannot be entered, line breaks not allowed.
O
Promotional Image
message.introCarousel.imageUrl
  • Only images that comply with Promotional area common specifications can be applied.
  • Recommended size: 800x400 (2:1 ratio), 800x800 (1:1 ratio), 800x600 (4:3 ratio).
  • Landing: Connects to registered intro landing URL.
O
Promotional Text
message.introCarousel.description
  • Character count: Maximum 50 characters, links cannot be entered, line breaks not allowed.
  • Landing: Connects to registered intro URL.
O
Intro Landing URL
message.introCarousel.landing
  • When separate URL landing is needed for PC KakaoTalk, intro PC landing URL can be additionally registered.
X
Carousel
Component and Field PathSpecificationRequired
Title
message.carousels.messageTitle
  • Character count: Maximum 25 characters, links cannot be entered, line breaks not allowed.
O
Promotional Image
message.carousels.imageUrl
  • Only images that comply with Promotional area common specifications can be applied.
  • Recommended size: 800x400 (2:1 ratio), 800x800 (1:1 ratio), 800x600 (4:3 ratio).
  • Landing: Connects to Button1 landing URL.
O
Promotional Text
message.carousels.description
  • 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-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-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%-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-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-2 required, Carousel3-6 optional.
Component and Field PathSpecificationRequired
Title
message.carousels.messageTitle
  • Character count: Maximum 20 characters, links cannot be entered, line breaks not allowed.
  • Landing: Connects to Button1 landing URL.
O
Promotional Image
message.carousels.imageUrl
  • Only images that comply with Promotional area common specifications can be applied.
  • All carousel1-6 must register images with the same ratio.
  • Recommended size: 800x400 (2:1 ratio), 800x600 (4:3 ratio).
  • Landing: Connects to Button1 landing URL.
O
Promotional Text
message.carousels.description
  • Up to 180 characters can be entered, links cannot be entered, and line breaks: up to 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 PathSpecification
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 up to 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-3 required, Item4-7 optional.
Component and Field PathSpecificationRequired
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.
  • Line breaks: Maximum 1.
X
Item Promotional Area
message.catalog.imageUrl
  • Only images that comply with Promotional area common specifications can be applied.
  • Recommended size: 800x400 (2:1 ratio), 800x600 (4:3 ratio).
  • Landing: Connects to registered item landing URL.
  • Required status*: Item1-3 required, Item4-7 optional.
O*
Item Title
message.items.title
  • Character count: Maximum 20 characters, links cannot be entered, line breaks not allowed.
O*
Item Promotional Text
message.item.description
  • Character count: Maximum 22 characters, links cannot be entered, line breaks not allowed.
  • Landing: Connects to Button1 landing URL.
  • Required status*: Item1-3 required, Item4-7 optional.
O*
Price Label
message.pricelabel.title
  • Character count: Maximum 4 characters for regular price, maximum 5 characters for highlighted price, links cannot be entered.
O
Creative Landing
message.items.landing
  • Landing connected when the catalog item is selected.
  • Landing can be registered.
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.
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

Promotional area common specifications

  • Image
    • Format: JPG, JPEG, PNG
    • Size: Width greater than 80px (recommended: 800x400, 800x800, 800x600)
    • Capacity: 10MB or less
    • 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.

Save message ad

Basic information
MethodURLAuthorization
POSThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/messageBusiness token

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.

Send a POST request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, the response includes detailed information of the created message. If failed, see Error code.

This API is limited to 1 request per second per user account and ad account.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Body
NameTypeDescriptionRequired
nameStringMessage name
Maximum 50 characters
X
ageVerificationBooleanWhether age verification is required for the message
  • true: Age verification required message
  • false: Regular message (default)
X
messageMessageMessage information to createO

Response

Body

Sample

Request
curl -X POST "https://apis.moment.kakao.com/openapi/message/v2/message-ads/message" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json" \
-d '{
"name": "Message_Ad_Test_Basic_Text",
"ageVerification": false,
"message": {
"type": "BASIC_TEXT_MESSAGE",
"description": "Promotional Text",
"shareFlag": true,
"adFlag": true,
"items": [
{
"imageUrl": "https://partner.com/img/message/001.jpg"
}
],
"buttons": [
{
"title": "Button 1 Name",
"pcLandingUrl": "https://daum.net/1",
"mobileLandingUrl": "https://daum.net/1"
},
{
"title": "Button 2 Name",
"pcLandingUrl": "https://daum.net/1",
"mobileLandingUrl": "https://daum.net/1"
}
],
"couponBook": {
"couponBookTitleType": "UPGRADE",
"couponBookTitle": "Coupon Title",
"title": "Coupon Detailed Description",
"pcLandingUrl": "https://daum.net",
"mobileLandingUrl": "https://daum.net"
}
}
}'
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"messageAdId": "msg-ad-1402922220759433217",
"name": "Message_Ad_Test_Basic_Text",
"type": "BASIC_TEXT_MESSAGE",
"description": "Promotional Text",
"items": [
{
"imageUrl": "https://partner.com/img/message/001.jpg"
}
],
"buttons": [
{
"title": "Button 1 Name",
"pcLandingUrl": "https://daum.net/1",
"mobileLandingUrl": "https://daum.net/1"
},
{
"title": "Button 2 Name",
"pcLandingUrl": "https://daum.net/1",
"mobileLandingUrl": "https://daum.net/1"
}
],
"couponBook": {
"title": "Coupon Detailed Description",
"pcLandingUrl": "https://daum.net",
"mobileLandingUrl": "https://daum.net",
"couponBookTitle": "Coupon Title",
"couponBookTitleType": "UPGRADE"
},
"ageVerification": false,
"adFlag": true,
"shareFlag": true
}

Edit message

Basic information
MethodURLAuthorization
PATCHhttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/messageBusiness token

Modifies the message ad content that will be sent from the Kakao Talk Channel.

The message modification policy is as follows:

  • Must be in the same format as the existing message.
  • After 5 minutes before the scheduled send time, only the message name can be modified. Other parameters except the name are ignored.
  • Images and text that do not match the message execution guide cannot be used.

The availability and required status of parameters differ depending on the message type (type). For related detailed information, refer to Message type components.

Send a PATCH request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, the response includes detailed information of the modified message. If failed, see Error code.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Path variable
NameTypeDescriptionRequired
MESSAGE_AD_IDStringMessage ad number (messageAdId)O
Body
NameTypeDescriptionRequired
nameStringMessage name
Maximum 50 characters
X
ageVerificationBooleanWhether age verification is required for the message
  • true: Age verification required message
  • false: Regular message
If not specified, automatically set to false
X
messageMessageMessage information to createO

Response

Body

Sample

Request
curl -X PATCH "https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/message" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json" \
-d '{
"name": "MessageAd_Test_Basic_Text",
"ageVerification": false,
"message": {
"type": "BASIC_TEXT_MESSAGE",
"title": "Promotional text changed",
"shareFlag": true,
"adFlag": false,
"items": [
{
"imageUrl": "https://partner.com/img/message/001.jpg"
}
],
"buttons": [
{
"title": "Button 1 Name",
"pcLandingUrl": "https://daum.net/1",
"mobileLandingUrl": "https://daum.net/1"
},
{
"title": "Button 2 Name",
"pcLandingUrl": "https://daum.net/1",
"mobileLandingUrl": "https://daum.net/1"
}
],
"couponBook": {
"couponBookTitleType": "UPGRADE",
"couponBookTitle": "Coupon Title",
"title": "Coupon Detail Description",
"pcLandingUrl": "https://daum.net",
"mobileLandingUrl": "https://daum.net"
}
}
}'
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"messageAdId": "msg-ad-1195179794616258561",
"name": "MessageAd_Test_Basic_Text",
"type": "BASIC_TEXT_MESSAGE",
"title": "Promotional text changed",
"items": [
{
"imageUrl": "https://t1.kakaocdn.net/b2/creative/56493/3912ceec1584f2ec1ccf8fad73145254.jpg"
}
],
"buttons": [
{
"title": "Button 1 Name",
"pcLandingUrl": "https://daum.net/1",
"mobileLandingUrl": "https://daum.net/1"
},
{
"title": "Button 2 Name",
"pcLandingUrl": "https://daum.net/1",
"mobileLandingUrl": "https://daum.net/1"
}
],
"couponBook": {
"title": "Coupon Detail Description",
"pcLandingUrl": "https://daum.net",
"mobileLandingUrl": "https://daum.net",
"couponBookTitle": "Coupon Title",
"couponBookTitleType": "UPGRADE"
},
"ageVerification": false,
"adFlag": false,
"shareFlag": true
}

Send test message ad

Basic information
MethodURLAuthorization
POSThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/send-testBusiness token

Requests a message test send.

When sending, [Test Send] is added to the promotional text area. Only phone numbers that are friends can be sent, and test sending is limited to 1 time per 30 seconds per user account and ad account.

Send a POST request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, there is no response body. If failed, see Error code.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Path variable
NameTypeDescriptionRequired
MESSAGE_AD_IDStringMessage ad number (messageAdId)O
Body
NameTypeDescriptionRequired
phoneNumbersStringTarget phone number for sending, in 010-1234-5678 formatO

Sample

Request
curl -X POST "https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/send-test" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json" \
-d '{
"phoneNumbers": ["014-0042-4549"]
}'
Response
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8

Create scheduled message ad

Basic information
MethodURLAuthorization
POSThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/sending-reservationBusiness token

Sets the message send start time and send target.

The send start time can be set in 1-minute intervals from 5 minutes after the reservation time. However, since sending starts only after parameter generation is complete, if the start time is set within 1 hour, sending may be delayed depending on the parameter scale.

The send start time can be set from 08:00 to 20:50, and messages that have not been sent after 20:55 are sent after 8 AM the next day.

Message costs differ depending on whether message targeting is set.

  • Non-target: Messages without device/targeting information set, 15 won
  • Target: Messages with at least 1 device/targeting information set, 20 won (however, 15 won when location type Domestic (domestic only) is set)

Send a POST request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, the response includes message ad send reservation information as a JSON object. If failed, see Error code.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Path variable
NameTypeDescriptionRequired
MESSAGE_AD_IDStringMessage ad number (messageAdId)O
Body
NameTypeDescriptionRequired
targetingTargetingTargeting
Gender, age, location targeting can be set
O
dateStringSend start date and time, in yyyy-MM-dd'T'HH:mm formatX
immediateSendBooleanWhether to send immediately
  • true: Send immediately
  • false: Scheduled send
X
pushAlarmBooleanWhether to send push alarm
  • true: Send push alarm
  • false: Do not send push alarm
X
trackIdStringConversion tracking settings, pixel & SDK settings for providing message conversion metricsX
sendRateIntegerDistributed send setting
Set to 0 if you don't want distributed sending
If you want distributed sending, enter the distributed cycle count, one of: 100, 500, 1000, 1500, 2000
X
Targeting
NameTypeDescriptionRequired
typeStringTargeting type
WHOLE: All friends
SMART: Recommended friends
DIRECT: Direct setting
O
devicesString[]Device selection type, one of the following
ANDROID
IOS
X
demographicsDemographics[]Gender, age, location informationX
customsCustomTargeting[]Custom target specificationX
friendPeriodFriendPeriod[]Friend period setting
Send only to users who have been channel friends for the set period
X
ufoInterestsSet<UfoInterest>Custom target > Kakao data > Category > Interests
Refer to Custom target category type lookup
X*
ufoBusinessTypesSet<UfoBusinessType>Custom target > Kakao data > Category > Business type
Refer to Custom target category type lookup
X*
*Read only

Response

Body
NameTypeDescription
messageAdIdStringMessage ad number, identification number assigned when first created
deviceTypesString[]Device type
ANDROID: Android
IOS: iOS
targetingTargetingTargeting information
priceLongSend unit price (unit: won), one of the following
15: No targeting applied
20: Targeting applied
contractCountIntegerPurchase send count, message ad send reservation count
totalBudgetLongPurchase amount, total amount for message ad send reservation
totalBudgetWithVATLongPurchase amount including VAT, amount including VAT in totalBudget
dateStringSend start date and time, in yyyy-MM-dd'T'HH:mm format

View scheduled message ads

Basic information
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/sending-reservationBusiness token

Retrieves detailed information about the message ad send reservation.

Send a GET request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, the response includes detailed information of the message ad send reservation. If failed, see Error code.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Path variable
NameTypeDescriptionRequired
MESSAGE_AD_IDStringMessage ad number (messageAdId)O

Response

Body
NameTypeDescription
messageAdIdStringMessage ad number
Identification number assigned when first created
deviceTypesString[]Device type, one of the following can be specified (all selected when empty array is specified)
ANDROID: Android
IOS: iOS
targetingTargetingTargeting
Gender, age, location targeting can be set
priceLongSend unit price (unit: won), one of the following
15: No targeting applied
20: Targeting applied
contractCountIntegerPurchase send count, message ad send reservation count
totalBudgetLongPurchase amount, total amount for message ad send reservation
totalBudgetWithVATLongPurchase amount including VAT, amount including VAT in totalBudget
dateStringSend start date and time, in yyyy-MM-dd'T'HH:mm format

Edit scheduled message ad

Basic information
MethodURLAuthorization
PATCHhttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/sending-reservationBusiness token

Modifies the message send start time and send target.

Send reservation modification is possible until 5 minutes before the send start time.

Send a PATCH request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, the response includes message ad send reservation information as a JSON object. If failed, see Error code.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Path variable
NameTypeDescriptionRequired
MESSAGE_AD_IDStringMessage ad number (messageAdId)O
Body
NameTypeDescriptionRequired
deviceTypesString[]Device type, one of the following can be specified (all selected when empty array is specified)
ANDROID: Android
IOS: iOS
O
targetingTargetingTargeting
Gender, age, location targeting can be set
O
dateStringSend start date and time, in yyyy-MM-dd'T'HH:mm formatO

Response

Body
NameTypeDescription
messageAdIdStringMessage ad number
Identification number assigned when first created
deviceTypesString[]Device type, one of the following can be specified (all selected when empty array is specified)
ANDROID: Android
IOS: iOS
targetingTargetingTargeting
Gender, age, location targeting can be set
priceLongSend unit price (unit: won), one of the following
15: No targeting applied
20: Targeting applied
contractCountIntegerPurchase send count, message ad send reservation count
totalBudgetLongPurchase amount, total amount for message ad send reservation
totalBudgetWithVATLongPurchase amount including VAT, amount including VAT in totalBudget
dateStringSend start date and time, in yyyy-MM-dd'T'HH:mm format

View targeting locations

Basic information
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/sending-reservation/locationBusiness token

Retrieves detailed information for location settings used in message ad send reservations.

For the complete list, refer to the Administrative District Type Information CSV file (download).

Send a GET request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, the response includes targeting location information. If failed, see Error code.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Query parameter
NameTypeDescriptionRequired
codesStringLocation code
Multiple location codes can be specified as comma-separated strings
(Example: A7000A001,Q20000025)
X

Response

Body
NameTypeDescription
idStringCity/Province value
nameStringdepth1Name of the city/province value
childrenChildren[]Sub-location data
Not provided when query parameter codes is used
deprecatedBooleanWhether 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
NameTypeDescription
idStringLocation value
nameStringLocation name
childrenChildren[]Sub-location data
deprecatedBooleanWhether the location information is deleted, true means deleted location and is only included in the response when codes is included in the query parameter

Sample

Request
curl -X GET "https://apis.moment.kakao.com/openapi/message/v2/message-ads/sending-reservation/location" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
Request: Specify location codes
curl -v -G GET "https://apis.moment.kakao.com/openapi/message/v2/message-ads/sending-reservation/location" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json" \
-d "codes=A7000A001,Q20000025"
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"id": "A",
"name": "Gangwon Special Self-Governing Province",
"children": [
{
"id": "A7000",
"name": "Gangneung-si",
"children": [
{
"id": "A7000A001",
"name": "Gangnam-dong"
}
]
}
...
],
...
}
Response: Specify location codes
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
[
{
"id": "A7000A001",
"name": "Gangwon Special Self-Governing Province Gangneung-si Gangnam-dong",
"deprecated": true
},
{
"id": "Q20000025",
"name": "Sejong Special Self-Governing City Sejong-si Haemil-dong",
"deprecated": false
}
]

View targeting audience and price

Basic information
MethodURLAuthorization
POSThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/sending-reservation/targeting-priceBusiness token

Retrieves the available audience and price for sending.

The existing messageAdId setting values are reflected in the lookup or do not affect existing send reservations, and simply refer to the targeting audience and price for the targeting conditions of the API request.

Send a POST request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, the response includes targeting audience and price information. If failed, see Error code.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Path variable
NameTypeDescriptionRequired
MESSAGE_AD_IDStringMessage ad number (messageAdId)O
Body
NameTypeDescriptionRequired
deviceTypesString[]Device type, one of the following can be specified (all selected when empty array is specified)
ANDROID: Android
IOS: iOS
O

Finish message ad

Basic information
MethodURLAuthorization
PUThttps://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/finishBusiness token

Terminates the message ad.

Messages currently being sent will be stopped, and scheduled messages will be cancelled.

Send a PUT request with the business token, ad account ID, and Kakao Talk Channel profile ID in the header. If the request is successful, the response returns only an HTTP 200 status code without a body. If failed, see Error code.

Request

Header
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Authorization method, authenticate with Business token
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account ID
O
channel-profile-idchannel-profile-id: ${CHANNEL_PROFILE_ID}
Kakao Talk Channel profile ID
O
Content-TypeContent-Type: application/json
Request data type
O
Path variable
NameTypeDescriptionRequired
MESSAGE_AD_IDStringMessage ad number (messageAdId)O

Sample

Request
curl -X PUT "https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/finish" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "channel-profile-id: ${CHANNEL_PROFILE_ID}" \
-H "Content-Type: application/json"
Response
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json;charset=UTF-8

Was this helpful?