본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트

사이드 메뉴

카카오맵

검색

Legacy JavaScript

이 문서는 Legacy JavaScript SDK(Kakao SDK for JavaScript v1)를 사용한 카카오톡 메시지 API 구현 방법을 안내합니다.

카카오톡 메시지 발송 기능 안내

  • 카카오톡 메시지 API는 같은 서비스 내 사용자간 메시지 발송만 지원합니다.
  • 카카오톡 소셜 API 사용 권한이 있어야 친구에게 메시지 발송 기능을 사용할 수 있습니다.
  • 자세한 내용은 메시지 발송 기능 안내사용 방법을 확인합니다.

시작하기 전에

보낼 메시지의 종류와 구성 방법에 따라 호출해야할 API가 다르므로, 개발 전 아래 순서대로 사용할 API를 선택합니다.

구현 방식 선택

1. 메시지 발송 기능 선택

카카오디벨로퍼스의 메시지 발송 기능은 카카오톡 공유와 카카오톡 메시지 두 가지입니다. 메시지 발송 기능 안내를 참고해 사용할 기능을 선택합니다. 카카오톡 메시지를 사용하려는 경우, Step 2 이후의 내용을 확인합니다.

REST API 호출

Legacy JavaScript SDK는 카카오톡 메시지 API를 내장 함수 형태로 지원하지 않습니다. 웹 페이지에서 Legacy JavaScript SDK로 카카오톡 메시지 API를 사용하려면 Kakao.API.request 함수를 사용해 REST API와 같은 URL로 요청합니다.

2. 메시지 종류 및 구성 방법 선택

템플릿 종류를 참고하여 어떤 메시지 템플릿을 사용할지 결정합니다.

보낼 메시지는 기본 템플릿을 바탕으로 객체 형태로 구성하거나, 서비스에 맞게 직접 구성한 사용자 정의 템플릿을 사용하여 구성할 수 있습니다. 구성 방식 비교를 참고합니다.

3. 메시지 전송 대상 선택

카카오톡 메시지의 경우, 수신 대상에 따라 사용하는 API가 구분되어 있다는 점에 유의합니다.

전송 대상설명
에게 발송현재 로그인한 사용자의 카카오톡 나와의 채팅에 메시지를 보냅니다. 이 기능으로는 다른 사용자에게 메시지를 보낼 수 없고, 로그인한 사용자 본인에게만 메시지를 보낼 수 있습니다.
친구에게 발송현재 로그인한 사용자의 카카오톡 친구에게 메시지를 보냅니다.
중요: 추가 기능 신청이 필요합니다.
피커 또는 카카오톡 친구 목록 조회로 수신 대상 정보를 받는 과정을 추가 구현해야 합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다. 일간 및 월간 제공량이 정해져 있으므로 쿼터를 참고합니다.
친구에게 메시지 발송 시 사용 권한 필요

친구에게 발송하려는 경우, 사용 권한 신청이 필요합니다. 이용 정책을 함께 참고합니다.

참고: 선택 조건별 필요한 API
전송 대상메시지 종류사용 방법API
나에게 발송피드, 리스트, 위치, 커머스, 텍스트기본 템플릿기본 템플릿으로 메시지 발송
피드, 리스트, 커머스사용자 정의 템플릿사용자 정의 템플릿으로 메시지 발송
스크랩기본 템플릿기본 템플릿으로 스크랩 메시지 발송
사용자 정의 템플릿사용자 정의 템플릿으로 스크랩 메시지 발송
친구에게 발송피드, 리스트, 위치, 커머스, 텍스트기본 템플릿카카오톡 친구 목록 조회
기본 템플릿으로 메시지 발송
피드, 리스트, 커머스사용자 정의 템플릿카카오톡 친구 목록 조회
사용자 정의 템플릿으로 메시지 발송
스크랩기본 템플릿카카오톡 친구 목록 조회
기본 템플릿으로 스크랩 메시지 발송
사용자 정의 템플릿카카오톡 친구 목록 조회
사용자 정의 템플릿으로 스크랩 메시지 발송

