This document introduces the Messaging API.
The Messaging API allows users to send Kakao Talk messages to Kakao Talk friends and share information, which attracts more users to the service through messages. Because the message delivered through the Messaging API contains the applicationA project for your service registered on Kakao platform, used for authentication, quota limits and permission management to use Kakao APIs. ("app") information registered in Kakao Developers, users can visit the service website or app through the message.
According to the characteristics of the contents to be shared, you can configure the Kakao Talk message to be sent through the Messaging API with the various templates provided as a default, such as Feed, List, Location, Commerce, Text, and Scrape template. You can also customize a message by creating a custom template in the Message Template Builder. To learn more about the types of messages and how to create a message template, refer to Message Template.
There are two ways to send a message using the Messaging API:
The differences between the Kakao Talk Sharing API and the Kakao Talk Messaging API are summarized as follows.
Description | Kakao Talk Sharing API | Kakao Talk Messaging API |
---|---|---|
Kakao Talk friends list page | Display the Kakao Talk friends list on the Kakao Talk application. | Need to implement a list of Kakao Talk friends or UI internally through the Retrieving list of friends API. |
Range of friends you can send messages | All friends of Kakao Talk. | Friends only who meet the Usage Policy of the Retrieving list of friends API. |
Open the Kakao Talk app to send a message | Required | Not required |
Subject that sends a message request | Kakao Talk Messaging | Service client or server |
Need to request permission and review | Not required | Required |
Can implement with a REST API | Unavailable | Available |
Checking Message delivery status | Need to implement the Kakao Talk Sharing success callback function. | Can check the API response. |
If a user's Kakao Account is not linked to Kakao Talk, which means the user is not a Kakao Talk user, an error returns when you request to send a message because both APIs use the Kakao Talk app to send a message. While the Kakao Talk Sharing API launches the Kakao Talk application from the client-side and sends a Kakao Talk message, the Kakao Talk Messaging API allows you to send a message from the service client or server without launching the Kakao Talk application.
The Kakao Talk Sharing API provides user interface (UI) to show a list of Kakao Talk friends along with the Kakao Talk friends information. Thus, when you use the Kakao Talk Sharing API, you do not have to implement a separate UI such as a web or mobile page or Kakao Talk where users can select their Kakao Talk friends. In this respect, it would be easier for you to implement the Kakao Talk Sharing API compared to the Kakao Talk Messaging API. However, note that Kakao does not provide Kakao Talk friend information as separate data.
On the other hand, the Kakao Talk Messaging API allows users to send a message only to a specified friend among friend information received through the Retrieving list of friends API. The Kakao Talk Messaging API provides Kakao Talk friend information as data, but it does not display the Kakao Talk 'Friends' list. Thus, the service must implement a function to receive and process the user's Kakao Talk friend information and create the list of friends on its own according to its own UI style. Moreover, you must have a permission to use the Retrieving list of friends API and Kakao Talk Messaging API.
You can share a file or simple data through Kakao Talk using Android Sharesheet or iOS Share extension on mobile devices. For more details, refer to the following documents: - Android: Sending simple data to other apps - iOS: Supporting suggestions in your app’s share extension
The API name is changed from 'Kakao Link' to 'Kakao Talk Sharing'. For more detals, refer to Notice.
Kakao Talk Sharing allows users to share specific information or web pages through a Kakao Talk message to their Kakao Talk friends.
The minimum version of Kakao Talk required for Kakao Talk Sharing API to work properly is: - Android, iOS: 10.0.0
The Kakao Talk Sharing API, which is intended for users to easily share information through Kakao Talk messages, is only supported by the Kakao SDK for Javascript, android, and iOS, excluding the REST API which allows users to send messages without going through Kakao Talk.
The process of Kakao Talk Sharing API is broken down into two steps.
The process of sending a message through the Kakao Talk Messaging API is broken down into three steps as follows. To send a message to yourself instead of the Kakao Talk friends, you can skip the Step 1.
Permission is required to use APIs that send messages to the Kakao Talk friends. Before getting permission, the features operate only for team members. To use the features for all users of the service, request permission in [My Application] > [Request for App Permissions].
Complete the following steps before the request.
friends
)] scope. Refer to Manage consent items(talk_message
).After getting permission, APIs that send messages to the Kakao Talk friends will be available for all service users.
To send a message through the Kakao Talk Messaging API, the user's friend information on the Kakao Talk is required. The user's Kakao Talk friend information is provided with features of the Kakao Talk Social as data or a picker. As well as the Kakao Talk Messaging API, the Kakao Talk Social features need permission. It is possible to request both permissions at once.
Kakao API applies monthly and daily quotas for stable service. You can check the currently applied quota information in the Quota.
To increase the applied quota limit for KakaoTalk Shared API, refer to Request for app permissions to request the permission. For other consultation and partnership, contact us separately.
The KakaoTalk Messaging API has a limited quota before you get the permission via Request permission, and the quota limit cannot be increased to protect users from frequent messages.
Ensure that a Kakao Talk message sent through the Kakao Talk Messaging API can be delivered only to the users who allow showing their profile on the Friends list of a service.
Users can change the profile visibility option by selecting [Preferences] at the bottom right of the message sent from the user's friends or on [Manage Connected Services] page. To see more details, refer to Profile visibility settings.
If a user wants to block messages from a service, the user needs to disable the 'Show my profile on Friends list' option. Then, the user is not included in the response of the Retrieving list of friends API, and the user's friends cannot send any messages from the service because the user is not displayed on the Friends list.
If access to the service server is restricted Kakao's server by the firewall or ACL (Access Control List), Kakao Talk Sharing message may not display the image or works slowly.
In this case, you must set the firewall rules or ACL to scrape your web page for Kakao Talk Sharing. Refer to Retrieve Kakao IP list.
Feature | Description | Documentation |
---|---|---|
Send message with default template | Configures a message in JSON format according to the default template type to use and shares it through Kakao Talk. | JavaScript Android iOS Flutter |
Send message with custom template | Customizes a template in [Tools] > [Message Template Builder] and shares it through Kakao Talk. | JavaScript Android iOS Flutter |
Send scrape message with default template | Scraps a web page, configures a message based on the scraped web page information, and then shares it through Kakao Talk. | JavaScript Android iOS Flutter |
Send scrape message with custom template | Scraps a web page, configures a message based on the scraped web page information, and then shares it through Kakao Talk. | JavaScript Android iOS Flutter |
Upload image | Uploads, scrapes or deletes an image for messages. | JavaScript Android iOS Flutter |
Kakao Talk Sharing success callback | Sends a callback request to the callback URL of your server specified in the Kakao Developers when a Kakao Talk Sharing message is successfully sent to the selected users or chatrooms. | Callback |
Feature | Description | Documentation |
---|---|---|
Send message with default template | Sends a message with a default template in JSON format. | REST API JavaScript Android iOS Flutter |
Send message with custom template | Sends a message with a custom template that configured in [Tools] > [Message Template Builder]. | REST API JavaScript Android iOS Flutter |
Send scrape message with default template | Scrape a specific web page and sends a message with a default template in JSON format. | REST API JavaScript Android iOS Flutter |
Send scrape message with custom template | Scrape a specific web page and sends a message with a custom template that configured in [Tools] > [Message Template Builder]. | REST API JavaScript Android iOS Flutter |