This document describes how to integrate Kakao Talk Message APIs into your service with a REST API.
You can test the features described in this document in [Tools] > [REST API Test].
The Kakao Talk Message API only supports sending messages between users within the same service, and the Kakao Talk Social API permission is required to provide the message sending feature to friends. For more details, see Message sending features and How to use.
According to your service's purpose and requirements, you need to decide which API to use first by considering their characteristics and difference.
Kakao Developers provides two types of message sending features: Kakao Talk Share and Kakao Talk Message. Select the feature to use by referring to Message sending features. If you want to use Kakao Talk Message, check the content after Step 2.
You cannot use the Kakao Talk Share APIs with a REST API. To apply the Kakao Talk Share on a web page, use the JavaScript SDK.
Decide which message template to use by referring to Template types.
You can configure a message according to the default template in JSON format or create a custom template in person for your service. Refer to How to use for more details.
Note that the Kakao Talk Message APIs are categorized according to the message targets:
Target | Description |
---|---|
Send to me | Sends a message to the currently logged-in user's Kakao Talk "My Chatroom". This feature can only send messages to the currently logged-in user, not to other users. |
Send to friends | Sends a message to the currently logged-in user's Kakao Talk friends. Important: Additional feature request is required. You need to implement a process to get recipient information through Friends picker or Kakao Talk friends list retrieval API. You can send messages to up to 5 friends at once. There are daily and monthly quotas, so refer to quota. |
To send messages to friends, check the testing and permission request methods in [Kakao Talk Message Permission Request](../kakaotalk-message/common#how-to-use). Also refer to [Usage Policy](../kakaotalk-message/common#policy).
According to the desired message type, the required components of the message and the API to call are different. Refer to Message template components and samples.
Message type | Configuration method | Target | API to call |
---|---|---|---|
Feed, List, Location, Commerce, Text, Calendar | Default template | Me (MyChatroom) | /v2/api/talk/memo/default/send |
Feed, List, Location, Commerce, Text, Calendar | Default template | Friends | /v1/api/talk/friends/message/default/send |
Feed, List, Commerce | Custom template | Me (MyChatroom) | /v2/api/talk/memo/send |
Feed, List, Commerce | Custom template | Friends | /v1/api/talk/friends/message/send |
Scrape | Default template | Me (MyChatroom) | /v2/api/talk/memo/scrap/send |
Scrape | Default template | Friends | /v1/api/talk/friends/message/scrap/send |
Scrape | Custom template | Me (MyChatroom) | /v2/api/talk/memo/scrap/send |
Scrape | Custom template | Friends | /v1/api/talk/friends/message/scrap/send |
Method | URL | Authorization |
---|---|---|
POST |
https://kapi.kakao.com/v2/api/talk/memo/default/send |
Access token |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
- | Register platforms Activate Kakao Login Manage consent items |
Required | Required: Send message in Kakao Talk (talk_message) |
This is an API that sends a message to me by defining components as objects according to predefined template formats. For detailed message configuration methods, see Default template.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} Access token as a type of user authentication. |
O |
Content-Type | Content-Type: application/x-www-form-urlencoded;charset=utf-8 Request data type |
O |
Name | Type | Description | Required |
---|---|---|---|
template_object | Object |
One of Feed, List, Location, Commerce, Text, and Calendar messages. Important: To use the calendar template, you need a public event ID or a subscribed calendar ID. To obtain permission for a public event or a subscribed calendar, request permission. |
O |
Name | Type | Description | Required |
---|---|---|---|
result_code | Integer |
If a message is successfully sent, 0 is returned. |
O |
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "feed",
"content": {
"title": "Dessert pictures",
"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": "http://k.kakaocdn.net/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
"title_image_url": "http://k.kakaocdn.net/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
"title_image_text": "Cheese cake",
"title_image_category": "cake",
"items": [
{
"item": "cake1",
"item_op": "1000 won"
},
{
"item": "cake2",
"item_op": "2000 won"
},
{
"item": "cake3",
"item_op": "3000 won"
}
],
"sum": "total",
"sum_op": "6000 won"
},
"social": {
"like_count": 100,
"comment_count": 200,
"shared_count": 300,
"view_count": 400,
"subscriber_count": 500
},
"buttons": [
{
"title": "",
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net"
}
},
{
"title": "View on App",
"link": {
"android_execution_params": "contentId=100",
"ios_execution_params": "contentId=100"
}
}
]
}'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "list",
"header_title": "WEEKELY 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 bike 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 awesome visuals",
"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": "Emotional atmosphere",
"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": "",
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net"
}
},
{
"title": "View on App",
"link": {
"android_execution_params": "main",
"ios_execution_params": "main"
}
}
]
}'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "location",
"content": {
"title": "Kakao Pangyo Office",
"description": "Kakao Pangyo Office Location입니다.",
"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, Pangyoyeok-ro, Bundang-gu, Seongnam-si, Gyeonggi-do",
"address_title": "Kakao Pangyo Office"
}'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"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": "Purchase",
"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"
}
}
]
}'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "text",
"text": "This is a Text area that displays up to 200 characters.",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com"
},
"button_title": "Check it out"
}'
curl -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "calendar",
"id_type": "event",
"id": "6351f57c7ec8e318d0b809a0",
"content": {
"title": "Fashion show for S/S collection",
"description": "Join this upcoming event! To add this event to your calendar, click [일정 등록 하기].",
"image_url": "https://mud-kage.kakao.com/dn/RY8ZN/btqgOGzITp3/uCM1x2xu7GNfr7NS9QvEs0/kakaolink40_original.png",
"link": {
"web_url":"https://kakao.com"
}
},
"buttons": [
{
"title": "View event",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile"
}
}
]
}'
HTTP/1.1 200 OK
{
"result_code":0
}
Method | URL | Authorization |
---|---|---|
POST |
https://kapi.kakao.com/v2/api/talk/memo/send |
Access token |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
- | Register platforms Activate Kakao Login Manage consent items Message template |
Required | Required: Send message in Kakao Talk (talk_message) |
This is an API that sends messages using custom templates directly configured in [Tools] > [Message Template]. For message configuration methods, see Custom template.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} Access token as a type of user authentication. |
O |
Name | Type | Description | Required |
---|---|---|---|
template_id | String |
Template ID of the custom template registered in [Tools] > [Message Template Builder]. | O |
template_args | Object |
Required when the message template specified by template_id uses user arguments.Pass in key:value format. Cannot overwrite the scrape result. Important: If you do not use this parameter even though the custom template includes user arguments, the part specified as user arguments will be exposed in the message as ${KEY} format. |
X |
Name | Type | Description | Required |
---|---|---|---|
result_code | Integer |
If a message is successfully sent, 0 is returned. |
O |
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/memo/message/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-d "template_id=12345" \
-d 'template_args={"TITLE":"This is the title."}'
HTTP/1.1 200 OK
{
"result_code":0
}
Method | URL | Authorization |
---|---|---|
POST |
https://kapi.kakao.com/v2/api/talk/memo/scrap/send |
Access token |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
- | Register platforms Activate Kakao Login Manage consent items |
Required | Required: Send message in Kakao Talk (talk_message) |
This API configures a scrape message with information scraped from a specified web page and sends a message to the currently logged-in user's Kakao Talk.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} Access token as a type of user authentication. |
O |
Name | Type | Description | Required |
---|---|---|---|
request_url | String |
Web page URL to be scraped. Its domain must match the domain registered on the Kakao Developers. Refer to Scrape message. |
O |
template_id | String |
Template ID of the message template configured in [Tools] > [Message Template]. Used when sending a scrape message based on a message template defined in your service. (Note: Custom template) |
X |
template_args | Object |
Required when the message template specified by template_id uses user arguments.Pass in key:value format. Cannot overwrite the scrape result. Important: If you do not use this parameter even though the custom template includes user arguments, the part specified as user arguments will be exposed in the message as ${KEY} format. |
X |
Name | Type | Description | Required |
---|---|---|---|
result_code | Integer |
If a message is successfully sent, 0 is returned. |
O |
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/scrap/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode "request_url=https://developers.kakao.com"
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/scrap/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode "request_url=https://developers.kakao.com" \
-d "template_id=12345" \
-d 'template_args={"TITLE":"This is the title."}'
HTTP/1.1 200 OK
{
"result_code":0
}
Method | URL | Authorization |
---|---|---|
POST |
https://kapi.kakao.com/v1/api/talk/friends/message/default/send |
Access token |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
Required: Permission |
Register platforms Activate Kakao Login Manage consent items |
Required | Required: Send message in Kakao Talk (talk_message) |
This API sends a message to the currently logged-in user's Kakao Talk using default templates.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} Access token as a type of user authentication. |
O |
Content-Type | Content-Type: application/x-www-form-urlencoded;charset=utf-8 Request data type |
O |
Name | Type | Description | Required |
---|---|---|---|
receiver_uuids | String[] |
uuid obtained through the Friends picker or the Retrieving list of friends API.Up to five uuids are allowed. (Example: 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' ) |
O |
template_object | Object |
Object containing the message components. One of Feed, List, Location, Commerce, Text, and Calendar messages. Important: To use the calendar template, you need a public event ID or a subscribed calendar ID. To obtain permission for a public event or a subscribed calendar, request permission. |
O |
Name | Type | Description | Required |
---|---|---|---|
successful_receiver_uuids | String[] |
Array of uuid s that a message is successfully sent to. |
X |
failure_info | FailureInfo[] |
Returned when you request to send a message to two or more (up to five) recipients and it fails to send some recipients with the HTTP status code 200. If you request to send a message to a single recipient and it fails, only the error code and message are returned without failure_info . |
X |
Name | Type | Description | Required |
---|---|---|---|
code | Integer |
Error code. | O |
msg | String |
Error message. | O |
receiver_uuids | String[] |
Array containing uuid s that are failed to receive a message. |
O |
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"object_type": "feed",
"content": {
"title": "Dessert pictures",
"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": "http://k.kakaocdn.net/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
"title_image_url": "http://k.kakaocdn.net/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",
"title_image_text": "Cheese cake",
"title_image_category": "cake",
"items": [
{
"item": "cake1",
"item_op": "1000 won"
},
{
"item": "cake2",
"item_op": "2000 won"
},
{
"item": "cake3",
"item_op": "3000 won"
}
],
"sum": "total",
"sum_op": "6000 won"
},
"social": {
"like_count": 100,
"comment_count": 200,
"shared_count": 300,
"view_count": 400,
"subscriber_count": 500
},
"buttons": [
{
"title": "",
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net"
}
},
{
"title": "View on App",
"link": {
"android_execution_params": "contentId=100",
"ios_execution_params": "contentId=100"
}
}
]
}'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"object_type": "list",
"header_title": "WEEKELY 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 bike 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 awesome visuals",
"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": "Emotional atmosphere",
"description": "Magazine",
"image_url": "https://mud-kage.kakao.com/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
"image_width": 640,
"image_height": 640
}
],
"buttons": [
{
"title": "",
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net"
}
},
{
"title": "View on App",
"link": {
"android_execution_params": "main",
"ios_execution_params": "main"
}
}
]
}'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"object_type": "location",
"content": {
"title": "Kakao Pangyo Office",
"description": "This is the 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, Pangyoyeok-ro, Bundang-gu, Seongnam-si, Gyeonggi-do",
"address_title": "Kakao Pangyo Office"
}'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"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": "Purchase",
"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"
}
}
]
}'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"object_type": "text",
"text": "This is a Text area that displays up to 200 characters.",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com"
},
"button_title": "Check it out"
}'
curl -X POST "https://kapi.kakao.com/v2/api/talk/friends/message/default/send" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "calendar",
"id_type": "event",
"id": "6351f57c7ec8e318d0b809a0",
"content": {
"title": "Fashion show for S/S collection",
"description": "Join this upcoming event! To add this event to your calendar, click [일정 등록 하기].",
"image_url": "https://mud-kage.kakao.com/dn/RY8ZN/btqgOGzITp3/uCM1x2xu7GNfr7NS9QvEs0/kakaolink40_original.png",
"link": {
"web_url":"https://kakao.com"
}
},
"buttons": [
{
"title": "View event",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile"
}
}
]
}'
HTTP/1.1 200 OK
{
"successful_receiver_uuids": ["abcdefg0001","abcdefg0002","abcdefg0003"]
}
HTTP/1.1 200 OK
{
"successful_receiver_uuids": ["abcdefg0001","abcdefg0002"],
"failure_info":[{
"code": -532,
"msg": "daily message limit per sender has been exceeded.",
"receiver_uuids": ["abcdefg0003"]
}]
}
Method | URL | Authorization |
---|---|---|
POST |
https://kapi.kakao.com/v1/api/talk/friends/message/send |
Access token |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
Required: Permission |
Register platforms Activate Kakao Login Manage consent items Message template |
Required | Required: Send message in Kakao Talk (talk_message) |
This API sends a message to the currently logged-in user's Kakao Talk using custom templates.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} Access token as a type of user authentication. |
O |
Name | Type | Description | Required |
---|---|---|---|
receiver_uuids | String[] |
uuid obtained through the Friends picker or the Retrieving list of friends API.Up to five uuids are allowed. (Example: 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' ) |
O |
template_id | String |
Template ID of the custom template registered in [Tools] > [Message Template Builder]. | O |
template_args | Object |
Required when the message template specified by template_id uses user arguments.Pass in key:value format. Cannot overwrite the scrape result. Important: If you do not use this parameter even though the custom template includes user arguments, the part specified as user arguments will be exposed in the message as ${KEY} format. |
X |
Name | Type | Description | Required |
---|---|---|---|
successful_receiver_uuids | String[] |
Array of uuid s that a message is successfully sent to. |
X |
failure_info | FailureInfo[] |
Returned when you request to send a message to two or more (up to five) recipients and it fails to send some recipients with the HTTP status code 200. If you request to send a message to a single recipient and it fails, only the error code and message are returned without failure_info . |
X |
Name | Type | Description | Required |
---|---|---|---|
code | Integer |
Error code. | O |
msg | String |
Error message. | O |
receiver_uuids | String[] |
Array containing uuid s that are failed to receive a message. |
O |
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
-d "template_id=12345" \
-d 'template_args={"TITLE":"This is the title."}'
HTTP/1.1 200 OK
{
"successful_receiver_uuids": ["abcdefg0001","abcdefg0002","abcdefg0003"]
}
HTTP/1.1 200 OK
{
"successful_receiver_uuids": ["abcdefg0001","abcdefg0002"],
"failure_info":[{
"code": -532,
"msg": "daily message limit per sender has been exceeded.",
"receiver_uuids": ["abcdefg0003"]
}]
}
Method | URL | Authorization |
---|---|---|
POST |
https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send |
Access token |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
Required: Permission |
Register platforms Activate Kakao Login Manage consent items |
Required | Required: Send message in Kakao Talk (talk_message) |
This API configures a scrape message with information scraped from a specified web page and sends a message to friends.
Name | Description | Required |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} Access token as a type of user authentication. |
O |
Name | Type | Description | Required |
---|---|---|---|
receiver_uuids | String[] |
uuid obtained through the Friends picker or the Retrieving list of friends API.Up to five uuids are allowed. (Example: 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' ) |
O |
request_url | String |
Web page URL to be scraped. Its domain must match the domain registered on the Kakao Developers. Refer to Scrape message. |
O |
template_id | String |
Template ID of the message template configured in [Tools] > [Message Template]. Used when sending a scrape message based on a message template defined in your service. (Note: Custom template) |
X |
template_args | Object |
Required when the message template specified by template_id uses user arguments.Pass in key:value format. Cannot overwrite the scrape result. Important: If you do not use this parameter even though the custom template includes user arguments, the part specified as user arguments will be exposed in the message as ${KEY} format. |
X |
Name | Type | Description | Required |
---|---|---|---|
successful_receiver_uuids | String[] |
Array of uuid s that a message is successfully sent to. |
X |
failure_info | FailureInfo[] |
Returned when you request to send a message to two or more (up to five) recipients and it fails to send some recipients with the HTTP status code 200. If you request to send a message to a single recipient and it fails, only the error code and message are returned without failure_info . |
X |
Name | Type | Description | Required |
---|---|---|---|
code | Integer |
Error code. | O |
msg | String |
Error message. | O |
receiver_uuids | String[] |
Array containing uuid s that are failed to receive a message. |
O |
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode "request_url=https://developers.kakao.com"
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode "request_url=https://developers.kakao.com" \
-d "template_id=12345" \
-d 'template_args={"TITLE":"This is the title."}'
HTTP/1.1 200 OK
{
"successful_receiver_uuids": ["abcdefg0001","abcdefg0002","abcdefg0003"]
}
HTTP/1.1 200 OK
{
"successful_receiver_uuids": ["abcdefg0001","abcdefg0002"],
"failure_info":[{
"code": -532,
"msg": "daily message limit per sender has been exceeded.",
"receiver_uuids": ["abcdefg0003"]
}]
}