Kakao API

Using JavaScript SDK, you can call Kakao Platform Service's REST APIs.

Example: Get KakaoTalk nickname

  • This is an example for getting user's KakaoTalk nickname.
  • You need to register your website's domain via Register App step.
  • Change 'YOUR APP KEY' to your registered app's JavaScript Key.
Get user's KakaoTalk nickname
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>
</head>
<body>
<a id="kakao-login-btn"></a>
<script type='text/javascript'>
//<![CDATA[
  // Set JavaScript Key of current app.
  Kakao.init('YOUR APP KEY');
  // Create Kakao Login button.
  Kakao.Auth.createLoginButton({
    container: '#kakao-login-btn',
    success: function(authObj) {
      // If login succeeds, call API.
      Kakao.API.request({
        url: '/v2/user/me',
        success: function(res) {
          alert(JSON.stringify(res));
        },
        fail: function(error) {
          alert(JSON.stringify(error));
        }
      });
    },
    fail: function(err) {
      alert(JSON.stringify(err));
    }
  });
//]]>
</script>
</body>
</html>

Check out the above example's live demo right now! Go to demo
* In order to request for KakaoTalk nickname, you must test with Kakao account linked to KakaoTalk.

Interested in more? Kakao.API Reference Each API's request parameter and response is identical to REST API. Refer to simple REST API reference

Example: Upload photo in KakaoStory

  • Upload photo in KakaoStory.
  • KakaoStory Button image can be downloaded from here
  • You need to register your website's domain via Register App step.
  • Change 'YOUR APP KEY' to your registered app's JavaScript Key.
Upload photo in KakaoStory.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Post photo to KakaoStory  - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<style type='text/css'>
/* <![CDATA[ */
  #file-input-wrapper {
    display: none;
    margin-top: 50px;
  }
/* ]]> */
</style>
<a id="kakao-login-btn"></a>
<div id="file-input-wrapper">
<p>Post image to KakaoStory:</p>
<input id="file-input" type="file" multiple=""/>
</div>
<div>
<p id="post-result"></p>
<img id="post-image" src=""/>
</div>
<script type='text/javascript'>
//<![CDATA[
  // Set JavaScript Key of current app.
  Kakao.init('YOUR APP KEY');
  Kakao.Auth.createLoginButton({
    container: '#kakao-login-btn',
    success: function() {
      document.getElementById('file-input-wrapper').style.display = "block";
    },
    fail: function(err) {
      alert(JSON.stringify(err))
    }
  });
  document.getElementById('file-input').onchange = function (event) {
    Kakao.Auth.getStatus(function(statusObj) {
      if (statusObj.status == "not_connected") {
        alert('You should log in first.');
      } else {
        // Call API
        Kakao.API.request({
          url: '/v1/api/story/upload/multi',
          files: event.target.files
        }).then(function (res) {
          // If previous api call succeeded, call next API.
          return Kakao.API.request({
            url: '/v1/api/story/post/photo',
            data: {
              image_url_list: res
            }
          });
        }).then(function (res) {
          return Kakao.API.request({
            url: '/v1/api/story/mystory',
            data: { id: res.id }
          });
        }).then(function (res) {
          document.getElementById('post-result').innerHTML = JSON.stringify(res);
          document.getElementById('post-image').src = res.media[0].original;
        }, function(err) {
          alert(JSON.stringify(err));
        });
      }
    });
  };
//]]>
</script>

</body>
</html>

Check out the above example's live demo right now! Go to demo
Photo upload only works in browser that supports File API
In order to upload photo in KakaoStory you must test with Kakao acount linked to KakaoStory.

Interested in more? Kakao.API Reference Each API's request parameter and response is identical to REST API. Refer to simple REST API reference

Example: Write post in KakaoStory

  • This example scraps the given URL, then posts it in KakaoStory.
  • If you want to provide a button for users to share a post in KakaoStory, KakaoStory Share may better suit your needs.
  • KakaoStory Button image can be downloaded from here
  • You need to register your website's domain via Register App step.
  • Change 'YOUR APP KEY' to your registered app's JavaScript Key.
