페이지 이동경로
  • 문서>
  • 메시지>
  • 이해하기

메시지

이해하기

이 문서는 메시지 API를 소개합니다.

메시지 발송 기능 안내

카카오에서 제공하는 다양한 카카오톡 메시지 발송 기능에 대해 안내합니다. 아래 표에서 제품별 차이를 확인할 수 있습니다.

제품명 설명 서비스 → 사용자
메시지 발송
제공 플랫폼
카카오톡 공유 사용자가 직접 서비스에서 콘텐츠를 선택해 카카오톡 대화방으로 공유합니다.

권장 용도: 사용자간 콘텐츠 공유 기능 구현
불가능 카카오디벨로퍼스
카카오톡 메시지 사용자가 직접 같은 서비스를 사용하는 카카오톡 친구에게 서로간 상호작용 목적의 메시지를 발송합니다.

권장 용도: 사용자간 상호작용 목적의 메시지 전송 기능 구현
불가능 카카오디벨로퍼스
친구톡 서비스가 광고성 또는 정보성 메시지를 서비스의 카카오톡 채널을 추가한 사용자에게 발송합니다.

권장 용도: 사용자에게 광고성 또는 정보성 메시지 발송
조건부 가능
(채널을 추가한 사용자 한정)
카카오비즈니스
알림톡 서비스가 정보성 메시지를 사용자에게 발송합니다.

권장 용도: 사용자에게 정보성 메시지 발송
가능 카카오비즈니스
상담톡 사용자가 직접 서비스 관련 문의를 할 수 있는 카카오톡 대화방을 엽니다.

권장 용도: 실시간 대화와 챗봇을 활용한 고객 상담 기능 구현
조건부 가능
(사용자의 상담 신청 이후)
카카오비즈니스

아래를 참고해 서비스에서 필요한 용도에 맞는 제품을 선택합니다.

  • 서비스 내 사용자간 메시지 발송 기능이 필요한 경우, 카카오톡 공유 또는 카카오톡 메시지 중 적합한 제품을 선택합니다.
  • 서비스에서 사용자에게 직접 메시지를 발송해야 하는 경우, 친구톡 또는 알림톡 중 적합한 제품을 선택합니다.
  • 서비스의 고객 상담 기능이 필요한 경우 상담톡 제품을 선택합니다.

친구톡, 알림톡, 상담톡에 대한 자세한 내용은 카카오비즈니스 문서에서 확인할 수 있습니다.

카카오톡 공유와 카카오톡 메시지의 기능 차이

카카오디벨로퍼스(Kakao Developers)가 제공하는 카카오톡 메시지 발송 기능인 카카오톡 공유카카오톡 메시지의 차이점에 대해 안내합니다. 두 제품 모두 사용자간 메시지 전송만 지원하며, 서비스가 사용자에게 메시지를 발송할 수 없습니다.

아래 표에서 기능 차이를 확인하고 서비스 요구 사양에 적합한 제품을 선택합니다.

항목 카카오톡 공유 카카오톡 메시지
메시지 발송 가능 대상 사용자의 모든 카카오톡 친구 사용자의 카카오톡 친구 중 친구 목록 가져오기 API의 정보 제공 조건을 만족하는 친구
메시지 발송 대상 선택 UI 별도 구현 필요 없음 친구 피커 API 호출 또는 친구 목록 가져오기 API로 구현한 UI 제공 필요
메시지 발송 방법 사용자가 카카오톡 앱에서 대상 선택 시 자동으로 공유 메시지 발송 메시지 발송 대상 선택 UI 제공 후, 선택 결과를 포함해 카카오톡 메시지 API 호출 필요
사용 권한 필요 X O
REST API 지원 X O
메시지 발송 성공 여부 확인 카카오톡 공유 웹훅으로 확인 API 응답으로 확인

카카오톡 공유

카카오톡 공유는 사용자가 직접 서비스에서 콘텐츠를 선택해 카카오톡 대화방으로 공유하는 기능입니다. 카카오톡 공유를 사용한 컨텐츠 공유 기능을 이벤트 홍보 또는 추가 사용자 확보를 수단으로 활용할 수 있습니다.

카카오가 제공하는 다양한 메시지 발송 기능의 종류와 특징은 메시지 발송 기능 안내에서 확인할 수 있습니다. 카카오디벨로퍼스에서 제공하는 메시지 발송 기능의 차이점은 카카오톡 공유와 카카오톡 메시지의 기능 차이에서 확인할 수 있습니다.

카카오톡 공유 발송 과정