기본 템플릿으로 메시지 발송

기본 정보
사전 설정카카오 로그인동의항목권한레퍼런스
JavaScript 키
제품 링크 관리
카카오 로그인 활성화
동의항목
필요필요:
카카오톡 메시지 전송(talk_message)
필요:
사용 권한
(친구에게 발송)
request()

기본 템플릿을 사용해 현재 로그인한 사용자의 카카오톡으로 메시지를 보냅니다.

메시지 전송 대상에 따라 호출해야 할 메서드가 다릅니다.

template_object 객체에 메시지 내용을 담아 data 파라미터로 전달합니다. 메시지 템플릿 구성 요소 및 예제를 참고합니다.

친구에게 메시지 발송 요청 시, 피커 또는 카카오톡 친구 목록 조회 응답으로 받은 uuidreceiver_uuids 파라미터에 전달합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.

요청 성공 시 응답은 REST API의 기본 템플릿으로 메시지 발송과 같습니다.

나에게 발송

파라미터
이름타입설명필수
urlString/v2/api/talk/memo/default/send로 고정O
successFunction(Object)API 호출이 성공할 때 실행되는 콜백 함수X
failFunction(Object)API 호출이 실패할 때 실행되는 콜백 함수X
alwaysFunction(Object)API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수X
dataObjectAPI에 전달할 파라미터
자세한 내용은 data: 기본 템플릿으로 나에게 메시지 발송 확인
O
data: 기본 템플릿으로 나에게 메시지 발송
이름타입설명필수
template_objectObject메시지 구성 요소를 담은 객체(Object)
피드, 리스트, 위치, 커머스, 텍스트, 캘린더 중 하나
O
예제
Kakao.API.request({
url: '/v2/api/talk/memo/default/send',
data: {
template_object: {
object_type: 'feed',
content: {
title: '카카오톡 링크 4.0',
description: '디폴트 템플릿 FEED',
image_url: 'https://mud-kage.kakao.com/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png',
link: {
web_url: 'https://developers.kakao.com',
mobile_web_url: 'https://developers.kakao.com',
},
},
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,
},
button_title: '바로 확인',
},
},
success: function (response) {
console.log(response)
},
fail: function (error) {
console.log(error)
},
})

친구에게 발송

파라미터
이름타입설명필수
urlString/v1/api/talk/friends/message/default/send로 고정O
successFunction(Object)API 호출이 성공할 때 실행되는 콜백 함수X
failFunction(Object)API 호출이 실패할 때 실행되는 콜백 함수X
alwaysFunction(Object)API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수X
dataObjectAPI에 전달할 파라미터
자세한 내용은 data: 기본 템플릿으로 친구에게 메시지 발송 확인
O
data: 기본 템플릿으로 친구에게 메시지 발송
이름타입설명필수
receiver_uuidsString[]카카오톡 친구 목록 조회 API로 얻은 사용자 uuid 값, 최대 5개O
template_objectObject메시지 구성 요소를 담은 객체(Object)
피드, 리스트, 위치, 커머스, 텍스트, 캘린더 중 하나
O
예제
Kakao.API.request({
url: '/v1/api/talk/friends/message/default/send',
data: {
receiver_uuids: ['receiver_uuids'],
template_object: {
object_type: 'feed',
content: {
title: '카카오톡 링크 4.0',
description: '디폴트 템플릿 FEED',
image_url: 'https://mud-kage.kakao.com/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png',
link: {
web_url: 'https://developers.kakao.com',
mobile_web_url: 'https://developers.kakao.com',
},
},
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,
},
button_title: '바로 확인',
},
},
success: function (response) {
console.log(response)
},
fail: function (error) {
console.log(error)
},
})

사용자 정의 템플릿으로 메시지 발송

기본 정보
사전 설정카카오 로그인동의항목권한레퍼런스
JavaScript 키
제품 링크 관리
카카오 로그인 활성화
동의항목
메시지 템플릿
필요필요:
카카오톡 메시지 전송(talk_message)
필요:
사용 권한
(친구에게 발송)
request()