Write post in KakaoStory.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Post link to KakaoStory  - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>
</head>
<body>
<a id="kakao-login-btn"></a>
<div>
<p id="post-result"></p>
</div>
<script type='text/javascript'>
//<![CDATA[
  // Set JavaScript Key of current app.
  Kakao.init('YOUR APP KEY');
  Kakao.Auth.createLoginButton({
    container: '#kakao-login-btn',
    success: function() {
      // If login succeeds, call API.
      Kakao.API.request({
        url : '/v1/api/story/linkinfo',
        data : {
          url : 'http://www.kakao.com'
        }
    }).then(function(res) {
        // If previous api call succeeded, call next API.
        return Kakao.API.request( {
          url : '/v1/api/story/post/link',
          data : {
            link_info : res
          }
        });
      }).then(function(res) {
        return Kakao.API.request( {
          url : '/v1/api/story/mystory',
          data : { id : res.id }
        });
      }).then(function(res) {
          document.getElementById('post-result').innerHTML = JSON.stringify(res);
        }, function (err) {
          alert(JSON.stringify(err));
      });
    },
    fail: function(err) {
      alert(JSON.stringify(err))
    }
  });
//]]>
</script>

</body>
</html>

Check out the above example's live demo right now! Go to demo
* In order to upload photo in KakaoStory you must test with Kakao acount linked to KakaoStory.

Interested in more? Kakao.API Reference Each API's request parameter and response is identical to REST API.
Refer to simple REST API reference

예제: 카카오스토리에 글 작성하기

  • 지정한 URL의 웹사이트를 스크랩한 후 카카오스토리에 글을 올립니다.
  • 사용자가 카카오스토리에 글을 직접 공유할 수 있도록 버튼을 제공하려면, 카카오스토리 공유를 참조해 주세요.
  • 카카오스토리 버튼 이미지는 여기에서 다운로드 할 수 있습니다.
  • 앱 등록 과정을 통해 도메인을 등록해야 합니다.
  • 'YOUR APP KEY'를 등록한 앱의 JavaScript 키로 변경해 주세요.

카카오스토리에 글을 작성합니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Post link to KakaoStory  - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="kakao-login-btn"></a>
<div>
<p id="post-result"></p>
</div>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    Kakao.Auth.createLoginButton({
      container: '#kakao-login-btn',
      success: function() {
        // 로그인 성공시, API를 호출합니다.
        Kakao.API.request({
          url : '/v1/api/story/linkinfo',
          data : {
            url : 'http://www.kakao.com'
          }
         }).then(function(res) {
          // 이전 API 호출이 성공한 경우 다음 API를 호출합니다.
          return Kakao.API.request( {
            url : '/v1/api/story/post/link',
            data : {
              link_info : res
            }
          });
        }).then(function(res) {
          return Kakao.API.request( {
            url : '/v1/api/story/mystory',
            data : { id : res.id }
          });
        }).then(function(res) {
            document.getElementById('post-result').innerHTML = JSON.stringify(res);
          }, function (err) {
            alert(JSON.stringify(err));
        });
      },
      fail: function(err) {
        alert(JSON.stringify(err))
      }
    });
  //]]>
</script>

</body>
</html>

위 예제의 데모를 바로 확인해 보세요! 데모 보러가기

  • 카카오스토리에 글을 작성하기 위해서는 카카오스토리와 연결된 카카오계정으로 테스트해야 합니다.

Kakao.API와 관련된 자세한 내용이 궁금하다면? Kakao.API 레퍼런스
각 API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API 간편한 참조

예제: 친구목록 조회

  • 친구목록을 불러오는 예제입니다.
  • 앱 등록 과정을 통해 도메인을 등록해야 합니다.
  • 'YOUR APP KEY'를 등록한 앱의 JavaScript 키로 변경해 주세요.

친구목록을 조회합니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Request KakaoTalk friends list - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="kakao-login-btn"></a>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    // 카카오 로그인 버튼을 생성합니다.
    Kakao.Auth.createLoginButton({
      container: '#kakao-login-btn',
      success: function(authObj) {
        // 로그인 성공시, API를 호출합니다.
        Kakao.API.request({
          url: '/v1/api/talk/friends',
          success: function(res) {
            alert(JSON.stringify(res));
          },
          fail: function(error) {
            alert(JSON.stringify(error));
          }
        });
      },
      fail: function(err) {
        alert(JSON.stringify(err));
      }
    });
  //]]>
</script>

</body>
</html>

친구 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 친구 API 사용제약
Kakao.API와 관련된 자세한 내용이 궁금하다면? Kakao.API 레퍼런스
각 API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API 간편한 참조

