페이지 이동경로
  • 문서>
  • 시작하기>
  • 카카오 플랫폼 이해하기

시작하기

카카오 플랫폼 이해하기

이 문서는 카카오 플랫폼에 대한 기본 정보를 다룹니다.

카카오 API와 비즈니스 솔루션 등 카카오 플랫폼을 더욱 효과적으로 이용하려면, 플랫폼의 기본적인 구조와 기능에 대한 이해가 필요합니다. 특히 플랫폼 서비스에서 사용하는 기능 및 개념을 이해하는 것이 중요합니다.

서비스 구성

카카오 플랫폼은 카카오톡, 카카오스토리와 같은 카카오의 서비스를 비롯해 카카오페이, 카카오커머스, 카카오페이지 등 카카오 공동체가 서비스하는 여러 가지 서비스들로 이뤄져 있습니다. 사용자는 카카오계정이라는 하나의 통합 계정으로 카카오 플랫폼 서비스들을 이용할 수 있습니다.

또한 카카오 플랫폼에서는 카카오 및 공동체의 서비스뿐만 아니라, 수많은 파트너들이 다양한 서비스들을 독립적으로 운영하고 있습니다. 파트너는 카카오 로그인, 카카오싱크, 카카오페이 등 카카오 API를 활용해 서비스를 더욱 풍부하게 구성할 수 있고, 카카오 플랫폼 사용자들이 각 서비스를 보다 쉽게 이용하도록 할 수 있습니다.

카카오 플랫폼의 사용자는 각 서비스를 만들고 운영하는 B2B(Business to Business) 파트너, 카카오톡이나 각 서비스를 이용하는 B2C(Business to Customer) 사용자로 나뉩니다. 카카오는 파트너, 최종 사용자 모두에게 서비스를 제공하는 플랫폼 사업자로서 애플리케이션을 통해 각 서비스와 연결되고, 카카오계정을 통해 각 사용자들과 연결(link)됩니다.

카카오 API 플랫폼의 구조

카카오 플랫폼과 서비스의 연결

카카오, 서비스, 사용자를 이어준다는 의미의 연결은 카카오 플랫폼에서 가장 중요하고 자주 사용되는 용어입니다. 카카오 플랫폼을 이용하려면 연결이라는 개념을 간단하게라도 이해하는 것이 중요합니다.

서비스는 카카오디벨로퍼스 애플리케이션을 통해 카카오 플랫폼과 연결됩니다. 카카오 플랫폼은 각 애플리케이션 정보와 권한 내역을 바탕으로 카카오 API를 제공합니다.

카카오의 개발자 웹사이트인 카카오디벨로퍼스(Kakao Developers, 이하 개발자 웹사이트)에서 애플리케이션 등록 시 서비스 이름과 회사명을 비롯한 정보를 설정할 수 있습니다. 또한 애플리케이션에 사업자 정보를 등록하면 비즈니스 애플리케이션(비즈 앱)이 되어 여러 추가 기능들을 사용하거나 같은 사업자 정보를 가진 카카오톡 채널과도 연결할 수 있습니다.

연결된 서비스 관리

카카오 플랫폼에서 사용자와 연결된 앱 정보는 연결된 서비스 관리 메뉴에서 확인할 수 있습니다. 연결된 서비스 관리는 카카오톡의 [설정] > [개인/보안] > [카카오계정] 또는 카카오계정 페이지의 [계정 이용] 메뉴에서 확인할 수 있습니다. 해당 메뉴에서 각 앱의 프로필 공개 설정도 가능합니다.

연결된 서비스 관리 화면

서비스와 사용자의 연결

사용자 측면에서 연결은 카카오 플랫폼에서 사용자의 카카오계정과 서비스의 애플리케이션을 이어준다는 의미로, 카카오계정을 사용한 카카오 로그인을 통해 이뤄집니다. 카카오계정은 카카오톡 등 카카오 서비스를 통해 가입합니다.

사용자 카카오계정은 카카오 플랫폼에 등록된 서비스에 로그인할 때 해당 서비스의 앱과 연결되고 카카오 API 사용 권한을 받습니다. 한 사용자가 여러 개의 카카오계정을 가질 수도 있고, 한 카카오계정이 여러 개의 서비스 앱에 연결될 수도 있습니다.