[도구] > [메시지 템플릿]에서 직접 구성한 사용자 정의 템플릿을 사용하여 현재 로그인한 사용자의 카카오톡으로 메시지를 보냅니다.

메시지 전송 대상에 따라 호출해야 할 메서드가 다릅니다.

사용자 정의 템플릿 ID를 template_id 파라미터로 전달해야 합니다. 템플릿 구성 방법은 사용자 정의 템플릿을 참고합니다.

메시지에 변동되는 정보를 포함하려면 해당 사용자 정의 템플릿에 사용자 인자를 추가한 후, templateArgs 파라미터로 키와 값을 전달합니다. 자세한 사용 방법과 주의 사항은 직접 사용자 인자 입력하기에서 확인할 수 있습니다.

친구에게 메시지 발송 요청 시, 피커 또는 카카오톡 친구 목록 조회 API의 응답으로 받은 uuidreceiver_uuids 파라미터에 전달해야 합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.

요청 성공 시 응답은 REST API의 사용자 정의 템플릿으로 메시지 발송과 같습니다.

나에게 발송

파라미터
이름타입설명필수
urlString/v2/api/talk/memo/send로 고정O
successFunction(Object)API 호출이 성공할 때 실행되는 콜백 함수X
failFunction(Object)API 호출이 실패할 때 실행되는 콜백 함수X
alwaysFunction(Object)API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수X
dataObjectAPI에 전달할 파라미터
자세한 내용은 data: 나에게 사용자 정의 템플릿으로 메시지 발송 확인
O
data: 나에게 사용자 정의 템플릿으로 메시지 발송
이름타입설명필수
template_idNumber메시지 템플릿 도구에서 구성한 사용자 정의 템플릿의 IDO
template_argsObjecttemplate_id로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달X
예제
Kakao.API.request({
url: '/v2/api/talk/memo/send',
data: {
template_id: TEMPLATE_ID,
},
success: function (response) {
console.log(response)
},
fail: function (error) {
console.log(error)
},
})

친구에게 발송

파라미터
이름타입설명필수
urlString/v1/api/talk/friends/message/send로 고정O
successFunction(Object)API 호출이 성공할 때 실행되는 콜백 함수X
failFunction(Object)API 호출이 실패할 때 실행되는 콜백 함수X
alwaysFunction(Object)API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수X
dataObjectAPI에 전달할 파라미터
자세한 내용은 data: 사용자 정의 템플릿으로 친구에게 메시지 발송 확인
O
data: 사용자 정의 템플릿으로 친구에게 메시지 발송
이름타입설명필수
receiver_uuidsString[]카카오톡 친구 목록 조회 API로 얻은 사용자 uuid 값, 최대 5개O
template_idNumber메시지 템플릿 도구에서 구성한 사용자 정의 템플릿의 IDO
template_argsObjecttemplate_id로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달X
예제
Kakao.API.request({
url: '/v1/api/talk/friends/message/send',
data: {
receiver_uuids: ['receiver_uuids'],
template_id: TEMPLATE_ID,
},
success: function (response) {
console.log(response)
},
fail: function (error) {
console.log(error)
},
})

기본 템플릿으로 스크랩 메시지 발송

기본 정보
사전 설정카카오 로그인동의항목권한레퍼런스
JavaScript 키
제품 링크 관리
카카오 로그인 활성화
동의항목
필요필요:
카카오톡 메시지 전송(talk_message)
필요:
사용 권한
(친구에게 발송)
request()

지정한 웹 페이지를 스크랩한 정보로 스크랩 메시지를 구성하고, 현재 로그인한 사용자의 카카오톡으로 메시지를 보냅니다.

메시지 전송 대상에 따라 호출해야 할 메서드가 다릅니다.

스크랩할 웹 페이지 URL을 request_url 파라미터로 전달해야 합니다. 스크랩할 웹 페이지의 도메인은 앱 관리 페이지의 [앱] > [제품 링크 관리] > [웹 도메인]에 등록돼 있어야 합니다.