예제: 기본 템플릿 보내기

  • [설정] > [사용자 관리] > [로그인 동의항목] 메뉴에서 '카카오 서비스 내 친구목록', '카카오톡 메시지 전송' 항목을 설정 후 이용해주세요.
  • 친구목록을 불러온 뒤에 메시지를 전송하는 예제입니다.
  • 친구목록 조회와 메시지 전송을 위해서 로그인 시 friends와 talk_message scope에 대한 동의가 필요합니다. 아래 데모 코드를 참고하세요.
  • 앱 등록 과정을 통해 도메인을 등록해야 합니다.
  • 'YOUR APP KEY'를 등록한 앱의 JavaScript 키로 변경해 주세요.

피드 템플릿 보내기

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Request Message API - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="custom-login-btn" href="javascript:loginWithKakao()">
    <img src="//mud-kage.kakao.com/14/dn/btqbjxsO6vP/KPiGpdnsubSq3a0PHEGUK1/o.jpg" width="300"/>
</a>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    // 친구 조회 및 메시지 전송을 위해서 friends, talk_message에 대한 동의를 받습니다.
    function loginWithKakao() {
      Kakao.Auth.login({
        scope: 'friends,talk_message',
        success: function() {
          // 로그인 성공시, 친구 조회 API를 호출합니다. (앱에 가입한 친구만 대상이 됩니다.)
          Kakao.API.request({
            url: '/v1/api/talk/friends',
            success: function(res) {
              // 친구 중에 첫 번째 친구에게 메시지를 보냅니다. API 호출 시 메시지가 전송됨으로 테스트 시 주의해주세요.
              Kakao.API.request({
                url: '/v1/api/talk/friends/message/default/send',
                data: {
                  receiver_uuids: [res.elements[0].uuid],
                  template_object: {
                    object_type: 'feed',
                    content: {
                      title: '베리베리 치즈 케익',
                      description: '#케익 #딸기 #블루베리 #카페 #디저트 #달달함 #분위기 #삼평동',
                      image_url: 'http://k.kakaocdn.net/dn/bDgfik/btqwQWk4CRU/P6wNJJiQ3Ko21KNE1TiLw1/kakaolink40_original.png',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    },
                    social: {
                      like_count: 286,
                      comment_count: 45,
                      shared_count: 845
                    },
                    buttons: [{
                      title: '웹으로 보기',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }, {
                      title: '앱으로 보기',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }]
                  }
                },
                success: function(res) {
                  alert('메시지 전송이 완료되었습니다.');
                }
              });
            }
          });
        }
      });
    }
  //]]>
</script>

</body>
</html>
  • 위 예제의 데모를 바로 확인해 보세요! 데모 보러가기
  • 메시지 API 사용을 위해서는 카카오톡과 연결된 카카오계정으로 테스트해야 합니다.
  • API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API > 메시지 전송
  • 메시지 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 메시지 API 사용제약

리스트 템플릿 보내기

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Request Message API - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="custom-login-btn" href="javascript:loginWithKakao()">
    <img src="//mud-kage.kakao.com/14/dn/btqbjxsO6vP/KPiGpdnsubSq3a0PHEGUK1/o.jpg" width="300"/>
</a>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    // 친구 조회 및 메시지 전송을 위해서 friends, talk_message에 대한 동의를 받습니다.
    function loginWithKakao() {
      Kakao.Auth.login({
        scope: 'friends,talk_message',
        success: function() {
          // 로그인 성공시, 친구 조회 API를 호출합니다. (앱에 가입한 친구만 대상이 됩니다.)
          Kakao.API.request({
            url: '/v1/api/talk/friends',
            success: function(res) {
              // 친구 중에 첫 번째 친구에게 메시지를 보냅니다. API 호출 시 메시지가 전송됨으로 테스트 시 주의해주세요.
              Kakao.API.request({
                url: '/v1/api/talk/friends/message/default/send',
                data: {
                  receiver_uuids: [res.elements[0].uuid],
                  template_object: {
                    object_type: 'list',
                    header_title: 'WEEKLY MAGAZINE',
                    header_link: {
                      mobile_web_url: 'https://developers.kakao.com',
                      web_url: 'https://developers.kakao.com'
                    },
                    contents: [{
                      title: '오직 당신만을 위한 책을 만들어 드립니다.',
                      description: '브런치팀',
                      image_url: 'http://k.kakaocdn.net/dn/j8Oiy/btqwRCGGjrl/9WxQofSJNnk6KzhbCiunD1/kakaolink40_original.png',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }, {
                      title: '우리 함께 책 읽어요. 가볍게 시작하는 독서',
                      description: '도서',
                      image_url: 'http://k.kakaocdn.net/dn/kIxII/btqwP7m6Rkb/PpnGXt72ToNhy9fgAvC5Kk/kakaolink40_original.png',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }, {
                      title: '아이와 함께하는 음식이야기 - 베이킹편',
                      description: '음식',
                      image_url: 'http://k.kakaocdn.net/dn/XlVQM/btqwOr7IFSG/uR2xkgzhH0S6TOFF9wkMRK/kakaolink40_original.png',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }],
                    buttons: [{
                      title: '웹으로 보기',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    },{
                      title: '앱으로 보기',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }]
                  }
                },
                success: function(res) {
                  alert('메시지 전송이 완료되었습니다.');
                }
              });
            }
          });
        }
      });
    }
  //]]>