서비스와 사용자의 연결 구조

마찬가지로 서비스 앱은 여러 개의 카카오계정과 연결될 수 있습니다. 여러 사용자가 서비스 앱을 이용할 수 있다는 의미입니다. 또한 서비스 앱을 관리하는 팀원 설정과 연결 상태는 별개이므로, 팀원 또한 카카오 로그인을 통해 앱과 연결되어야 카카오 API를 이용할 수 있습니다.

카카오계정은 개발자 웹사이트에서 애플리케이션을 등록하고 관리하는 데도 사용합니다. 개발자 웹사이트 또한 카카오 플랫폼 안의 서비스이기 때문입니다. 개발자 등록은 카카오계정 로그인 후 기본 정보 입력만으로도 가능합니다.

사용자는 카카오톡의 [프로필] > [카카오계정] 메뉴와 카카오계정 설정 페이지연결된 서비스 관리 메뉴에서 카카오 로그인을 통해 연결된 서비스 목록을 확인할 수 있습니다.

연결 끊기

연결과 반대 개념인 연결 끊기도 있습니다. 연결 끊기는 서비스의 애플리케이션과 사용자 사이에서만 이뤄지며, 연결이 끊어진 사용자의 정보로는 카카오 API를 호출할 수 없습니다.

연결 끊기는 사용자가 카카오 플랫폼을 통해 서비스를 더 이상 이용하지 않도록 요청하거나, 서비스에서 직접 탈퇴하는 경우 필요한 기능입니다. 연결 끊기 API와 연결 끊기 알림 받기 기능을 사용해 더 이상 연결되어 있지 않은 사용자에 대한 회원 정보 처리를 할 수 있습니다.

회원 탈퇴 시 필요한 처리

연결과 회원 가입의 다른 점

연결은 서비스 가입과 비슷하지만 다른 개념입니다. 가입서비스 회원 정보에 사용자를 등록하는 것이라면, 연결개발자 웹사이트 애플리케이션에 사용자를 등록해 카카오 플랫폼 기능 권한을 주는 것이기 때문입니다. 연결은 서비스 회원 정보에 직접적인 영향을 주지 않습니다. 카카오는 서비스 데이터에 접근하지 않기 때문입니다. 회원 가입은 사용자가 서비스 앱과 연결된 후, 서비스에서 직접 회원 정보에 가입 처리를 해야만 이뤄집니다.

연결과 회원 가입에 필요한 처리

회원 탈퇴도 연결 끊기와는 다릅니다. 연결을 끊어도 카카오가 서비스 회원 정보에서 사용자 정보를 지우지 않습니다. 만약 카카오 플랫폼 사용자가 카카오계정 관리 페이지를 통해 특정 서비스를 더 이상 이용하지 않겠다고 요청하거나 서비스에서 탈퇴하면, 카카오는 연결 끊기를 통해 해당 서비스 애플리케이션과 사용자의 연결을 끊고, 서비스가 해당 사용자 정보로 카카오 플랫폼 기능을 이용할 수 없도록 합니다.

이와 함께 서비스는 회원 정보 등 데이터베이스에서 해당 카카오 플랫폼 사용자의 정보를 삭제하는 등 탈퇴 처리를 해야 합니다. 사용자는 서비스 이용을 위해 자신의 정보와 기능 이용 권한을 제공하는 데 동의했기 때문에, 서비스를 이용하지 않기로 해서 제공 동의를 철회했을 때는 탈퇴 및 정보 삭제 처리가 필요합니다.

쿼터

카카오 플랫폼에서 제공하는 대부분의 API는 오픈 API로, 플랫폼 정책 범위 안에서 애플리케이션 등록을 통해 누구나 무료로 이용할 수 있습니다. 단, 원활한 서비스 제공을 위해 일정한 사용량 제한(이하 쿼터, Quota)이 적용됩니다. 현재 적용되는 쿼터 정보는 쿼터에서, 각 앱의 쿼터 소모량은 [내 애플리케이션] > [통계] > [쿼터]에서 각각 확인할 수 있습니다.

