이 문서는 REST API를 사용한 카카오톡 메시지 API 구현 방법을 안내합니다.
이 문서에 포함된 기능 일부는 [도구] > [REST API 테스트]를 통해 사용해 볼 수 있습니다.
보낼 메시지의 종류와 구성 방법에 따라 호출해야할 API가 다르므로, 개발 전 다음 순서대로 사용할 API를 선택합니다.
1. 메시지 API 선택하기메시지 API는 카카오톡 공유와 카카오톡 메시지 두 가지입니다. 이해하기를 참고해 어떤 API로 메시지 보내기를 구현할 것인지 결정합니다. 카카오톡 메시지를 사용하려는 경우, Step 2 이후의 내용을 확인합니다.
REST API는 카카오톡 공유를 지원하지 않습니다. 웹 페이지에 카카오톡 공유를 적용하려면 JavaScript SDK를 사용합니다.
종류를 참고하여 어떤 메시지 템플릿을 사용할지 결정합니다.
보낼 메시지는 기본 템플릿에 맞게 JSON
형태로 구성하거나, 서비스에 맞게 직접 구성한 사용자 정의 템플릿을 사용하여 구성할 수 있습니다. 자세한 정보는 사용 방법에서 확인할 수 있습니다.
카카오톡 메시지의 경우, 수신 대상에 따라 나에게 보내기, 친구에게 보내기로 API가 구분되어 있다는 점에 유의합니다.
전송 대상 | 설명 |
---|---|
나에게 보내기 | 현재 로그인한 사용자의 카카오톡 나와의 채팅에 메시지를 보냅니다. 이 기능으로는 다른 사용자에게 메시지를 보낼 수 없고, 로그인한 사용자 본인에게만 메시지를 보낼 수 있습니다. |
친구에게 보내기 | 현재 로그인한 사용자의 카카오톡 친구에게 메시지를 보냅니다. 피커 또는 친구 목록 가져오기 API를 통해 수신 대상 정보를 받는 과정을 추가 구현해야 합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다. 일간 및 월간 제공량이 정해져 있으므로 쿼터를 참고합니다. |
친구에게 보내기를 사용하려는 경우, 카카오톡 메시지 사용 권한 신청을 참고하여 테스트 및 사용 권한 신청을 진행합니다. 이용 정책을 함께 참고합니다.
전송 대상 | 메시지 종류 | 사용 방법 | API |
---|---|---|---|
나에게 보내기 | 피드, 리스트, 위치, 커머스, 텍스트 | 기본 템플릿 | 기본 템플릿으로 메시지 보내기 |
피드, 리스트, 커머스 | 사용자 정의 템플릿 | 사용자 정의 템플릿으로 메시지 보내기 | |
스크랩 | 기본 템플릿 | 기본 템플릿으로 스크랩 메시지 보내기 | |
사용자 정의 템플릿 | 사용자 정의 템플릿으로 스크랩 메시지 보내기 | ||
친구에게 보내기 | 피드, 리스트, 위치, 커머스, 텍스트 | 기본 템플릿 | 친구 목록 가져오기 기본 템플릿으로 메시지 보내기 |
피드, 리스트, 커머스 | 사용자 정의 템플릿 | 친구 목록 가져오기 사용자 정의 템플릿으로 메시지 보내기 |
|
스크랩 | 기본 템플릿 | 친구 목록 가져오기 기본 템플릿으로 스크랩 메시지 보내기 |
|
사용자 정의 템플릿 | 친구 목록 가져오기 사용자 정의 템플릿으로 스크랩 메시지 보내기 |
사용하려는 기본 템플릿에 따라 메시지를 JSON
형식으로 구성하여 보내는 기능입니다. 템플릿 종류에 따라 메시지 구성 요소가 다르므로, 메시지 템플릿 구성 요소 및 예제를 참고해 메시지를 구성합니다.
액세스 토큰을 헤더에 담아 POST
로 요청합니다. JSON
형식으로 구성한 기본 템플릿을 template_object
파라미터로 전달해야 합니다.
친구에게 메시지 보내기 요청 시에는 피커 또는 친구 목록 가져오기 API의 응답으로 받은 uuid
를 receiver_uuids
파라미터에 전달해야 합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.
모든 친구에게 메시지 보내기 성공 시, 메시지 보내기에 성공한 사용자 uuid
목록인 successful_receiver_uuids
배열을 받습니다. 일부 사용자에게만 메시지가 성공적으로 보내진 경우, successful_receiver_uuids
와 함께 메시지 보내기에 실패한 사용자 목록과 실패 원인을 담은 failure_info
배열을 받습니다.
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://kapi.kakao.com/v2/api/talk/memo/default/send |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | 필요: 카카오톡 메시지 전송(talk_message) |
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
template_object | Object |
메시지 구성 요소를 담은 객체(Object) 피드, 리스트, 위치, 커머스, 텍스트, 캘린더 중 하나 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
result_code | Integer |
전송 성공 시 0 | O |
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "feed",
"content": {
"title": "오늘의 디저트",
"description": "아메리카노, 빵, 케익",
"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": "웹으로 이동",
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net"
}
},
{
"title": "앱으로 이동",
"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" \
-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": "자전거 라이더를 위한 공간",
"description": "매거진",
"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": "비쥬얼이 끝내주는 오레오 카푸치노",
"description": "매거진",
"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": "감성이 가득한 분위기",
"description": "매거진",
"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": "앱으로 이동",
"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" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "location",
"content": {
"title": "카카오 판교오피스",
"description": "카카오 판교오피스 위치입니다.",
"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": "웹으로 보기",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile"
}
}
],
"address": "경기 성남시 분당구 판교역로 235 에이치스퀘어 N동 7층",
"address_title": "카카오 판교오피스"
}'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-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": "구매하기",
"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": "공유하기",
"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" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "text",
"text": "텍스트 영역입니다. 최대 200자 표시 가능합니다.",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com"
},
"button_title": "바로 확인"
}'
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'template_object={
"object_type": "calendar",
"content": {
"title": "일정 제목",
"description": "일정 설명",
"image_url": "https://developers.kakao.com/static/images/pc/txt_visual1.png",
"link": {
"web_url":"https://kakao.com"
}
},
"buttons": [
{
"title": "일정 정보 보기",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile"
}
}
],
"id_type": "event",
"id": "6351f57c7ec8e318d0b809a0"
}'
HTTP/1.1 200 OK
{
"result_code": 0
}
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://kapi.kakao.com/v1/api/talk/friends/message/default/send |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
필요: 사용 권한 |
플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | 필요: 카카오톡 메시지 전송(talk_message) |
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
receiver_uuids | String[] |
피커 또는 친구 목록 가져오기 API를 통해 얻은 사용자 uuid 값, 최대 5개 | O |
template_object | Object |
메시지 구성 요소를 담은 객체(Object) 피드, 리스트, 위치, 커머스, 텍스트, 캘린더 중 하나 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
successful_receiver_uuids | String[] |
메시지 전송에 성공한 사용자 아이디(uuid ) 배열 |
X |
failure_info | FailureInfo[] |
실패 정보 요청 수신자가 2명 이상일 때 실패 시 "http status code: 200"과 함께 실패한 사용자 정보를 failure_info 로 전달 요청 수신자가 1명일 때 실패 시 failure_info 없이 에러 코드로 전달 |
X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
code | Integer |
에러 코드 | O |
msg | String |
에러 메시지 | O |
receiver_uuids | String[] |
해당 에러 코드로 실패한 사용자 아이디(uuid ) 배열 |
O |
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"object_type": "feed",
"content": {
"title": "오늘의 디저트",
"description": "아메리카노, 빵, 케익",
"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": "웹으로 이동",
"link": {
"web_url": "http://www.daum.net",
"mobile_web_url": "http://m.daum.net"
}
},
{
"title": "앱으로 이동",
"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" \
-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": "자전거 라이더를 위한 공간",
"description": "매거진",
"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": "비쥬얼이 끝내주는 오레오 카푸치노",
"description": "매거진",
"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": "감성이 가득한 분위기",
"description": "매거진",
"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": "앱으로 이동",
"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" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"object_type": "location",
"content": {
"title": "카카오 판교오피스",
"description": "카카오 판교오피스 위치입니다.",
"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": "웹으로 보기",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile"
}
}
],
"address": "경기 성남시 분당구 판교역로 235 에이치스퀘어 N동 7층",
"address_title": "카카오 판교오피스"
}'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-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": "구매하기",
"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": "공유하기",
"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" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"object_type": "text",
"text": "텍스트 영역입니다. 최대 200자 표시 가능합니다.",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com"
},
"button_title": "바로 확인"
}'
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode 'template_object={
"object_type": "calendar",
"content": {
"title": "일정 제목",
"description": "일정 설명",
"image_url": "https://developers.kakao.com/static/images/pc/txt_visual1.png",
"link": {
"web_url":"https://kakao.com"
}
},
"buttons": [
{
"title": "일정 정보 보기",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com/mobile"
}
}
],
"id_type": "event",
"id": "6351f57c7ec8e318d0b809a0"
}'
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"]
}]
}
[도구] > [메시지 템플릿]에서 직접 구성한 사용자 정의 템플릿을 사용하여 메시지를 보내는 기능입니다.
액세스 토큰을 헤더에 담아 POST
로 요청합니다. 사용자 정의 템플릿 ID를 template_id
파라미터로 전달해야 합니다.
메시지에 변동되는 정보를 포함하려면 해당 사용자 정의 템플릿에 사용자 인자를 추가한 후, template_args
파라미터를 통해 키와 값을 전달합니다. 사용자 정의 템플릿에 사용자 인자가 포함되었음에도 해당 파라미터를 사용하지 않을 경우, 사용자 인자로 지정된 부분이 ${KEY}
형식으로 메시지에 그대로 노출됩니다.
친구에게 메시지 보내기 요청 시, 피커 또는 친구 목록 가져오기 API의 응답으로 받은 uuid
를 receiver_uuids
파라미터에 전달해야 합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.
모든 친구에게 메시지 보내기 성공 시, 메시지 보내기에 성공한 사용자 uuid
목록인 successful_receiver_uuids
배열을 받습니다. 일부 사용자에게만 메시지가 성공적으로 보내진 경우, successful_receiver_uuids
와 함께 메시지 보내기에 실패한 사용자 목록과 실패 원인을 담은 failure_info
배열을 받습니다.
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://kapi.kakao.com/v2/api/talk/memo/send |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 동의항목 메시지 템플릿 |
필요 | 필요: 카카오톡 메시지 전송(talk_message) |
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
template_id | String |
메시지 템플릿 도구에서 구성한 사용자 정의 템플릿의 ID 비고: 나에게 보내기에 사용할 사용자 정의 템플릿은 사용 목적을 [카카오톡 공유]로 설정해야 함 |
O |
template_args | Object |
template_id 로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달 |
X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
result_code | Integer |
전송 성공 시 0 | O |
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-d "template_id=12345" \
-d 'template_args={"TITLE":"타이틀입니다."}'
HTTP/1.1 200 OK
{
"result_code":0
}
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://kapi.kakao.com/v1/api/talk/friends/message/send |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
필요: 사용 권한 |
플랫폼 등록 카카오 로그인 활성화 동의항목 메시지 템플릿 |
필요 | 필요: 카카오톡 메시지 전송(talk_message) |
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
receiver_uuids | String[] |
피커 또는 친구 목록 가져오기 API를 통해 얻은 사용자 uuid 값, 최대 5개 | O |
template_id | String |
메시지 템플릿 도구에서 구성한 사용자 정의 템플릿의 ID | O |
template_args | Object |
template_id 로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달 |
X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
successful_receiver_uuids | String[] |
메시지 전송에 성공한 사용자 아이디(uuid ) 배열 |
X |
failure_info | FailureInfo[] |
실패 정보 요청 수신자가 2명 이상일 때 실패 시 "http status code: 200"과 함께 실패한 사용자 정보를 failure_info 로 전달 요청 수신자가 1명일 때 실패 시 failure_info 없이 에러 코드로 전달 |
X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
code | Integer |
에러 코드 | O |
msg | String |
에러 메시지 | O |
receiver_uuids | String[] |
해당 에러 코드로 실패한 사용자 아이디(uuid ) 배열 |
O |
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-d "template_id=12345" \
-d 'template_args={"TITLE":"타이틀입니다."}'
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]'
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"]
}]
}
스크랩한 웹 페이지 정보를 바탕으로 스크랩 메시지를 구성하여 전송하는 기능입니다.
액세스 토큰을 헤더에 담아 POST
로 요청합니다. 스크랩할 웹 페이지 URL을 request_url
파라미터로 전달해야 합니다. 스크랩할 웹 페이지의 도메인은 [내 애플리케이션] > [플랫폼] > [Web]에 등록돼 있어야 합니다.
친구에게 메시지 보내기 요청 시, 피커 또는 친구 목록 가져오기 API의 응답으로 받은 uuid
를 receiver_uuids
파라미터에 전달해야 합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.
모든 친구에게 메시지 보내기 성공 시, 메시지 보내기에 성공한 사용자 uuid
목록인 successful_receiver_uuids
배열을 받습니다. 일부 사용자에게만 메시지가 성공적으로 보내진 경우, successful_receiver_uuids
와 함께 메시지 보내기에 실패한 사용자 목록과 실패 원인을 담은 failure_info
배열을 받습니다.
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://kapi.kakao.com/v2/api/talk/memo/scrap/send |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | 필요: 카카오톡 메시지 전송(talk_message) |
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
request_url | String |
스크랩할 웹 페이지 URL, [내 애플리케이션] > [플랫폼] > [Web]에 등록된 도메인만 사용 가능 | O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
result_code | Integer |
전송 성공 시 0 | O |
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/scrap/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode "request_url=https://developers.kakao.com"
HTTP/1.1 200 OK
{
"result_code":0
}
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
사용 권한 | 플랫폼 등록 카카오 로그인 활성화 동의항목 |
필요 | 필요: 카카오톡 메시지 전송(talk_message) |
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
receiver_uuids | String[] |
피커 또는 친구 목록 가져오기 API를 통해 얻은 사용자 uuid 값, 최대 5개 | O |
request_url | String |
스크랩할 웹 페이지 URL, [내 애플리케이션] > [플랫폼] > [Web]에 등록된 도메인만 사용 가능 | O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
successful_receiver_uuids | String[] |
메시지 전송에 성공한 사용자 아이디(uuid ) 배열 |
X |
failure_info | FailureInfo[] |
실패 정보 요청 수신자가 2명 이상일 때 실패 시 "http status code: 200"과 함께 실패한 사용자 정보를 failure_info 로 전달 요청 수신자가 1명일 때 실패 시 failure_info 없이 에러 코드로 전달 |
X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
code | Integer |
에러 코드 | O |
msg | String |
에러 메시지 | O |
receiver_uuids | String[] |
해당 에러 코드로 실패한 사용자 아이디(uuid ) 배열 |
O |
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode 'receiver_uuids=["abcdefg0001","abcdefg0002","abcdefg0003"]' \
--data-urlencode "request_url=https://developers.kakao.com"
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"]
}]
}
스크랩한 웹 페이지 정보를 바탕으로 사용자 정의 메시지 내용을 구성하여 보내는 기능입니다. [도구] > [메시지 템플릿]에서 구성한 사용자 정의 템플릿을 기반으로 스크랩 메시지를 구성해 전송합니다.
액세스 토큰을 헤더에 담아 POST
로 요청합니다. 스크랩할 웹 페이지 URL을 request_url
파라미터로 전달해야 합니다. 스크랩할 웹 페이지의 도메인은 [내 애플리케이션] > [플랫폼] > [Web]에 등록돼 있어야 합니다.
사용자 정의 템플릿 ID를 template_id
파라미터로 전달해야 합니다. 메시지에 변동되는 정보를 포함하려면 해당 사용자 정의 템플릿에 사용자 인자를 추가한 후, template_args
파라미터를 통해 키와 값을 전달합니다. 사용자 정의 템플릿에 사용자 인자가 포함되었음에도 해당 파라미터를 사용하지 않을 경우, 사용자 인자로 지정된 부분이 ${KEY}
형식으로 메시지에 그대로 노출됩니다.
친구에게 메시지 보내기 요청 시, 피커 또는 친구 목록 가져오기 API의 응답으로 받은 uuid
를 receiver_uuids
파라미터로 전달해야 합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.
모든 친구에게 메시지 보내기 성공 시, 메시지 보내기에 성공한 사용자 uuid
목록인 successful_receiver_uuids
배열을 받습니다. 일부 사용자에게만 메시지가 성공적으로 보내진 경우, successful_receiver_uuids
와 함께 메시지 보내기에 실패한 사용자 목록과 실패 원인을 담은 failure_info
배열을 받습니다.
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://kapi.kakao.com/v2/api/talk/memo/scrap/send |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 카카오 로그인 활성화 동의항목 메시지 템플릿 |
필요 | 필요: 카카오톡 메시지 전송(talk_message) |
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
request_url | String |
스크랩할 웹 페이지 URL, [내 애플리케이션] > [플랫폼] > [Web]에 등록된 도메인만 사용 가능 스크랩 메시지 참고 |
O |
template_id | String |
스크랩한 정보를 반영할 사용자 정의 템플릿의 ID 비고: 나에게 보내기에 사용할 사용자 정의 템플릿은 사용 목적을 [카카오톡 공유]로 설정해야 함 |
O |
template_args | Object |
template_id 로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달스크랩 결과를 덮어쓰기(overwrite) 할 수는 없음 |
X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
result_code | Integer |
전송 성공 시 0 | O |
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/scrap/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode "request_url=https://developers.kakao.com"
-d "template_id=12345" \
-d 'template_args={"TITLE":"타이틀입니다."}' \
HTTP/1.1 200 OK
{
"result_code": 0
}
메서드 | URL | 인증 방식 |
---|---|---|
POST |
https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send |
액세스 토큰 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
필요: 사용 권한 |
플랫폼 등록 카카오 로그인 활성화 동의항목 메시지 템플릿 |
필요 | 필요: 카카오톡 메시지 전송(talk_message) |
이름 | 설명 | 필수 |
---|---|---|
Authorization | Authorization: Bearer ${ACCESS_TOKEN} 인증 방식, 액세스 토큰으로 인증 요청 |
O |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
receiver_uuids | String[] |
피커 또는 친구 목록 가져오기 API를 통해 얻은 사용자 uuid 값, 최대 5개 | O |
request_url | String |
스크랩할 웹 페이지 URL, [내 애플리케이션] > [플랫폼] > [Web]에 등록된 도메인만 사용 가능 스크랩 메시지 참고 |
O |
template_id | String |
스크랩한 정보를 반영할 사용자 정의 템플릿의 ID | O |
template_args | Object |
template_id 로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달스크랩 결과를 덮어쓰기(overwrite) 할 수는 없음 |
X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
successful_receiver_uuids | String[] |
메시지 전송에 성공한 사용자 아이디(uuid ) 배열 |
X |
failure_info | FailureInfo[] |
실패 정보 요청 수신자가 2명 이상일 때 실패 시 "http status code: 200"과 함께 실패한 사용자 정보를 failure_info 로 전달 요청 수신자가 1명일 때 실패 시 failure_info 없이 에러 코드로 전달 |
X |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
code | Integer |
에러 코드 | O |
msg | String |
에러 메시지 | O |
receiver_uuids | String[] |
해당 에러 코드로 실패한 사용자 아이디(uuid ) 배열 |
O |
curl -v -X POST "https://kapi.kakao.com/v1/api/talk/friends/message/scrap/send" \
-H "Content-Type: application/x-www-form-urlencoded" \
-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":"타이틀입니다."}' \
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"]
}]
}