</script>

</body>
</html>
  • 위 예제의 데모를 바로 확인해 보세요! 데모 보러가기
  • 메시지 API 사용을 위해서는 카카오톡과 연결된 카카오계정으로 테스트해야 합니다.
  • API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API > 메시지 전송
  • 메시지 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 메시지 API 사용제약

커머스 템플릿 보내기

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Request Message API - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="custom-login-btn" href="javascript:loginWithKakao()">
    <img src="//mud-kage.kakao.com/14/dn/btqbjxsO6vP/KPiGpdnsubSq3a0PHEGUK1/o.jpg" width="300"/>
</a>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    // 친구 조회 및 메시지 전송을 위해서 friends, talk_message에 대한 동의를 받습니다.
    function loginWithKakao() {
      Kakao.Auth.login({
        scope: 'friends,talk_message',
        success: function() {
          // 로그인 성공시, 친구 조회 API를 호출합니다. (앱에 가입한 친구만 대상이 됩니다.)
          Kakao.API.request({
            url: '/v1/api/talk/friends',
            success: function(res) {
              // 친구 중에 첫 번째 친구에게 메시지를 보냅니다. API 호출 시 메시지가 전송됨으로 테스트 시 주의해주세요.
              Kakao.API.request({
                url: '/v1/api/talk/friends/message/default/send',
                data: {
                  receiver_uuids: [res.elements[0].uuid],
                  template_object: {
                    object_type: 'commerce',
                    content: {
                      title: '데일리 룩으로 좋은 화이트 셔츠',
                      description: 'White Shirt(1 Color)',
                      image_url: 'http://k.kakaocdn.net/dn/JKZDK/btqwO690vVe/fThfikUTubQ3dA9PLYu0TK/kakaolink40_original.png',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    },
                    commerce: {
                      regular_price: 30000,
                      discount_price: 21000,
                      discount_rate: 30
                    },
                    buttons: [{
                      title: '구매하기',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }, {
                      title: '공유하기',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }] 
                  }
                },
                success: function(res) {
                  alert('메시지 전송이 완료되었습니다.');
                }
              });
            }
          });
        }
      });
    }
  //]]>
</script>

</body>
</html>
  • 위 예제의 데모를 바로 확인해 보세요! 데모 보러가기
  • 메시지 API 사용을 위해서는 카카오톡과 연결된 카카오계정으로 테스트해야 합니다.
  • API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API > 메시지 전송
  • 메시지 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 메시지 API 사용제약

위치 템플릿 보내기

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Request Message API - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="custom-login-btn" href="javascript:loginWithKakao()">
    <img src="//mud-kage.kakao.com/14/dn/btqbjxsO6vP/KPiGpdnsubSq3a0PHEGUK1/o.jpg" width="300"/>