친구에게 메시지 발송 요청 시, 피커 또는 카카오톡 친구 목록 조회 응답으로 받은 uuidreceiver_uuids 파라미터에 전달합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.

요청 성공 시 응답은 REST API의 기본 템플릿으로 스크랩 메시지 발송와 같습니다.

나에게 발송

파라미터
이름타입설명필수
urlString/v2/api/talk/memo/scrap/send로 고정O
successFunction(Object)API 호출이 성공할 때 실행되는 콜백 함수X
failFunction(Object)API 호출이 실패할 때 실행되는 콜백 함수X
alwaysFunction(Object)API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수X
dataObjectAPI에 전달할 파라미터
자세한 내용은 data: 기본 템플릿으로 나에게 스크랩 메시지 발송 확인
O
data: 기본 템플릿으로 나에게 스크랩 메시지 발송
이름타입설명필수
request_urlString스크랩할 웹 페이지 URL, 앱 관리 페이지의 [앱] > [제품 링크 관리] > [웹 도메인]에 등록된 도메인만 사용 가능O
예제
Kakao.API.request({
url: '/v2/api/talk/memo/scrap/send',
data: {
request_url: SITE_URL,
},
success: function (response) {
console.log(response)
},
fail: function (error) {
console.log(error)
},
})

친구에게 발송

파라미터
이름타입설명필수
urlString/v1/api/talk/friends/message/scrap/send로 고정O
successFunction(Object)API 호출이 성공할 때 실행되는 콜백 함수X
failFunction(Object)API 호출이 실패할 때 실행되는 콜백 함수X
alwaysFunction(Object)API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수X
dataObjectAPI에 전달할 파라미터
자세한 내용은 data: 기본 템플릿으로 친구에게 스크랩 메시지 발송 확인
O
data: 기본 템플릿으로 친구에게 스크랩 메시지 발송
이름타입설명필수
receiver_uuidsString[]카카오톡 친구 목록 조회 API로 얻은 사용자 uuid 값, 최대 5개O
request_urlString스크랩할 웹 페이지 URL, 앱 관리 페이지의 [앱] > [제품 링크 관리] > [웹 도메인]에 등록된 도메인만 사용 가능O
예제
Kakao.API.request({
url: '/v1/api/talk/friends/message/scrap/send',
data: {
receiver_uuids: ['receiver_uuids'],
request_url: SITE_URL,
},
success: function (response) {
console.log(response)
},
fail: function (error) {
console.log(error)
},
})

사용자 정의 템플릿으로 스크랩 메시지 발송

기본 정보
사전 설정카카오 로그인동의항목권한레퍼런스
JavaScript 키
제품 링크 관리
카카오 로그인 활성화
동의항목
메시지 템플릿
필요필요:
카카오톡 메시지 전송(talk_message)
필요:
사용 권한
(친구에게 발송)
request()

[도구] > [메시지 템플릿]에서 직접 구성한 사용자 정의 템플릿에 지정한 웹 페이지의 스크랩 정보를 대입해 스크랩 메시지를 구성하고, 현재 로그인한 사용자의 카카오톡으로 메시지를 보냅니다.

메시지 전송 대상에 따라 호출해야 할 메서드가 다릅니다.

스크랩할 웹 페이지 URL을 request_url 파라미터로 전달해야 합니다. 스크랩할 웹 페이지의 도메인은 앱 관리 페이지의 [앱] > [제품 링크 관리] > [웹 도메인]에 등록돼 있어야 합니다.

사용자 정의 템플릿 ID를 template_id 파라미터로 전달해야 합니다. 템플릿 구성 방법은 사용자 정의 템플릿을 참고합니다.

메시지에 변동되는 정보를 포함하려면 해당 사용자 정의 템플릿에 사용자 인자를 추가한 후, templateArgs 파라미터로 키와 값을 전달합니다. 자세한 사용 방법과 주의 사항은 직접 사용자 인자 입력하기에서 확인할 수 있습니다.

