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

kakao developers

Related sites
  • Docs
  • Message Template
  • Default template

사이드 메뉴

Kakao Map

Search

Message Template

Default template

This document explains how to compose messages to send with the Kakao Talk Message API and the Kakao Talk Share API using predefined default templates.

A default template is a template in which a message is written in object form according to a fixed format. For details, see Concepts.

How to use

  1. After deciding which message template to use by referring to Template types, compose the template object according to the defined format of the desired template below.
  2. Web links and app links in messages sent with a default template are allowed to connect only to the domains and schemes below that are registered in Product Link on the app management page. For the details, see each document.
  3. When calling the Kakao Talk Message API or the Kakao Talk Share API, pass the composed template object using the parameter name defined for each language. For examples of each item and development documents by platform, see the respective documents.
Default template link settings when changing default native app scheme

If you change the default native app scheme, the schemes allowed for app links in the default template are also changed together. In this case, link connection errors may occur in messages, so you must check the impact and take necessary actions in advance.

Feed template

To use the Feed template, you must compose the object as follows.

NameTypeDescriptionRequired
object_typeStringFixed as feed.O
contentContentMain content information of the message.O
item_contentItemContentContent to include in the item area.
Used when composing as Feed Type B.
X
socialSocialSocial information about the content.X
button_titleStringSet when you want to change the default button title ("View details").X
buttonsButtons[]Button list, maximum 2.
Used when you want to change button title and link,
or when you want to add two buttons.
X
// Example of template_object composition for Feed template message
{
"object_type": "feed",
"content": {
"title": "Today's Dessert",
"description": "Americano, Bread, Cake",
"image_url": "https://mud-kage.kakao.com/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
"image_width": 640,
"image_height": 640,
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net",
"android_execution_params": "contentId=100",
"ios_execution_params": "contentId=100"
}
},
"item_content" : {
"profile_text" :"Kakao",
"profile_image_url" :"https://mud-kage.kakao.com/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
"title_image_url" : "https://mud-kage.kakao.com/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
"title_image_text" :"Cheese cake",
"title_image_category" : "Cake",
"items" : [
{
"item" :"Cake1",
"item_op" : "1000원"
},
{
"item" :"Cake2",
"item_op" : "2000원"
},
{
"item" :"Cake3",
"item_op" : "3000원"
},
{
"item" :"Cake4",
"item_op" : "4000원"
},
{
"item" :"Cake5",
"item_op" : "5000원"
}
],
"sum" :"Total",
"sum_op" : "15000원"
},
"social": {
"like_count": 100,
"comment_count": 200,
"shared_count": 300,
"view_count": 400,
"subscriber_count": 500
},
"buttons": [
{
"title": "Go to Web",
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net"
}
},
{
"title": "Go to App",
"link": {
"android_execution_params": "contentId=100",
"ios_execution_params": "contentId=100"
}
}
]
}'

List template

To use the List template, you must compose the object as follows.

NameTypeDescriptionRequired
object_typeStringFixed as list.O
header_titleStringMain title displayed at the top of the list, maximum 200 characters.O
header_linkLinkLink information corresponding to the header title content.O
contentsContent[]Content list displayed in the list, minimum 2 required, maximum 3.O
button_titleStringSet when you want to change the default button title ("View details").X
buttonsButtons[]Button list, maximum 2.
Used when you want to change button title and link, or when you want to add two buttons.
X
// Example of template_object composition for List template message
{
"object_type": "list",
"header_title": "WEEKLY MAGAZINE",
"header_link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net",
"android_execution_params": "main",
"ios_execution_params": "main"
},
"contents": [
{
"title": "Space for Bicycle Riders",
"description": "Magazine",
"image_url": "https://mud-kage.kakao.com/dn/QNvGY/btqfD0SKT9m/k4KUlb1m0dKPHxGV8WbIK1/openlink_640x640s.jpg",
"image_width": 640,
"image_height": 640,
"link": {
"web_url": "http://www.daum.net/contents/1",
"mobile_web_url": "http://m.daum.net/contents/1",
"android_execution_params": "/contents/1",
"ios_execution_params": "/contents/1"
}
},
{
"title": "Oreo Cappuccino with Amazing Visual",
"description": "Magazine",
"image_url": "https://mud-kage.kakao.com/dn/boVWEm/btqfFGlOpJB/mKsq9z6U2Xpms3NztZgiD1/openlink_640x640s.jpg",
"image_width": 640,
"image_height": 640,
"link": {
"web_url": "http://www.daum.net/contents/2",
"mobile_web_url": "http://m.daum.net/contents/2",
"android_execution_params": "/contents/2",
"ios_execution_params": "/contents/2"
}
},
{
"title": "Atmosphere Full of Sensibility",
"description": "Magazine",
"image_url": "https://mud-kage.kakao.com/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
"image_width": 640,
"image_height": 640,
"link": {
"web_url": "http://www.daum.net/contents/3",
"mobile_web_url": "http://m.daum.net/contents/3",
"android_execution_params": "/contents/3",
"ios_execution_params": "/contents/3"
}
}
],
"buttons": [
{
"title": "Go to Web",
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net"
}
},
{
"title": "Go to App",
"link": {
"android_execution_params": "main",
"ios_execution_params": "main"
}
}
]
}'
* header_image_url, header_image_width, header_image_height: Deprecated. For header background image, see Notice.