</a>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    // 친구 조회 및 메시지 전송을 위해서 friends, talk_message에 대한 동의를 받습니다.
    function loginWithKakao() {
      Kakao.Auth.login({
        scope: 'friends,talk_message',
        success: function() {
          // 로그인 성공시, 친구 조회 API를 호출합니다. (앱에 가입한 친구만 대상이 됩니다.)
          Kakao.API.request({
            url: '/v1/api/talk/friends',
            success: function(res) {
              // 친구 중에 첫 번째 친구에게 메시지를 보냅니다. API 호출 시 메시지가 전송됨으로 테스트 시 주의해주세요.
              Kakao.API.request({
                url: '/v1/api/talk/friends/message/default/send',
                data: {
                  receiver_uuids: [res.elements[0].uuid],
                  template_object: {
                    object_type: 'location',
                    address: '경기 성남시 분당구 판교역로 235 에이치스퀘어 N동 8층',
                    address_title: '카카오 판교오피스 카페톡',
                    content: {
                      title: '신메뉴 출시, 초코 브라우니',
                      description: '#브라우니 #초코 #카라멜 #아이스크림 #카페 #디저트 #달달함 #분위기 #삼평동',
                      image_url: 'http://k.kakaocdn.net/dn/RWBKp/btqwRBA7BqR/fCZxTAWlQwU1kvZJaaleA0/kakaolink40_original.png',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    },
                    social: {
                      like_count: 286,
                      comment_count: 45,
                      shared_count: 845
                    },
                    buttons: [{
                      title: '자세히 보기',
                      link: {
                        mobile_web_url: 'https://developers.kakao.com',
                        web_url: 'https://developers.kakao.com'
                      }
                    }] 
                  }
                },
                success: function(res) {
                  alert('메시지 전송이 완료되었습니다.');
                }
              });
            }
          });
        }
      });
    }
  //]]>
</script>

</body>
</html>
  • 위 예제의 데모를 바로 확인해 보세요! 데모 보러가기
  • 메시지 API 사용을 위해서는 카카오톡과 연결된 카카오계정으로 테스트해야 합니다.
  • API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API > 메시지 전송
  • 메시지 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 메시지 API 사용제약

텍스트 템플릿 보내기

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Request Message API - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="custom-login-btn" href="javascript:loginWithKakao()">
    <img src="//mud-kage.kakao.com/14/dn/btqbjxsO6vP/KPiGpdnsubSq3a0PHEGUK1/o.jpg" width="300"/>
</a>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    // 친구 조회 및 메시지 전송을 위해서 friends, talk_message에 대한 동의를 받습니다.
    function loginWithKakao() {
      Kakao.Auth.login({
        scope: 'friends,talk_message',
        success: function() {
          // 로그인 성공시, 친구 조회 API를 호출합니다. (앱에 가입한 친구만 대상이 됩니다.)
          Kakao.API.request({
            url: '/v1/api/talk/friends',
            success: function(res) {
              // 친구 중에 첫 번째 친구에게 메시지를 보냅니다. API 호출 시 메시지가 전송됨으로 테스트 시 주의해주세요.
              Kakao.API.request({
                url: '/v1/api/talk/friends/message/default/send',
                data: {
                  receiver_uuids: [res.elements[0].uuid],
                  template_object: {
                    object_type: 'text',
                    text: '텍스트 영역입니다. 최대 200자 표시 가능합니다.',
                    link: {
                      web_url: 'http://dev.kakao.com',
                      mobile_web_url: 'http://dev.kakao.com'
                    },
                    button_title: '바로 확인'
                  }
                },
                success: function(res) {
                  alert('메시지 전송이 완료되었습니다.');
                }
              });
            }
          });
        }
      });
    }
  //]]>
</script>

</body>
</html>
  • 위 예제의 데모를 바로 확인해 보세요! 데모 보러가기
  • 메시지 API 사용을 위해서는 카카오톡과 연결된 카카오계정으로 테스트해야 합니다.
  • API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API > 메시지 전송
  • 메시지 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 메시지 API 사용제약

예제: 스크랩 템플릿 보내기

  • [설정] > [사용자 관리] > [로그인 동의항목] 메뉴에서 '카카오 서비스 내 친구목록', '카카오톡 메시지 전송' 항목을 설정 후 이용해주세요.
  • 친구목록을 불러온 뒤에 메시지를 전송하는 예제입니다.
  • 친구목록 조회와 메시지 전송을 위해서 로그인 시 friends와 talk_message scope에 대한 동의가 필요합니다. 아래 데모 코드를 참고하세요.
  • 앱 등록 과정을 통해 도메인을 등록해야 합니다.
  • 'YOUR APP KEY'를 등록한 앱의 JavaScript 키로 변경해 주세요.

스크랩 템플릿 보내기

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Request Message API - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="custom-login-btn" href="javascript:loginWithKakao()">
    <img src="//mud-kage.kakao.com/14/dn/btqbjxsO6vP/KPiGpdnsubSq3a0PHEGUK1/o.jpg" width="300"/>