쿼터는 각 개발자 계정이 소유한 모든 앱의 쿼터 소모량을 합산하여 적용됩니다. 개발자 계정이 소유한 하나의 앱에서 특정 API의 쿼터를 초과할 경우, 다른 앱의 해당 API 이용이 제한될 수 있으므로 주의합니다.

각 API에 대해 적용되는 쿼터는 월간 제공량 및 일일 제공량 제한이 각각 존재하며, 해당 API의 기간별 요청 수를 기준으로 합니다. API 요청 수는 카카오 플랫폼에 정상적으로 전달되어 요청 수행 및 응답에 성공한 요청 1건당 1씩 집계(Count)됩니다. 번역, 음성, 포즈 API 중 일부 API의 쿼터는 문자나 프레임 수와 같은 API 요청에 따른 데이터 처리량을 기준으로 별도 집계됩니다.

제품 소개

이 항목은 카카오 플랫폼이 제공하는 제품 소개 및 문서, 데모 바로가기를 제공합니다. 제품을 함께 참고합니다.

모든 API는 기본적으로 REST API 방식으로 제공하고 있으며, 보다 쉽게 API를 사용할 수 있도록 도와주는 Kakao SDK for JavaScript(이하 JavaScript SDK), iOS, Android도 제공합니다. 카카오 로그인과 같이 기본적인 기능과 카카오톡 공유와 같이 자주 쓰이는 기능들을 Kakao SDK로 구현할 수 있습니다. REST API 사용이 어렵다면 Kakao SDK를 활용해 개발하는 것을 권장합니다. 단, Kakao SDK는 일부 기능을 지원하지 않으므로 아래 목록에서 서비스별 Kakao SDK 지원 여부를 확인해야 합니다.

개발자 웹사이트 [도구] 메뉴에서 JavaScript SDK를 이용한 데모와 REST API 테스트 기능을 제공합니다. 또한 일부 기능은 별도 데모 페이지를 제공하며, 기능 소개의 링크를 통해 이용 가능합니다.

카카오 로그인

사용자가 카카오톡이나 카카오계정으로 간편하게 서비스에 로그인하는 기능을 제공하는 소셜 로그인 API입니다. PC나 모바일 웹에서는 REST API와 JavaScript SDK를, Android와 iOS 플랫폼에서는 Kakao SDK for Android, iOS를 사용해 카카오 로그인을 구현할 수 있습니다.

또한, 사용자가 카카오계정에 입력한 정보를 조회하거나, 서비스의 필요에 따라 앱별로 사용자 정의(Custom)한 값들을 저장할 수 있습니다. 각 서비스 앱은 API를 통해 사용자가 제공 동의한 카카오계정 정보를 받아 활용할 수 있습니다.

OAuth 2.0 기반인 REST API는 인가 코드 받기와 토큰 받기 두 단계를 거쳐 로그인을 요청하며, Kakao SDK 사용 시에는 로그인 함수를 사용합니다. Kakao SDK는 인증 정보를 담은 토큰을 관리하는 기능을 내장하고 있어 토큰 갱신하기 API를 따로 제공하지 않습니다.

사용자 목록 가져오기는 서비스 관리자를 위한 기능으로, 앱 어드민 키를 사용해 요청합니다. 따라서 다른 종류의 앱 키를 쓰는 Kakao SDK에서는 사용자 목록 가져오기 기능을 지원하지 않습니다.

자세한 정보는 카카오 로그인을 참고합니다.

카카오톡 소셜

카카오톡 소셜 API는 서비스 안에서 모바일 메신저 카카오톡 친구 목록을 보여주거나 메시지를 보내는 소셜 활동을 구현할 때 사용합니다. 카카오톡 친구 정보를 데이터로 제공하지만, 카카오톡 친구 목록 페이지는 서비스 UI(User Interface)에 맞춰 직접 구현해야 합니다. 이 API는 소셜 활동을 통해 사용자 재방문을 유도할 수 있다는 장점이 있습니다.

자세한 정보는 카카오톡 소셜을 참고합니다.

메시지

메시지: 카카오톡