Commerce template

To use the Commerce template, you must compose the object as follows.

NameTypeDescriptionRequired
object_typeStringFixed as commerce.O
contentContentContent information of the message.O
commerceCommerceProduct name and price information.O
button_titleStringSet when you want to change the default button title ("View details").X
buttonsButtons[]Button list, maximum 2.
Used when you want to change button title and link, or when you want to add two buttons.
X
// Example of template_object composition for Commerce template message
{
"object_type": "commerce",
"content": {
"title": "Ivory long dress (4 Color)",
"image_url": "https://mud-kage.kakao.com/dn/RY8ZN/btqgOGzITp3/uCM1x2xu7GNfr7NS9QvEs0/kakaolink40_original.png",
"image_width": 640,
"image_height": 640,
"link": {
"web_url": "https://style.kakao.com/main/women/contentId=100",
"mobile_web_url": "https://style.kakao.com/main/women/contentId=100",
"android_execution_params": "contentId=100",
"ios_execution_params": "contentId=100"
}
},
"commerce": {
"regular_price": 208800,
"discount_price": 146160,
"discount_rate": 30
},
"buttons": [
{
"title": "Buy now",
"link": {
"web_url": "https://style.kakao.com/main/women/contentId=100/buy",
"mobile_web_url": "https://style.kakao.com/main/women/contentId=100/buy",
"android_execution_params": "contentId=100&buy=true",
"ios_execution_params": "contentId=100&buy=true"
}
},
{
"title": "Share",
"link": {
"web_url": "https://style.kakao.com/main/women/contentId=100/share",
"mobile_web_url": "https://style.kakao.com/main/women/contentId=100/share",
"android_execution_params": "contentId=100&share=true",
"ios_execution_params": "contentId=100&share=true"
}
}
]
}

Location template

To use the Location template, you must compose the object as follows.

NameTypeDescriptionRequired
object_typeStringFixed as location.O
addressStringAddress of the location to share.
(Example: 235, Pangyoyeok-ro, Bundang-gu, Seongnam-si, Gyeonggi-do.)
O
address_titleStringTitle used in the map view in KakaoTalk.
(Example: Kakao Pangyo Office.)
X
contentContentContent information describing the location.O
socialSocialAdditional social information.X
button_titleStringSet when you want to change the default button title ("View details").X
buttonsButtons[]Button list, up to 2.
Used when you want to change the button title and link, or add two buttons.
X
// Example of template_object composition for Location template message
{
"object_type": "location",
"content": {
"title": "Kakao Pangyo Office",
"description": "Location of Kakao Pangyo Office.",
"image_url": "https://mud-kage.kakao.com/dn/drTdbB/bWYf06POFPf/owUHIt7K7NoGD0hrzFLeW0/kakaolink40_original.png",
"image_width": 800,
"image_height": 800,
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile",
"android_execution_params": "platform=android",
"ios_execution_params": "platform=ios"
}
},
"buttons": [
{
"title": "View on Web",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile"
}
}
],
"address": "235 Pangyo Station-ro, Bundang-gu, Seongnam-si, Gyeonggi-do, H Square N Building 7th Floor",
"address_title": "Kakao Pangyo Office"
}

Text template

To use the Text template, you must compose the object as follows.

NameTypeDescriptionRequired
object_typeStringFixed as text.O
textStringText information, maximum 200 characters.O
linkLinkLink information to move when content is clicked.O
button_titleStringSet when you want to change the default button title ("View details").X
buttonsButtons[]Button list, maximum 2.
Used when you want to change button title and link, or when you want to add two buttons.
X
// Example of template_object composition for Text template message
{
"object_type": "text",
"text": "This is the text area. You can display up to 200 characters.",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com"
},
"button_title": "Check now"
}

Calendar template

To use the Calendar template, you must compose the object as follows.

NameTypeDescriptionRequired
object_typeStringFixed as calendar.O
id_typeStringType of id, one of event (public schedule) or calendar (subscription calendar).

Important: Depending on id_type, the default button in outputs the following specified text.
  • Public event ID: [Schedule registration].
  • Subscription calendar ID: [Calendar subscription].
O
idStringPublic event or Subscribed calendar ID.O
contentContentSchedule title and description.O
buttonsButtons[]User-defined button information, maximum 1 button information only.
Calendar messages provide a default button for adding public schedules or subscribing to subscription calendars, and 1 user-defined button can be optionally added.
X
// Example of template_object composition for Calendar template message
{
"object_type": "calendar",
"content": {
"title": "Schedule title",
"description": "Schedule description",
"image_url": "https://developers.kakao.com/static/images/pc/txt_visual1.png",
"link": {
"web_url": "https://kakao.com"
}
},
"buttons": [
{
"title": "View schedule information",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile"
}
}
],
"id_type": "event",
"id": "6351f57c7ec8e318d0b809a0"
}