사용자가 서비스에서 카카오톡 공유 메시지를 발송하는 과정에 대해 안내합니다. 아래 시퀀스 다이어그램(Sequence diagram)과 단계별 설명을 참고합니다.

카카오톡 공유 발송 과정
  1. 사용자가 서비스 화면에서 카카오톡 공유 발송 버튼을 선택하면, 서비스는 메시지 템플릿으로 구성한 메시지를 파라미터로 포함해 카카오톡 공유 API를 호출합니다.
  2. 사용자 기기의 카카오톡이 실행되고, 카카오톡 친구(또는 채팅방) 목록이 표시됩니다.
  3. 사용자가 카카오톡 친구(또는 채팅방) 목록에서 원하는 발송 대상을 선택하면, 카카오톡 공유 메시지가 발송됩니다.
카카오톡 최소 지원 버전

카카오톡 공유는 사용자 기기에 카카오톡 공유를 지원하는 버전 이상의 카카오톡이 설치되어 있어야 정상 동작합니다. 카카오톡 공유 이용을 위한 플랫폼별 카카오톡 최소 버전은 아래와 같습니다. - Android, iOS: 10.0.0

Android Sharesheet 또는 iOS 공유 익스텐션으로 카카오톡 공유하기

모바일 환경의 경우, 메시지 템플릿을 사용하지 않고 파일 등 간단한 데이터만을 공유하려면 각 플랫폼의 공유하기 기능을 사용해 카카오톡으로 공유할 수 있습니다. 자세한 내용은 아래 공식 문서를 참고합니다. - Android: 다른 앱으로 간단한 데이터 보내기 - iOS: Supporting suggestions in your app’s share extension

카카오톡 메시지

카카오톡 메시지는 사용자가 직접 같은 서비스를 사용하는 카카오톡 친구에게 서로간 상호작용 목적의 메시지를 발송하는 기능입니다. 사용자간 메시지를 전송하는 기능으로 상호작용할 수 있는 환경을 제공하거나, 사용자 본인에게 메시지를 전송하는 기능으로 개인화된 맞춤 서비스를 제공할 수 있습니다.

카카오가 제공하는 다양한 메시지 발송 기능의 종류와 특징은 카카오톡 메시지 발송 기능 안내에서 확인할 수 있습니다. 카카오디벨로퍼스에서 제공하는 메시지 발송 기능의 차이점은 카카오톡 공유와 카카오톡 메시지의 기능 차이에서 확인할 수 있습니다.

카카오톡 메시지 발송 과정

사용자가 서비스에서 카카오톡 메시지를 발송하는 과정에 대해 안내합니다. 아래 시퀀스 다이어그램(Sequence diagram)과 단계별 설명을 참고합니다.

카카오톡 메시지 발송 과정
  1. 사용자가 서비스 화면에서 카카오톡 메시지 발송 버튼을 선택하면, 서비스는 아래 중 한 가지 방법으로 메시지의 발송 대상을 선택할 수 있는 UI를 제공합니다.
  2. 사용자가 친구 피커 또는 서비스 UI에서 원하는 발송 대상을 선택하면, 서비스는 발송 대상 정보를 응답받습니다.
  3. 서비스가 응답받은 발송 대상 정보와 메시지 템플릿으로 구성한 메시지를 파라미터로 포함해 카카오톡 메시지 API를 호출하면, 카카오톡 메시지가 발송됩니다.

이용 정책

사용 권한 신청

카카오톡 메시지 API 중 친구에게 보내기 API는 사용 권한이 주어진 앱에서만 사용할 수 있습니다. 사용 권한이 없는 앱 또는 테스트 앱에서는, 앱의 팀원만 호출할 수 있고 응답 범위도 해당 팀원으로 제한됩니다. 실제 서비스에서 모든 사용자에게 기능을 사용하려면 [내 애플리케이션] > [앱 권한 신청]에서 사용 권한을 신청해야 합니다.

사용 권한 신청 전 아래 과정을 선행해야 합니다.

  1. 동의항목을 참고해 [카카오톡 메시지 전송(talk_message)] 동의항목 설정
  2. 친구에게 보내기 API를 사용한 기능 구현
  3. 앱의 팀원을 대상으로 기능이 정상 동작하는지 확인

사용 권한을 받으면 서비스의 모든 사용자에게 친구에게 메시지 API 기능을 제공할 수 있습니다.

카카오톡 소셜 사용 권한 신청