카카오톡 메시지 API는 사용자 자신이나 카카오톡 친구에게 메시지를 보내는 기능입니다. 카카오톡 메시지 API를 사용하면 서비스 서버나 앱에서 메시지 보내기를 API로 요청할 수 있습니다.

이 API를 통해 친구에게 메시지를 보내려면 먼저 카카오톡 소셜 API의 친구 목록 가져오기를 사용해 메시지를 보낼 친구 정보를 받아야 합니다. 또한 함께 서비스를 이용하고 있는 친구를 대상으로만 메시지를 보낼 수 있습니다.

자세한 정보는 메시지를 참고합니다.

메시지: 카카오톡 공유

카카오톡 공유 API는 서비스에서 제공하는 정보를 카카오톡 메시지로 친구들과 공유하는 기능입니다. 친구 목록 페이지를 카카오에서 제공하거나 카카오톡 앱에서 메시지를 보내기 때문에 카카오톡 API보다 구현하기 쉽고, 모든 카카오톡 친구를 대상으로 메시지를 보낼 수 있습니다.

자세한 정보는 메시지를 참고합니다.

카카오스토리

카카오스토리 API는 카카오가 서비스하는 소셜네트워크서비스(SNS)인 카카오스토리에 새로운 게시물을 쓰거나 삭제하고, 사용자의 스토리를 불러와 카카오스토리와 연계된 서비스를 구현할 때 유용한 기능들을 제공합니다.

카카오스토리 API는 SDK별로 지원하는 기능이 다른 점에 유의합니다. JavaScript SDK는 PC 또는 모바일 웹에서 사용하며, 사용자 환경에 따라 카카오스토리 앱으로 연결이 불가능하므로 두 가지 공유하기 방식을 제공합니다. 이미지 업로드하기 및 웹 페이지 스크랩하기는 REST API의 경우 별도로 호출해야 하지만, 카카오 SDK에서는 내장된 기능을 사용합니다.

자세한 정보는 카카오스토리를 참고합니다.

카카오톡 채널

카카오톡 채널은 카카오톡 사용자들에게 다양한 서비스 소식을 메시지와 게시물 형태로 전파할 수 있는 서비스로써, 카카오톡 채널 API는 1:1 채팅, 스마트채팅, 봇 등 유용한 연계 기능들을 제공합니다. 이 기능들을 활용해 웹 페이지에서 서비스의 카카오톡 채널을 홍보하거나 사용자들의 채널 이용을 더욱 활발하게 할 수 있습니다.

카카오톡 채널 관리자가 보다 편리하게 친구 그룹을 관리할 수 있도록 카카오톡 채널 고객 관리 API도 제공합니다. 이 기능은 관리자 페이지를 구현할 때 사용할 수 있도록 제공되는 것이므로 REST API 방식으로만 사용 가능합니다.

자세한 정보는 카카오톡 채널을 참고합니다.

카카오싱크

카카오싱크는 사용자가 카카오계정 및 정보로 다양한 서비스를 이용할 수 있는 간편가입 서비스를 구현하기 위한 비즈니스 솔루션입니다. 카카오싱크를 통해 복잡한 회원가입 및 정보 입력 절차를 거치지 않고 손쉽게 신규 회원을 확보할 수 있으며, 확보한 회원 데이터를 바탕으로 타깃 메시지를 발송할 수 있습니다. 또한 추가 개발을 통해 자동 로그인 기능을 구현하면 사용자가 서비스 페이지에 방문하는 순간 자동으로 로그인되어, 사용자가 로그인 단계에서 이탈하는 경우를 방지할 수 있습니다.

카카오는 자동 로그인, 배송지 조회하기 등 카카오싱크의 이용 효과를 높이기 위한 API들을 제공합니다. 이 중 타깃 메시지 발송 대상 관리를 위해 필요한 기능인 채널 관계 알림 받기는 REST API로만 제공됩니다.

자세한 정보는 카카오싱크카카오비즈니스 홈페이지를 참고합니다.

카카오페이

카카오페이 API는 웹사이트와 모바일 애플리케이션 등 다양한 환경에서 카카오페이로 결제하는 기능을 제공합니다.

