Friend Talk
Friend Talk is a service that enables corporate clients to send “information/advertisement” to KakaoTalk users. Unlike AlimTalk, it can only send messages to users who have been added as KakaoTalk friends. Friend Talk is sent using phone number information, but it is not sent to all registered phone numbers. Instead, it is sent only to users who have added the KakaoTalk channel.
Friend Talk API is as follows.
Note
- Before calling BizMessage API, you must call OAuth 2.0 API in advance.
- Please refer to the Sample Code document for API-specific codes.
- For detailed information on button guides and specifications by message type, please refer to the Appendix. Layout Guide and Message Specs.
Warning
As the staging server is linked to the Kakao operation server and actually sends messages, please be careful to avoid sending messages incorrectly.
Sending Friend Talk
This API is used to send Friend Talk and upload image.
Request
Request Syntax
코드예제Request Syntax of Sending Friend Talk
curl -X POST "https://{base_url}/v2/send/kakao" \
-H "accept: */*" \
-H "authorization: Bearer {oauthToken}" \
-H "Content-Type: application/json" \
-d '{
"message_type": "FT",
"sender_key": "{senderKey}",
"cid": "202210181600001",
"template_code": "TEMPLATE_001",
"phone_number": "01012341234",
"sender_no": "021112222",
"message": "Alim Talk message",
"fall_back_yn": false
}'
Method | URL |
---|---|
POST | https://{base_url}/v2/send/kakao |
Parameter | Type | Required | Class | Category | Description |
---|---|---|---|---|---|
base_url | String | Y |
Operating | General | bizmsg-web.kakaoenterprise.com |
Finance | bizmsg-bank.kakaoenterprise.com |
||||
Stock | bizmsg-stock.kakaoenterprise.com |
||||
Public institution | bizmsg-gov.kakaoenterprise.com |
||||
Staging | General | stg-user.bizmsg.kakaoenterprise.com |
|||
Finance | stg-bizmsg-bank.kakaoenterprise.com |
||||
Stock | stg-bizmsg-stock.kakaoenterprise.com |
||||
Public institution | stg-bizmsg-gov.kakaoenterprise.com |
Request Header
코드예제Request Header of Sending Friend TalkParameter | Type | Required | Description |
---|---|---|---|
accept | MIME | Y |
*/* |
authorization | String | Y |
Bearer {oauthToken} - {oauthToken} : Access token acquired by OAuth 2.0 API |
Content-Type | String | Y |
application/json |
Request Elements
코드예제Request Elements of Sending Friend TalkProperty | Type | Required | Description |
---|---|---|---|
message_type | String | Y |
Message type - text(2) |
ft : Friend Talk |
|||
sender_key | String | Y |
Sender profile key - text(40) |
cid | String | Y |
Defined Key ID by corporate customer |
template_code | String | Y |
The template code registered as the actual message type to be sent - text(30) |
phone_number | String | Y |
Mobile number of recipient (including country code (82 ))- text(16) |
sender_no | String | Y |
Sender(Corporate customer) number - text(16) |
message | String | Y |
Kakao message to be sent to the recipient - text(1000) |
client_id | String | N |
Customer ID - issued upon contract |
user_key | String | N |
KakaoTalk channel user identification key received from KakaoTalk channel bot - text(30) |
price | Integer | N |
Price/amount/payment included in message (to be sent to a user) |
currency_type | String | N |
Currency unit of the price/amount/payment amount included in the message (to be sent to a user) - KRW, USD, EUR etc. |
title | String | N |
Key information to be highlighted in template content - text(50) |
header | String | N |
Subject to display at the top of the message - text(16) |
ad_flag | String | N |
Required information to expose advertisement message - text(1) |
Y (default): to expose |
|||
N : Not to expose |
|||
timeout | Integer | N |
Time to determine success in polling transmission |
Array | N |
List of button | |
chat_event | String | N |
The name of the bot event to be connected when switching bots |
chat_extra | String | N |
Meta-information to be delivered when switching Counseling Talk/Bot |
name | String | Y |
Button title |
scheme_android | String | N |
Application custom scheme to be executed when a button is clicked on Android mobile device |
scheme_ios | String | N |
Application custom scheme to be executed when a button is clicked on iOS mobile device |
type | String | Y |
Button type |
url_mobile | String | N |
URL to go to when a button is clicked in a mobile environment |
url_pc | String | N |
URL to go to when a button is clicked on a PC |
Array | N |
List of quick reply | |
chat_event | String | N |
The name of the bot event to be connected when switching bots |
chat_extra | String | N |
Meta-information to be delivered when switching Counseling Talk/Bot |
name | String | Y |
Button title |
scheme_android | String | N |
Application custom scheme to be executed when a button is clicked on Android mobile device |
scheme_ios | String | N |
Application custom scheme to be executed when a button is clicked on iOS mobile device |
type | String | Y |
Button type |
url_mobile | String | N |
URL to go to when a button is clicked in a mobile environment |
url_pc | String | N |
URL to go to when a button is clicked on a PC |
biz_no | String | N |
Identification code of the original sender (For reselling purpose) |
fall_back_yn | Boolean | Y |
Whether to send alternative messages |
true : to use |
|||
false (default): not to use |
|||
fall_back_message_type | String | N |
Message type of alternative message - text(2) |
SM : SMS |
|||
LM : LMS |
|||
fall_back_title | String | N |
Title of alternative message |
fall_back_message | String | N |
Texts to be included in alternative message - text(2000) |
Image | N |
Image | |
img_link | String | N |
KakaoTalk image viewer link to be moved when the clicked image does not have a URL to go. |
img_url | String | Y |
Image to be shown |
Item | N |
List of item and summary | |
Array | Y |
Item list | |
Object | N |
Item summary | |
Object | N |
Item Highlight | |
title | String | Y |
Title - Up to 21 characters if there is an image - text(30) |
description | String | Y |
Additional info - Up to 13 characters if there is an image - text(19) |
tax_cd1 | String | N |
Settlement Code 1 - Variables defined by the customer for settlement - text(50) |
tax_cd2 | String | N |
Settlement Code 2 - Variables defined by the customer for settlement - text(50) |
Response
Response Syntax
코드예제Response Syntax of Sending Friend Talk
{
"code": "200",
"uid": "",
"cid": "",
"result": {
"detail_code": "NRM0000",
"detail_message": "success"
}
}
Response Elements
코드예제Response Elements of Sending Friend TalkField | Type | Required | Description |
---|---|---|---|
code | String | Y |
Message delivery result code |
100 : In processing |
|||
200 : Success |
|||
400 : Authorization error |
|||
410 : Invalid input value |
|||
420 : File/image error |
|||
500 : Internal system error |
|||
510 : Failed to send |
|||
520 : Failed but can be resent |
|||
uid | String | N |
Key ID of the message |
cid | String | N |
Defined Key ID by customer |
Object | N |
Detailed result(For reference) | |
detail_code | String | N |
Detailed message delivery result(For reference) |
detail_message | String | N |
Detailed result message(For reference) |
Note
Please refer to the Sample Code document for API-specific codes.
Uploading General Image to Friend Talk
This API is used to upload images before sending Friend Talk.
Request
Request Syntax
코드예제Request Syntax of Uploading General Image to Friend Talk
curl -X POST "http://{base_url}/v2/upload/ft/image" \
-H "accept: */*" \
-H "authorization: Bearer {oauthToken}" \
-H "Content-Type: multipart/form-data" \
-F "image=@FT_IMAGE.png;type=image/png"
Method | URL |
---|---|
POST | http://{base_url}/v2/upload/ft/image |
Parameter | Type | Required | Class | Category | Description |
---|---|---|---|---|---|
base_url | String | Y |
Operating | General | bizmsg-web.kakaoenterprise.com |
Finance | bizmsg-bank.kakaoenterprise.com |
||||
Stock | bizmsg-stock.kakaoenterprise.com |
||||
Public institution | bizmsg-gov.kakaoenterprise.com |
||||
Staging | General | stg-user.bizmsg.kakaoenterprise.com |
|||
Finance | stg-bizmsg-bank.kakaoenterprise.com |
||||
Stock | stg-bizmsg-stock.kakaoenterprise.com |
||||
Public institution | stg-bizmsg-gov.kakaoenterprise.com |
Request Header
코드예제Request Header of Uploading General Image to Friend TalkParameter | Type | Required | Description |
---|---|---|---|
accept | String | Y |
*/* |
authorization | String | Y |
Bearer {oauthToken} - {oauthToken} : Access token acquired by OAuth 2.0 API |
Content-Type | String | Y |
application/json |
Request Elements
코드예제Request Elements of Uploading General Image to Friend TalkProperty | Type | Required | Description |
---|---|---|---|
Image | File | Y |
Image to upload |
Image Specification
코드예제Image Specification of Uploading General Image to Friend TalkCategory | Description |
---|---|
Recommend size | 720px*720px |
limited size | Upload is not possible in the following cases: - If the width is less than 500px - if the width:lenght ratio is less than 2:1 or over than 3:4 |
File format | jpg , png |
File size | Up to 500KB |
Response
Response Syntax
코드예제Response Syntax of Uploading General Image to Friend Talk
{
"code": "200",
"image": "https://mud-kage.kakao.com/dn/vrLEd/btq6LeEmTgd/bQSvTliqYH3DPxk2PpwQ70",
"result": {
"detail_code": "NRM0000",
"detail_message": "Success"
}
}
Response Elements
코드예제Response Elements of Uploading General Image to Friend TalkField | Type | Required | Description |
---|---|---|---|
code | String | Y |
Message delivery result code |
200 (OK): Success, image uploaded |
|||
201 (Created): Successfully requested, server created new resource |
|||
401 (Unauthorized): Invalid authority |
|||
402 (Forbidden): Server rejected requests |
|||
404 (Not Found): The requested resource not found |
|||
Image | String | N |
Uploaded image URL |
Result | N |
Detailed result(For reference) | |
detail_code | String | N |
Detailed message delivery result(For reference) |
detail_message | String | N |
Detailed result message(For reference) |
Note
Please refer to the Sample Code document for API-specific codes.
Uploading Wide Image to Friend Talk
This API is used to upload wide images before sending Friend Talk.
Request
Request Syntax
코드예제Request Syntax of Uploading Wide Image to Friend Talk
curl -X POST "http://{base_url}/v2/upload/ft/wide/image" \
-H "accept: */*" \
-H "authorization: Bearer {oauthToken}" \
-H "Content-Type: multipart/form-data" \
-F "image=@FT_IMAGE.png;type=image/png"
Method | URL |
---|---|
POST | http://{base_url}/v2/upload/ft/wide/image |
Parameter | Type | Required | Class | Category | Description |
---|---|---|---|---|---|
base_url | String | Y |
Operating | General | bizmsg-web.kakaoenterprise.com |
Finance | bizmsg-bank.kakaoenterprise.com |
||||
Stock | bizmsg-stock.kakaoenterprise.com |
||||
Public institution | bizmsg-gov.kakaoenterprise.com |
||||
Staging | General | stg-user.bizmsg.kakaoenterprise.com |
|||
Finance | stg-bizmsg-bank.kakaoenterprise.com |
||||
Stock | stg-bizmsg-stock.kakaoenterprise.com |
||||
Public institution | stg-bizmsg-gov.kakaoenterprise.com |
Request Header
코드예제Request Header of Uploading Wide Image to Friend TalkParameter | Type | Required | Description |
---|---|---|---|
accept | String | Y |
*/* |
authorization | String | Y |
Bearer {oauthToken} - {oauthToken} : Access token acquired by OAuth 2.0 API |
Content-Type | String | Y |
multipart/form-data |
Request Elements
코드예제Request Elements of Uploading Wide Image to Friend TalkProperty | Type | Required | Description |
---|---|---|---|
Image | File | Y |
Wide image to be uploaded - Recommend size: 800px*600px - File format: jpg , png - File size: up to 2MB |
Response
Response Syntax
코드예제Response Syntax of Uploading Wide Image to Freind Talk
{
"code": "200",
"image": "https://mud-kage.kakao.com/dn/vrLEd/btq6LeEmTgd/bQSvTliqYH3DPxk2PpwQ70",
"result": {
"detail_code": "NRM0000",
"detail_message": "Success"
}
}
Response Elements
코드예제Response Elements of Uploading Wide Image to Freind TalkField | Type | Required | Description |
---|---|---|---|
code | String | Y |
Message delivery result code |
100 : In processing |
|||
200 : Success |
|||
400 : Authorization error |
|||
410 : Invalid input value |
|||
420 : File/image error |
|||
500 : Internal system error |
|||
510 : Failed to send |
|||
520 : Failed but can be resent |
|||
Image | String | N |
Uploaded image URL |
Result | N |
Detailed result(For reference) | |
detail_code | String | N |
Detailed message delivery result(For reference) |
detail_message | String | N |
Detailed result message(For reference) |
Note
Please refer to the Sample Code document for API-specific codes.
Retrieving Delivery List of Friend Talk
The following API returns the delivery list of Friend Talk sent.
Note
The difference between GET and POST is whether they use Query or Body. (GET method is scheduled to be deprecated.)
Request
Request Syntax
코드예제Request Syntax of Retrieving Delivery List of Friend Talk
curl -X 'POST' \
'https://{base_url}/v2/info/ft/search/detail/{uid}' \
-H 'accept: */*' \
-H 'Authorization: Bearer {oauthToken}' \
-H 'Content-Type: application/json' \
-d '{
"start_date": "2022-10-18",
"end_date": "2022-10-18",
"size": 1000
}'
Method | URL |
---|---|
POST | https://{base_url}/v2/info/ft/search/detail/{uid} |
Parameter | Type | Required | Class | Category | Description |
---|---|---|---|---|---|
base_url | String | Y |
Operating | General | bizmsg-web.kakaoenterprise.com |
Finance | bizmsg-bank.kakaoenterprise.com |
||||
Stock | bizmsg-stock.kakaoenterprise.com |
||||
Public institution | bizmsg-gov.kakaoenterprise.com |
||||
Staging | General | stg-user.bizmsg.kakaoenterprise.com |
|||
Finance | stg-bizmsg-bank.kakaoenterprise.com |
||||
Stock | stg-bizmsg-stock.kakaoenterprise.com |
||||
Public institution | stg-bizmsg-gov.kakaoenterprise.com |
||||
uid | String | Y |
Message key ID - ex. 21018173501346cxU7zEswSYSsTmS |
Request Header
코드예제Request Header of Retrieving Delivery List of Friend TalkParameter | Type | Required | Description |
---|---|---|---|
accept | String | Y |
*/* |
Authorization | String | Y |
Bearer {oauthToken} - {oauthToken} : Access token acquired by OAuth 2.0 API |
Content-Type | String | Y |
multipart/form-data |
Request Elements
코드예제Request Elements of Retrieving Delivery List of Friend TalkParameter | Type | Required | Description |
---|---|---|---|
start_date | String | N |
Search start date - Format: yyyy-mm-dd (date)- End date should be filled with start date. - If no input is provided, it will retrieve data for the same day. |
end_date | String | N |
Search end date - Format: yyyy-mm-dd (date)- Start date should be filled with end date. - If no input is provided, it will retrieve data for the same day. |
client_id | String | N |
ID of the sender |
size | Integer | N |
List per page - Max. 1000 - int32 |
last_uid | String | N |
The last Message key ID of the viewed page list. - Required when viewing the next page |
etc1 | String | N |
Parameter 1 defined by customer - text(50) |
etc2 | String | N |
Parameter 2 defined by customer - text(50) |
status_code | String | N |
Message status code - For details, refer to API Message Status Code. |
Response
Response Syntax
코드예제Response Syntax of Retrieving Delivery List of Friend Talk
{
"status": "200",
"code": "200",
"message": "success",
"count": 1,
"next": true,
"last_uid": "21018173501346cxU7zEswSYSsTmS",
"results": [
{
"uid": "21018173501346cxU7zEswSYSsTmS",
"reg_date": "2022-12-05T05:08:07.713Z",
"status_code": "API_200",
"error_message": "",
"kko_status_code": "0000",
"sms_status_code": "",
"etc1": "",
"etc2": "",
"etc3": "",
"etc4": "",
"etc5": "",
"etc6": "",
"etc7": "",
"etc8": "",
"etc9": "",
"etc10": "",
"tax_cd1": "",
"tax_cd2": "",
"cid": "202212050508070001"
}
]
}
Response Elements
코드예제Response Elements of Retrieving Delivery List of Friend TalkField | Type | Required | Description |
---|---|---|---|
status | String | Y |
Message delivery result code |
100 : In processing |
|||
200 : Success |
|||
400 : Authorization error |
|||
410 : Invalid input value |
|||
420 : File/image error |
|||
500 : Internal system error |
|||
510 : Failed to send |
|||
520 : Failed but can be resent |
|||
code | String | N |
Status code |
count | Integer | N |
Number of lists when retrieving result - int64 |
next | Boolean | N |
Whether there is the next page when retrieving the page |
last_uid | String | N |
The last Key ID of the retrieved page list |
Object | N |
Detailed message status code | |
detail_code | String | N |
Detailed code |
detail_message | String | N |
Status message |
Array | N |
Retrieved list | |
uid | String | N |
Message key ID |
cid | String | N |
Key ID defined by customer |
reg_date | String | N |
Message registered date |
status_code | String | N |
Message status code - For details, refer to API Message Status Code. |
kko_status_code | String | N |
Processing Message delivery result code sent from KakaoTalk |
sms_status_code | String | N |
SMS status code |
error_message | String | N |
Error message (upon error) |
tax_cd1 | String | N |
Settlement code1 - Variable defined by customer for settlement - text(50) |
tax_cd2 | String | N |
Settlement code 2 - Variable defined by customer for settlement - text(50) |
etc1 | String | N |
Customer value 1 - Variable defined by customer - text(50) |
etc2 | String | N |
Customer value 2 - Variable defined by customer - text(50) |
etc3 | String | N |
Customer value 3 - Variable defined by customer - text(50) |
etc4 | String | N |
Customer value 4 - Variable defined by customer - text(50) |
etc5 | String | N |
Customer value 5 - Variable defined by customer - text(50) |
etc6 | String | N |
Customer value 6 - Variable defined by customer - text(50) |
etc7 | String | N |
Customer value 7 - Variable defined by customer - text(50) |
etc8 | String | N |
Customer value 8 - Variable defined by customer - text(50) |
etc9 | String | N |
Customer value 9 - Variable defined by customer - text(50) |
etc10 | String | N |
Customer value 10 - Variable defined by customer - text(50) |
Retrieving Detailed Delivery List of Friend Talk
This API is used to retrieve detailed result of Friend Talk sent.
Request
Request Syntax
코드예제Request Syntax of Retrieving Detailed Delivery List of Friend Talk
curl -X 'GET' \
'https://{base_url}/v2/info/ft/search/detail/{uid}' \
-H 'accept: */*' \
-H 'Authorization: Bearer {oauthToken}'
Method | URL |
---|---|
GET | https://{base_url}/v2/info/ft/search/detail/{uid} |
Path Parameter
코드예제Path Parameter of Retrieving Detailed Delivery List of Friend TalkParameter | Type | Required | Class | Category | Description |
---|---|---|---|---|---|
base_url | String | Y |
Operating | General | bizmsg-web.kakaoenterprise.com |
Finance | bizmsg-bank.kakaoenterprise.com |
||||
Stock | bizmsg-stock.kakaoenterprise.com |
||||
Public institution | bizmsg-gov.kakaoenterprise.com |
||||
Staging | General | stg-user.bizmsg.kakaoenterprise.com |
|||
Finance | stg-bizmsg-bank.kakaoenterprise.com |
||||
Stock | stg-bizmsg-stock.kakaoenterprise.com |
||||
Public institution | stg-bizmsg-gov.kakaoenterprise.com |
||||
uid | String | Y |
Message key ID - ex. 21018173501346cxU7zEswSYSsTmS |
Request Header
코드예제Request Header of Retrieving Detailed Delivery List of Friend TalkParameter | Type | Required | Description |
---|---|---|---|
accept | String | Y |
*/* |
Authorization | String | Y |
Bearer {oauthToken} - {oauthToken} : Access token acquired by OAuth 2.0 API |
Response
Response Syntax
코드예제Response Syntax of Retrieving Detailed Delivery List of Friend Talk
{
"code": "200",
"code_detail": {
"detail_code": "NRM00000",
"detail_message": "Success"
},
"result": {
"uid": "221018173501346cxU7zEswSYSsTmS",
"reg_date": "2022-10-18T17:35:01",
"message_type": "FT",
"status_code": "API_200",
"phone_number": "01000000000",
"req_date": "2022-10-18T17:35:01",
"req_sms_yn": "N",
"message": "DMA3lRw9gr/khDXYmAhGcuyHnQ5FOHmJAOuPgYCr8NM=",
"cid": "202210189990001"
}
}
Response Elements
코드예제Response Elements of Retrieving Detailed Delivery List of Friend TalkField | Type | Required | Description |
---|---|---|---|
code | String | Y |
Message delivery result code |
100 : In processing |
|||
200 : Success |
|||
400 : Authorization error |
|||
410 : Invalid input value |
|||
420 : File/image error |
|||
500 : Internal system error |
|||
510 : Failed to send |
|||
520 : Failed but can be resent |
|||
Object | N |
Detailed message status code | |
detail_code | String | N |
Detailed code |
detail_message | String | N |
Status message |
Object | N |
Detailed delivery results of a single message | |
uid | String | N |
Message key ID |
reg_date | String | N |
Message registered date |
message_type | String | N |
Mesage type |
AT : Alim Talk |
|||
AI : Alim Talk image |
|||
FT : Friend Talk |
|||
FI : Friend Talk image |
|||
FW : Friend Talk wide image |
|||
SM : SMS |
|||
LM : LMS |
|||
MM : MMS |
|||
ISM : International SMS |
|||
status_code | String | N |
Message status code - For details, refer to API Message Status Code. |
phone_number | String | N |
Mobile number of recipient (including country code (82 ))- text(16) |
req_date | String | N |
Request date(value present when result exists)(date) |
error_message | String | N |
Error Message |
req_sms_yn | String | N |
Whether SMS is requested |
req_sms_date | String | N |
SMS request date(date-time) |
sender_no | String | N |
Sender(Corporate customer) number - text(16) |
sms_type | String | N |
Alternative message type - text(2) |
SM : SMS |
|||
LM : LMS |
|||
MM : MMS |
|||
kko_status_code | String | N |
Processing Message delivery result code from KakaoTalk |
sms_status_code | String | N |
SMS status code |
message | String | N |
Kakao message to be sent - text(1000) |
sms_message | String | N |
SMS message to be sent - text(400) |
title | String | N |
Title of LMS, MMS - text(60) |
cid | String | N |
Defined Key ID by corporate customer |
kko_title | String | N |
Highlighted information in template contents - text(50) |
image_type | Boolean | N |
Whether to use wide bubble - text(1) |
Y : Use |
|||
N (default): Not to use |
|||
nat_cd | String | N |
Country code for international message transmission |
content_group_id | String | N |
MMS file group ID(Required when sending MMS) |
header | String | N |
Title to display at the top of the message |