카카오톡 메시지 API로 친구에게 메시지를 보내려면 카카오톡 소셜 기능을 사용해 카카오톡 친구 정보를 제공받아야 합니다. 카카오톡 친구 정보는 친구 목록 데이터 또는 친구 피커 형태로 제공받을 수 있습니다. 카카오톡 소셜 기능 또한 팀원 외 사용자 대상으로 사용하려면 사용 권한이 필요하며, 두 기능의 사용 권한을 함께 신청할 수 있습니다.

쿼터

카카오 API는 원활한 서비스 제공을 위해 월간 및 일간 쿼터(Quota)를 적용합니다. 현재 적용 중인 쿼터 정보는 쿼터에서 확인할 수 있습니다.

카카오톡 공유

카카오톡 공유 API 쿼터는 앱 권한 신청으로 적용된 한도의 상향 권한을 신청할 수 있습니다. 이외의 협의 및 제휴는 별도 문의합니다.

카카오톡 메시지

카카오톡 메시지 API는 사용 권한 신청 전에는 쿼터 한도가 제한되며, 빈번한 메시지로부터 사용자를 보호하기 위해 쿼터 한도 상향이 불가능합니다.

프로필 공개 설정

카카오톡 메시지 API로 발송된 메시지의 말풍선에는 프로필 공개 설정 버튼이 제공됩니다. 사용자는 해당 버튼을 눌러 해당 앱의 친구 목록에 자신을 노출할 것인지 공개 여부를 설정할 수 있습니다. 이 설정이 비공개인 사용자는 피커의 친구 목록과 친구 목록 가져오기 응답에 포함되지 않으므로, 카카오톡 메시지를 보낼 때 필요한 수신자 uuid 조회가 불가능하므로 메시지를 보낼 수 없습니다. 자세한 안내는 프로필 공개 설정을 참고합니다.

스크랩 허용을 위한 방화벽 설정

서비스 서버의 방화벽에서 카카오 스크랩 서버의 접근을 차단한 경우, 카카오톡 공유 전송이 매우 느리거나 이미지가 표시되지 않을 수 있습니다. 이 경우, 방화벽을 참고해 ACL(Access Control List, 접근 제어 목록)에 카카오 스크랩 서버의 IP를 허용해야 합니다.

지원하는 기능

  • 각 API 및 기능의 Kakao SDK 지원 여부는 지원 범위에서 확인할 수 있습니다.

카카오톡 공유

API 및 기능 설명 문서
기본 템플릿으로 메시지 보내기 기본 템플릿을 사용해 카카오톡으로 메시지를 공유합니다. JavaScript
Android
iOS
Flutter
사용자 정의 템플릿으로 메시지 보내기 사용자 정의 템플릿을 사용해 카카오톡으로 메시지를 공유합니다. JavaScript
Android
iOS
Flutter
기본 템플릿으로 스크랩 메시지 보내기 지정한 웹 페이지를 스크랩한 정보로 스크랩 메시지를 구성하여 공유합니다. JavaScript
Android
iOS
Flutter
사용자 정의 템플릿으로 스크랩 메시지 보내기 사용자 정의 템플릿에 지정한 웹 페이지의 스크랩 정보를 대입해 메시지를 구성하고 공유합니다. JavaScript
Android
iOS
Flutter
이미지 업로드하기 카카오 서버에 이미지를 업로드 또는 스크랩하거나 삭제합니다. JavaScript
Android
iOS
Flutter
카카오톡 공유 웹훅 카카오톡 공유 메시지가 성공적으로 전달된 경우 서비스 서버에 알려줍니다.
카카오톡 공유 메시지는 카카오톡에서 발송되므로, 알림으로만 전송 성공 여부를 알 수 있습니다.
웹훅

카카오톡 메시지

API 및 기능 설명 문서
기본 템플릿으로 메시지 보내기 기본 템플릿을 사용해 카카오톡 메시지를 보냅니다. REST API
JavaScript
Android
iOS
Flutter
사용자 정의 템플릿으로 메시지 보내기 사용자 정의 템플릿을 사용해 카카오톡 메시지를 보냅니다. REST API
JavaScript
Android
iOS
Flutter
기본 템플릿으로 스크랩 메시지 보내기 지정한 웹 페이지를 스크랩한 정보로 스크랩 메시지를 구성해 카카오톡 메시지를 보냅니다. REST API
JavaScript
Android
iOS
Flutter
사용자 정의 템플릿으로 스크랩 메시지 보내기 지정한 웹 페이지의 스크랩 정보를 사용자 정의 템플릿에 대입해 카카오톡 메시지를 보냅니다. REST API
JavaScript
Android
iOS
Flutter