자세한 정보는 카카오페이를 참고합니다.

카카오모먼트

카카오모먼트 API는 카카오모먼트 플랫폼의 광고계정, 캠페인, 광고그룹, 소재(creative)와 관련된 기능을 조회하고 이와 관련된 성과 지표를 확인할 수 있는 기능을 제공합니다.

자세한 정보는 카카오모먼트를 참고합니다.

카카오 키워드광고

카카오 키워드광고 API는 카카오 키워드광고에서 집행되는 광고 정보를 조회하거나 수정, 삭제할 수 있도록 API로 관리 기능을 제공합니다.

자세한 정보는 카카오 키워드광고를 참고합니다.

푸시 알림

푸시 알림 API는 Apple Push Notification service(APNs)과 Firebase Cloud Messaging(FCM)을 활용하여 카카오 플랫폼을 통해 사용자에게 푸시 알림을 보내는 API입니다. 사용자 기기의 푸시 토큰 정보를 이용하는 기능이므로 iOS, Android, REST API 방식을 지원합니다. 서비스 관리자가 등록된 사용자들에게 푸시 알림을 보내는 기능은 REST API로 구현합니다. 단, iOS의 경우 Kakao SDK를 통해 나에게 푸시 알림 보내기 기능을 사용할 수 있습니다.

자세한 정보는 푸시 알림을 참고합니다.

Daum 검색

Daum 검색 API는 포털 사이트 Daum에서 방대한 웹 문서, 동영상, 이미지, 블로그, 책, 카페를 검색하는 기능을 제공합니다.

자세한 정보는 Daum 검색을 참고합니다.

지도/로컬 API

지도

지도 SDK는 웹사이트와 모바일 애플리케이션에서 카카오맵 지도를 이용한 서비스를 제작할 수 있도록 다양한 기능을 제공합니다. iOS와 Android, JavaScript SDK를 이용할 수 있습니다.

자세한 정보는 지도 SDK를 참고합니다.

로컬

로컬 API는 키워드로 특정 장소 정보를 조회하거나, 좌표를 주소 또는 행정구역으로 변환하는 등 장소에 대한 정보를 제공하는 API입니다.

자세한 정보는 로컬을 참고합니다.

카카오내비

카카오내비 API는 카카오내비를 통해 길을 안내하는 내비게이션 기능과 경로 안내 데이터를 제공합니다.

자세한 정보는 카카오내비를 참고합니다.

비전

비전 API는 이미지를 분석해서, 콘텐츠 형태와 의미를 이해하여 보다 적절하고 효과적으로 활용할 수 있도록 돕는 기능들을 제공합니다. 사진 속에 어떤 상품이 있는지 찾아주거나, 사진 속 인물의 성별과 연령대를 추정해주기도 하고, 이미지에 알맞는 태그로 활용할 수 있는 단어를 추천해주기도 합니다.

자세한 정보는 비전을 참고합니다.

포즈

포즈 API는 이미지와 영상에서 사람들을 추출하여 사람들의 자세를 분석하는 API입니다. 사람의 17개의 신체 부위를 정확히 인식하여 요가나 스포츠에서 볼 수 있는 일반적이지 않은 고난이도 자세를 분석할 수 있습니다. 이러한 기능은 사람의 움직임을 감지할 수 있는 디바이스를 이용하여 운동이나 오락을 위한 서비스에도 활용할 수 있습니다.

자세한 정보는 포즈를 참고합니다.

번역

번역 API를 통해 카카오 i 번역의 기능 일부를 이용할 수 있습니다. 번역 API는 텍스트의 종류를 감지하거나, 다양한 언어로 번역합니다. 번역 시 문맥 및 문체를 반영해 자연스러운 표현을 사용하며, 한국어와 다른 언어는 물론 다른 언어끼리 번역하는 것도 가능합니다.

자세한 정보는 번역을 참고합니다.

음성

음성 API는 마이크와 스피커를 이용해 입력된 사용자의 음성 언어를 인식하거나, 문자로 된 데이터를 음성으로 바꿔주는 API입니다. JavaScript SDK는 이 기능을 제공하지 않습니다.

자세한 정보는 음성을 참고합니다.