페이지 이동경로
  • Docs>
  • Message>
  • Concepts

Message

Concepts

This document introduces the Messaging API.

Overview

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.

Sequence diagram of Kakao Talk Sharing API

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.

Sequence diagram of Kakao Talk Messaging API

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.

Android Sharesheet and iOS Share Extension

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

Kakao Talk Sharing API

Kakao Link → Kakao Talk Sharing

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.

Minimum required version of Kakao Talk

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.

  1. Configure the message content by referring to Message Template.
  2. Pass the configured message as a parameter, and call the Kakao Talk Sharing API to send a message.

Kakao Talk Messaging API

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.

  1. Receive Kakao Talk friend information through the Retrieving friends list API, and show the list of friends in the service UI, so that a user can select a friend to send a message.
  2. Configure the message content by referring to Message Template.
  3. Call the Kakao Talk Messaging API according to the configured message type and message targets.

Usage Policy

Request permission

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.

  1. Set the [Send message in KakaoTalk(friends)] scope. Refer to Manage consent items(talk_message).
  2. Implement the feature using APIs that send messages to the Kakao Talk friends.
  3. Test the feature works properly for the team members.

After getting permission, APIs that send messages to the Kakao Talk friends will be available for all service users.

Request permission for the Kakao Talk Social

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.

Quota

Kakao API applies monthly and daily quotas for stable service. You can check the currently applied quota information in the Quota.

Kakao Talk Sharing

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.

Kakao Talk Message

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.

Preference to receive 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.

Firewall and ACL

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.

Features

  • Refer to Scope of support to know whether each Kakao SDK supports each feature.

Kakao Talk Sharing

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

Kakao Talk Message

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