Common components

This section describes the common components that make up message templates.

Content

This object contains the basic content information of the message, such as message title, body, and image information.

For images, they must be passed as URLs and must comply with RFC2396, RFC1034, and RFC1123. Image URLs that do not comply with the specifications will not display images.

NameTypeDescriptionRequired
titleStringTitle of the contentO*
image_urlStringImage URL of the contentO*
image_widthIntWidth of the content image in pixelsX
image_heightIntHeight of the content image in pixelsX
descriptionStringDetailed description of the content, displayed up to 4 lines combined with the titleO*
linkLinkLink information to navigate to when the content is clickedO
* One of title, image_url, or description is required

Button

This object contains information about buttons included in the message. It defines the button text and actions when clicked.

When composing a message, if both buttonTitle and buttons are provided, buttons takes precedence. If neither is provided, one button is composed with the default title and link information from content.

NameTypeDescriptionRequired
titleStringButton titleO
linkLinkLink information to move to when the button is clicked (at least one is required)O

Link

The object contains link information used when a user selects the content area or a button in a message.

The web link and app link of the default template apply the default web domain and the default native app scheme configured in [App] > [Product Link] on the app management page. For the details, see each corresponding item.

Links can be configured per platform, and an appropriate link is applied according to the user’s Kakao Talk execution environment. Web links are supported on PC/Mac, Android, and iOS, while Android and iOS app links are applied to buttons only on their respective platforms. For the details, see the link behavior.

To apply a link to a message, at least one field of link must be configured. If no link is configured, or if a configured link is not supported in the user’s Kakao Talk execution environment, the link is not applied to the message content area or the button is not displayed.

NameTypeDescriptionRequired
web_urlStringWeb link URL used in Kakao Talk for PC version.
The domain part must match the domain registered in [App] > [Product Link] > Web domain.
O*
mobile_web_urlStringWeb link URL used in Kakao Talk for mobile.
The domain part must match the domain registered in [App] > [Product Link] > Web domain.
O*
android_execution_paramsStringParameters used in the app link URL for Kakao Talk on Android.
If this value is not provided, mobile_web_url is used.
O*
ios_execution_paramsStringParameters used in the app link URL for Kakao Talk on iOS.
If this value is not provided, mobile_web_url is used.
O*
* One of web_url, mobile_web_url, android_execution_params, or ios_execution_params is required.

Social

This object is used to display areas that show social metrics such as likes, comments, shares, views, and subscriber counts for content.

NameTypeDescriptionRequired
like_countIntNumber of likes for the contentX
comment_countIntNumber of comments for the contentX
shared_countIntNumber of shares for the contentX
view_countIntNumber of views for the contentX
subscriber_countIntNumber of subscribers for the contentX

ItemContent

This is text item information that can be used in Feed Type B templates.

NameTypeDescriptionRequired
profile_textStringText displayed in the header or profile area.
If profile_image_url is not provided, only a bold title is shown as the header.
Up to 16 characters.
X
profile_image_urlStringImage displayed in the profile area.
Shown as a small circular profile photo.
X
title_image_textStringTitle of the image item.
Up to 2 lines, up to 24 characters.
X
title_image_urlStringImage of the image item.
Image size:
  • iOS: 108x108
  • Android: 98x98
Images not in 1:1 ratio are center cropped.
X
title_image_categoryStringCategory information displayed in gray text below the image item title.
Up to 1 line, up to 14 characters.
X
itemsItemInfo[]Information for each text item.
JSON array including item and item_op for item name and price, up to 5 items supported.
(Example: [{"item": "item1 name", "item_op": "item1_description"}, {"item": "item2 name", "item_op": "item2_description"}])

Note: Feed Type B [G] area
X
sumStringSummary title for the item area, such as order amount or payment amount.
Displayed below the text item area, up to 6 characters.

Note: Feed Type B [H] area
X
sum_opStringTotal price information for the item area.
Displayed in bold below the text item area, up to 11 characters.

Note: Feed Type B [H] area
X

ItemInfo

This is information about one text item in the text item list.

NameTypeDescriptionRequired
itemStringItem name
Up to 6 characters.
O
item_opStringItem price
Allowed characters: numbers, currency symbols, commas (,), periods (.), spaces.
If including decimal amounts, up to 2 decimal places is recommended.
Up to 2 lines: 14 characters for 1 line, 25 characters for 2 lines.
O

Commerce

This is text item information that can represent product information.

NameTypeDescriptionRequired
product_nameStringProduct name and title, up to 2 lines.
Displayed above the product price in black text.
X
regular_priceIntRegular priceO
discount_priceIntDiscounted priceX
discount_rateIntDiscount rateX
fixed_discount_priceIntFixed discount price, cannot be used with discount rateX
currency_unitStringCurrency unit or symbol (Example: won, USD, ₩, $)
(Default: won)
X
currency_unit_positionIntPosition of the currency unit
  • 0: after the price
  • 1: before the price
(Default: 0)
X

Was this helpful?