</a>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    // 친구 조회 및 메시지 전송을 위해서 friends, talk_message에 대한 동의를 받습니다.
    function loginWithKakao() {
      Kakao.Auth.login({
        scope: 'friends,talk_message',
        success: function() {
          // 로그인 성공시, 친구 조회 API를 호출합니다. (앱에 가입한 친구만 대상이 됩니다.)
          Kakao.API.request({
            url: '/v1/api/talk/friends',
            success: function(res) {
              // 친구 중에 첫 번째 친구에게 메시지를 보냅니다. API 호출 시 메시지가 전송됨으로 테스트 시 주의해주세요.
              Kakao.API.request({
                url: '/v1/api/talk/friends/message/scrap/send',
                data: {
                  request_url: 'https://developers.kakao.com'
                  receiver_uuids: [res.elements[0].uuid]
                },
                success: function(res) {
                  alert('메시지 전송이 완료되었습니다.');
                }
              });
            }
          });
        }
      });
    }
  //]]>
</script>

</body>
</html>
  • 위 예제의 데모를 바로 확인해 보세요! 데모 보러가기
  • 메시지 API 사용을 위해서는 카카오톡과 연결된 카카오계정으로 테스트해야 합니다.
  • API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API > 메시지 전송
  • 메시지 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 메시지 API 사용제약

예제: 커스텀 템플릿 보내기

  • [설정] > [사용자 관리] > [로그인 동의항목] 메뉴에서 '카카오 서비스 내 친구목록', '카카오톡 메시지 전송' 항목을 설정 후 이용해주세요.
  • [설정] > [메시지 템플릿 v2] > [최종저장] > [메시지 타입] > [메시지 API 사용] 으로 설정한 템플릿을 새로 생성해주세요.

template_generate_message_type_message.png

  • 친구목록을 불러온 뒤에 메시지를 전송하는 예제입니다.
  • 친구목록 조회와 메시지 전송을 위해서 로그인 시 friends와 talk_message scope에 대한 동의가 필요합니다. 아래 데모 코드를 참고하세요.
  • 앱 등록 과정을 통해 도메인을 등록해야 합니다.
  • 'YOUR APP KEY'를 등록한 앱의 JavaScript 키로 변경해 주세요.
  • 'YOUR TEMPLATE ID'를 [메시지 API 사용]으로 설정한 템플릿의 ID로 변경해주세요.

커스텀 템플릿 보내기

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"/>
<title>API Demo: Request Message API - Kakao JavaScript SDK</title>
<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>

</head>
<body>
<a id="custom-login-btn" href="javascript:loginWithKakao()">
    <img src="//mud-kage.kakao.com/14/dn/btqbjxsO6vP/KPiGpdnsubSq3a0PHEGUK1/o.jpg" width="300"/>
</a>
<script type='text/javascript'>
  //<![CDATA[
    // 사용할 앱의 JavaScript 키를 설정해 주세요.
    Kakao.init('YOUR APP KEY');
    // 친구 조회 및 메시지 전송을 위해서 friends, talk_message에 대한 동의를 받습니다.
    function loginWithKakao() {
      Kakao.Auth.login({
        scope: 'friends,talk_message',
        success: function() {
          // 로그인 성공시, 친구 조회 API를 호출합니다. (앱에 가입한 친구만 대상이 됩니다.)
          Kakao.API.request({
            url: '/v1/api/talk/friends',
            success: function(res) {
              // 친구 중에 첫 번째 친구에게 메시지를 보냅니다. API 호출 시 메시지가 전송됨으로 테스트 시 주의해주세요.
              Kakao.API.request({
                url: '/v1/api/talk/friends/message/send',
                data: {
                  template_id: YOUR TEMPLATE ID,
                  receiver_uuids: [res.elements[0].uuid]
                },
                success: function(res) {
                  alert('메시지 전송이 완료되었습니다.');
                }
              });
            }
          });
        }
      });
    }
  //]]>
</script>

</body>
</html>
  • 위 예제의 데모를 바로 확인해 보세요! 데모 보러가기
  • 메시지 API 사용을 위해서는 카카오톡과 연결된 카카오계정으로 테스트해야 합니다.
  • API에 대한 요청 파라미터와 응답은 REST API와 동일합니다. REST API > 메시지 전송
  • 메시지 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 메시지 API 사용제약

Promise Support

Kakao.API.request function returns a Promise. When sequentially calling API, you can simplify your code by using Promise.

To learn more about Promise, please refer here.

Supported APIs

JavaScript SDK's request parameter and response is identical to REST API. Refer to simple REST API reference

The API, which is the host dapi.kakao.com, is excluded and can be requested directly through the ajax (search, local).
Push alert and app log analytics are not supported.


Last Modified : 2019-08-01