친구에게 메시지 발송 요청 시, 피커 또는 카카오톡 친구 목록 조회 API의 응답으로 받은 uuidreceiver_uuids 파라미터에 전달합니다. 한 번에 최대 5명의 친구에게 메시지를 보낼 수 있습니다.

요청 성공 시 응답은 REST API의 사용자 정의 템플릿으로 스크랩 메시지 발송와 같습니다.

나에게 발송

파라미터
이름타입설명필수
urlString/v2/api/talk/memo/scrap/send로 고정O
successFunction(Object)API 호출이 성공할 때 실행되는 콜백 함수X
failFunction(Object)API 호출이 실패할 때 실행되는 콜백 함수X
alwaysFunction(Object)API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수X
dataObjectAPI에 전달할 파라미터
자세한 내용은 data: 사용자 정의 템플릿으로 나에게 스크랩 메시지 발송 확인
O
data: 사용자 정의 템플릿으로 나에게 스크랩 메시지 발송
이름타입설명필수
request_urlString스크랩할 웹 페이지 URL, 앱 관리 페이지의 [앱] > [제품 링크 관리] > [웹 도메인]에 등록된 도메인만 사용 가능O
template_idNumber스크랩한 정보를 반영할 사용자 정의 템플릿의 IDO
template_argsObjecttemplate_id로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달
스크랩 결과를 덮어쓰기(overwrite) 할 수는 없음
X
예제
Kakao.API.request({
url: '/v2/api/talk/memo/scrap/send',
data: {
request_url: SITE_URL,
template_id: TEMPLATE_ID,
},
success: function (response) {
console.log(response)
},
fail: function (error) {
console.log(error)
},
})

친구에게 발송

파라미터
이름타입설명필수
urlString/v1/api/talk/friends/message/scrap/send로 고정O
successFunction(Object)API 호출이 성공할 때 실행되는 콜백 함수X
failFunction(Object)API 호출이 실패할 때 실행되는 콜백 함수X
alwaysFunction(Object)API 호출 성공 여부에 관계없이 항상 호출되는 콜백 함수X
dataObjectAPI에 전달할 파라미터
자세한 내용은 data: 사용자 정의 템플릿으로 친구에게 스크랩 메시지 발송 확인
O
data: 사용자 정의 템플릿으로 친구에게 스크랩 메시지 발송
이름타입설명필수
receiver_uuidsString[]카카오톡 친구 목록 조회 API로 얻은 사용자 uuid 값, 최대 5개O
request_urlString스크랩할 웹 페이지 URL, 앱 관리 페이지의 [앱] > [제품 링크 관리] > [웹 도메인]에 등록된 도메인만 사용 가능O
template_idNumber스크랩한 정보를 반영할 사용자 정의 템플릿의 IDO
template_argsObjecttemplate_id로 지정한 템플릿에 사용자 인자(User argument)가 포함되어 있는 경우 대입할 값, key:value 형식으로 전달
스크랩 결과를 덮어쓰기(overwrite) 할 수는 없음
X
예제
Kakao.API.request({
url: '/v1/api/talk/friends/message/scrap/send',
data: {
receiver_uuids: ['receiver_uuids'],
request_url: SITE_URL,
template_id: TEMPLATE_ID,
},
success: function (response) {
console.log(response)
},
fail: function (error) {
console.log(error)
},
})

이미지 업로드

기본 정보

카카오 서버에 이미지 파일을 업로드하거나, 이미지 URL을 스크랩합니다.

메시지에 넣을 이미지는 URL 형태로 메시지 템플릿 구성 시에 첨부하거나, 메시지 템플릿 도구에서 미리 업로드할 수 있습니다. 자세한 정보는 이미지 업로드에서 확인할 수 있습니다.

카카오톡 공유 모듈명 변경

Legacy JavaScript SDK 1.43.0 버전부터 카카오톡 공유 모듈명이 변경되었습니다. 자세한 안내는 공지를 참고합니다.

더 보기

도움이 되었나요?