사이드 메뉴
Getting started
Kakao Developers
Login
Communication
Advertisement
- Concepts
- Ad creation: Ad account
- Ad creation: Campaign
- Ad creation: Ad group
- Targeting for ad group
- Custom audience targeting for ad group
- Ad creation: Creative common
- Ad creation: Display creative
- Ad creation: Message creative
- Ad creation: Personalized message creative
- Bizboard landing settings
- Report
- Message management
- Personalized message management
- Message ad management
- Message ad operation
- Ad View management
- Business Form+ management
- Business Form linkage management
- Pixel & SDK linkage management
- Audience management
- Engagement targeting management
- Customer file management
- Friend group management
- Ad account management
- Reference
- Type information
- Error code
Message ad operation
This document describes how to use the Message ad operation API for Kakao Moment message ads.
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.
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 |
This section provides information about the field path, specifications, and required status for each message type component.
| Component and Field Path | Specification | Required |
|---|---|---|
Promotional Areamessage.items.imageUrl |
| X |
Titlemessage.messageTitle |
| X |
Promotional Textmessage.description |
| O |
Button1message.buttons |
| X |
Button2message.buttons |
| X |
Couponmessage.couponBook |
| X |
| Component and Field Path | Specification | Required |
|---|---|---|
Promotional Areamessage.items.imageUrl |
| O |
Titlemessage.messageTitle |
| X |
Promotional Textmessage.description |
| O |
Creative Landingmessage.items.landing |
| O |
Button1message.buttons |
| X |
Button2message.buttons |
| X |
Couponmessage.couponBook |
| X |
| Component and Field Path | Specification | Required |
|---|---|---|
Promotional Areamessage.items.imageUrl |
| O* |
Titlemessage.messageTitle |
| O |
Item Promotional Textmessage.items.description |
| O* |
Creative Landingmessage.items.landing |
| O |
Button1message.buttons |
| X |
Button2message.buttons |
| X |
Couponmessage.couponBook |
| X |
- Divided into intro and carousel (1-6).
- When intro is included, carousel1 is required; when not included, carousel1-2 are required.
| Component and Field Path | Specification | Required |
|---|---|---|
Titlemessage.introCarousel.messageTitle |
| O |
Promotional Imagemessage.introCarousel.imageUrl |
| O |
Promotional Textmessage.introCarousel.description |
| O |
Intro Landing URLmessage.introCarousel.landing |
| X |
| Component and Field Path | Specification | Required |
|---|---|---|
Titlemessage.carousels.messageTitle |
| O |
Promotional Imagemessage.carousels.imageUrl |
| O |
Promotional Textmessage.carousels.description |
| O |
Carousel Landing URLmessage.carousels.landing |
| O |
Price Informationmessage.carousels.priceAmount |
| O |
Currency Informationmessage.carousels.priceCurrencyCode |
| O |
Discounted Price Informationmessage.carousels.discountedPriceAmount |
| X |
Button1message.carousels |
| O |
Button2message.buttons |
| X |
Moremessage.moreButton |
| X |
- Carousel1-2 required, Carousel3-6 optional.
| Component and Field Path | Specification | Required |
|---|---|---|
Titlemessage.carousels.messageTitle |
| O |
Promotional Imagemessage.carousels.imageUrl |
| O |
Promotional Textmessage.carousels.description |
| O |
Button1message.buttons |
| O |
Button2message.buttons |
| X |
Couponmessage.couponBook |
| X |
Moremessage.moreButton |
| X |
| Component and Field Path | Specification |
|---|---|
Promotional Videomessage.items.video.url | Promotional video URL registered by user. |
Promotional Video Auto Thumbnailmessage.items.video.autoThumbnailUrl | Automatically generated promotional video thumbnail. Thumbnail is set when uploaded thumbnail is not available. |
Promotional Video Upload Thumbnailmessage.items.video.uploadThumbnailUrl | Promotional video upload thumbnail registered by user. |
Titlemessage.messageTitle | Character count: Maximum 20 characters, links cannot be entered, line breaks not allowed. |
Promotional Textmessage.description | Character count: Maximum 76 characters, links cannot be entered, line breaks up to 5. |
Buttonmessage.buttons |
|
Couponmessage.couponBook |
|
- Item1-3 required, Item4-7 optional.
| Component and Field Path | Specification | Required |
|---|---|---|
Titlemessage.catalog.messageTitle |
| O |
Promotional Textmessage.catalog.description |
| X |
Item Promotional Areamessage.catalog.imageUrl |
| O* |
Item Titlemessage.items.title |
| O* |
Item Promotional Textmessage.item.description |
| O* |
Item Price Currency Codemessage.items.priceCurrencyCode |
| O |
Item Pricemessage.items.priceAmount |
| O |
Item Price Namemessage.items.priceName |
| X |
Item Discounted Pricemessage.items.discountedPriceAmount |
| X |
Item Discounted Price Namemessage.items.discountedPriceName |
| X |
Price Labelmessage.pricelabel.title |
| O |
Creative Landingmessage.items.landing |
| O |
Button1message.buttons |
| X |
Couponmessage.couponBook |
| X |
| Component and Field Path | Specification | Required |
|---|---|---|
Titlemessage.messageTitle |
| O |
Promotional Textmessage.description |
| O |
Button Titlemessage.buttonTitle |
| O |
Landing URLmessage.landingUrl |
| O |
Item Promotional Areamessage.items.imageUrl |
| X |
- Image
- Format:
JPG,JPEG,PNG - Size: Width greater than
80px(recommended:800x400,800x800,800x600) - Capacity:
10MBor less - Ratio: Width: Height ratio less than
1:2.5(recommended:2:1,1:1,4:3)
- Format:
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.
| Method | URL | Authorization |
|---|---|---|
POST | https://apis.moment.kakao.com/openapi/message/v2/message-ads/message | 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 |
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.
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| name | String | Message name Maximum 50 characters | X |
| ageVerification | Boolean | Whether age verification is required for the message
| X |
| message | Message | Message information to create | O |
- Responds with ResponseMessage object
Request
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)
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"}}}'
{"name": "Message_Ad_Test_Wide_Image_Video","ageVerification": false,"message": {"type": "WIDE_MESSAGE","messageTitle": "Wide Image Title","description": "Wide Image Promotional Text","adFlag": true,"items": [{"video": {"mediaId": 408}}],"buttons": [{"title": "Button1","pcLandingUrl": "https://daum.net/1","mobileLandingUrl": "https://daum.net/1"}]}}
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}
| Method | URL | Authorization |
|---|---|---|
PATCH | https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/message | 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 |
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.
For parameter conditions by message type, refer to Message type components.
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| MESSAGE_AD_ID | String | Message ad number (messageAdId) | O |
| Name | Type | Description | Required |
|---|---|---|---|
| name | String | Message name Maximum 50 characters | X |
| ageVerification | Boolean | Whether age verification is required for the message
false | X |
| message | Message | Message information to create | O |
- Responds with ResponseMessage object
Request
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)
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}
| Method | URL | Authorization |
|---|---|---|
POST | https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/send-test | 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 |
Sends a test message.
- Can only be sent to phone numbers that are channel friends
- Adds [Test Send] to the promotional text area
This API is limited to one request every 30 seconds per user account and ad account.
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| MESSAGE_AD_ID | String | Message ad number (messageAdId) | O |
| Name | Type | Description | Required |
|---|---|---|---|
| phoneNumbers | String | Target phone number for sending, in 010-1234-5678 format | O |
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 OKContent-Length: 0Content-Type: application/json;charset=UTF-8
| Method | URL | Authorization |
|---|---|---|
POST | https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/sending-reservation | 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 |
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. 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
- 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
Domesticlocation type is set
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| MESSAGE_AD_ID | String | Message ad number (messageAdId) | O |
| Name | Type | Description | Required |
|---|---|---|---|
| targeting | Targeting | Targeting Gender, age, location targeting can be set | O |
| date | String | Send start date and time, in yyyy-MM-dd HH:mm format | O |
| immediateSend | Boolean | Whether to send immediately
| X |
| pushAlarm | Boolean | Whether to send push alarm
| X |
| trackId | String | Conversion tracking settings, pixel & SDK settings for providing message conversion metrics | X |
| sendRate | Integer | Distributed 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 |
| Name | Type | Description | Required |
|---|---|---|---|
| type | String | Targeting typeWHOLE: All friendsSMART: Recommended friendsDIRECT: Direct setting | O |
| devices | String[] | Device selection type, one of the followingANDROIDIOS | X |
| demographics | Demographics[] | Gender, age, location information | X |
| customs | CustomTargeting[] | Custom target specification | X |
| friendPeriod | FriendPeriod[] | Friend period setting Send only to users who have been channel friends for the set period | X |
| ufoInterests | Set<UfoInterest> | Custom target > Kakao data > Category > Interests Refer to Custom target category type lookup | X* |
| ufoBusinessTypes | Set<UfoBusinessType> | Custom target > Kakao data > Category > Business type Refer to Custom target category type lookup | X* |
| Name | Type | Description |
|---|---|---|
| messageAdId | String | Message ad number, identification number assigned when first created |
| deviceTypes | String[] | Device typeANDROID: AndroidIOS: iOS |
| targeting | Targeting | Targeting information |
| price | Long | Send unit price (unit: won), one of the following15: No targeting applied20: Targeting applied |
| contractCount | Integer | Purchase send count, message ad send reservation count |
| totalBudget | Long | Purchase amount, total amount for message ad send reservation |
| totalBudgetWithVAT | Long | Purchase amount including VAT, amount including VAT in totalBudget |
| date | String | Send start date and time, in yyyy-MM-dd HH:mm format |
| Method | URL | Authorization |
|---|---|---|
GET | https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/sending-reservation | 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 |
Returns detailed information about the message ad send reservation.
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| MESSAGE_AD_ID | String | Message ad number (messageAdId) | O |
| Name | Type | Description |
|---|---|---|
| messageAdId | String | Message ad number Identification number assigned when first created |
| deviceTypes | String[] | Device type, one of the following can be specified (all selected when empty array is specified)ANDROID: AndroidIOS: iOS |
| targeting | Targeting | Targeting Gender, age, location targeting can be set |
| price | Long | Send unit price (unit: won), one of the following15: No targeting applied20: Targeting applied |
| contractCount | Integer | Purchase send count, message ad send reservation count |
| totalBudget | Long | Purchase amount, total amount for message ad send reservation |
| totalBudgetWithVAT | Long | Purchase amount including VAT, amount including VAT in totalBudget |
| date | String | Send start date and time, in yyyy-MM-dd HH:mm format |
| Method | URL | Authorization |
|---|---|---|
PATCH | https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/sending-reservation | 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 |
Modifies the message send start time and send target.
Send reservation modification is possible until 5 minutes before the send start time.
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| MESSAGE_AD_ID | String | Message ad number (messageAdId) | O |
| Name | Type | Description | Required |
|---|---|---|---|
| deviceTypes | String[] | Device type, one of the following can be specified (all selected when empty array is specified)ANDROID: AndroidIOS: iOS | O |
| targeting | Targeting | Targeting Gender, age, location targeting can be set | O |
| date | String | Send start date and time, in yyyy-MM-dd HH:mm format | O |
| Name | Type | Description |
|---|---|---|
| messageAdId | String | Message ad number Identification number assigned when first created |
| deviceTypes | String[] | Device type, one of the following can be specified (all selected when empty array is specified)ANDROID: AndroidIOS: iOS |
| targeting | Targeting | Targeting Gender, age, location targeting can be set |
| price | Long | Send unit price (unit: won), one of the following15: No targeting applied20: Targeting applied |
| contractCount | Integer | Purchase send count, message ad send reservation count |
| totalBudget | Long | Purchase amount, total amount for message ad send reservation |
| totalBudgetWithVAT | Long | Purchase amount including VAT, amount including VAT in totalBudget |
| date | String | Send start date and time, in yyyy-MM-dd HH:mm format |
| Method | URL | Authorization |
|---|---|---|
GET | https://apis.moment.kakao.com/openapi/message/v2/message-ads/sending-reservation/location | 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 |
Returns 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).
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| codes | String | Location code Multiple location codes can be specified as comma-separated strings (Example: A7000A001,Q20000025) | X |
| Name | Type | Description |
|---|---|---|
| id | String | City/Province value |
| name | String | depth1Name of the city/province value |
| children | Children[] | 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 |
| 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 |
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}]
| Method | URL | Authorization |
|---|---|---|
POST | https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/sending-reservation/targeting-price | 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 |
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.
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| MESSAGE_AD_ID | String | Message ad number (messageAdId) | O |
| Name | Type | Description | Required |
|---|---|---|---|
| deviceTypes | String[] | Device type, one of the following can be specified (all selected when empty array is specified)ANDROID: AndroidIOS: iOS | X |
| Method | URL | Authorization |
|---|---|---|
PUT | https://apis.moment.kakao.com/openapi/message/v2/message-ads/${MESSAGE_AD_ID}/finish | 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 |
Terminates the message ad.
Messages currently being sent will be stopped, and scheduled messages will be cancelled.
| Name | Description | Required |
|---|---|---|
| Authorization | Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}Authorization method, authenticate with Business token | O |
| adAccountId | adAccountId: ${AD_ACCOUNT_ID}Ad account ID | O |
| channel-profile-id | channel-profile-id: ${CHANNEL_PROFILE_ID}Kakao Talk Channel profile ID | O |
| Content-Type | Content-Type: application/jsonRequest data type | O |
| Name | Type | Description | Required |
|---|---|---|---|
| MESSAGE_AD_ID | String | Message ad number (messageAdId) | O |
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 OKContent-Length: 0Content-Type: application/json;charset=UTF-8