사이드 메뉴
커뮤니케이션
API 제공
어드민 API
Android
이 문서는 Partner Android SDK(Kakao Partner SDK for Android)를 사용한 카카오톡 모듈의 메시지 기능 사용 방법을 안내합니다. 메시지 API를 사용해 본 경험이 없다면 카카오톡 메시지에서 기능 소개와 이용 정책과 같은 기본 정보를 확인할 것을 권장합니다.
Partner Android SDK는 누구나 사용 가능한 Open Android SDK(Kakao SDK for Android)에서 제공하지 않는 파트너 특화 기능을 추가 제공합니다.
- Open Android SDK: 앱과 연결되어 있는 카카오톡 친구를 대상으로만 메시지 전송 가능
- Partner Android SDK: 앱과 연결되지 않은 카카오톡 친구를 대상으로 초대 메시지 전송 가능, 채팅방 메시지 전송도 가능
- 초대 메시지를 보내기 위해 앱과 연결되지 않은 친구의 정보만 가져오려면 카카오톡 친구 목록 조회의
friendFilter를invitable로 지정해 요청 - 카카오톡 친구에게 보내는 메시지와 채팅방에 보내는 메시지는 각각 별개의 메서드를 사용해 전송
- 초대 메시지를 보내기 위해 앱과 연결되지 않은 친구의 정보만 가져오려면 카카오톡 친구 목록 조회의
| 메시지 유형 | Open Android SDK | Partner Android SDK |
|---|---|---|
| 초대 메시지 | 미지원 | 지원 |
| 채팅방 메시지 | 미지원 | 지원 |
사용자 카카오계정에 연결된 카카오톡으로, 기본 템플릿을 적용한 메시지를 나에게 발송합니다.
Open Android SDK의 sendDefaultMemo() 메서드를 호출합니다.
자세한 안내와 예제는 나에게 기본 템플릿으로 메시지 발송을 참고합니다.
사용자 카카오계정에 연결된 카카오톡으로, 사용자 정의 템플릿을 적용한 메시지를 나에게 발송합니다.
Open Android SDK의 sendCustomMemo() 메서드를 호출합니다.
자세한 안내와 예제는 나에게 사용자 정의 템플릿으로 메시지 발송을 참고합니다.
사용자 카카오계정에 연결된 카카오톡으로, 기본 템플릿에 웹 페이지 스크랩 정보를 담은 메시지를 나에게 발송합니다.
Open Android SDK의 sendScrapMemo() 메서드를 호출합니다.
자세한 안내와 예제는 나에게 스크랩 메시지 발송을 참고합니다.
| 레퍼런스 | 앱 설정 |
|---|---|
[SDK] sendDefaultMessageForPartner()[SDK] PartnerMessageSendResult | 설치 초기화 커스텀 URL 스킴 설정 |
사용자 카카오계정에 연결된 카카오톡으로, 기본 템플릿을 적용한 메시지를 친구에게 발송합니다.
- 메시지 템플릿 구성: 원하는 템플릿 종류에 따라 객체를 구성합니다. 템플릿 구성 방법은 기본 템플릿을 참고합니다.
- 메시지 수신자 조회: 카카오톡 친구 목록 조회 API 또는 인하우스 앱: 카카오톡 친구 목록 조회 API로 사용자의 카카오톡 친구 ID를 가져옵니다.
- 수신자와 템플릿 지정:
sendDefaultMessageForPartner()호출 시,receiverUuids파라미터의 값에 카카오톡 친구의 ID 목록을 전달합니다. 이와 함께 앞서 구성한 템플릿 객체를template파라미터로 전달합니다.
// 실제 카카오톡 친구의 UUID는 friendsForPartner()로 획득 가능// 서비스 UI에 맞춰 친구 목록 출력 후, 사용자가 선택한 친구의 UUID를 메시지 발송에 사용할 것val receiverUuids = listOf("freindsUuid1","freindsUuid2","freindsUuid3")val defaultFeed = FeedTemplate(content = Content(title = "딸기 치즈 케익",description = "#케익 #딸기 #삼평동 #카페 #분위기 #소개팅",imageUrl = "http://mud-kage.kakao.co.kr/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",link = Link(webUrl = "https://developers.kakao.com",mobileWebUrl = "https://developers.kakao.com")),social = Social(likeCount = 286,commentCount = 45,sharedCount = 845),buttons = listOf(Button("웹으로 보기",Link(webUrl = "https://developers.kakao.com",mobileWebUrl = "https://developers.kakao.com")),Button("앱으로 보기",Link(androidExecutionParams = mapOf("key1" to "value1", "key2" to "value2"),iosExecutionParams = mapOf("key1" to "value1", "key2" to "value2")))))TalkApiClient.instance.sendDefaultMessageForPartner(receiverUuids, defaultFeed) { result, error ->if (error != null) {Log.e("에러", "메시지 전송 실패", error)} else {Log.i("성공", "${result!!.successfulReceiverIds}")}}
| 레퍼런스 | 앱 설정 |
|---|---|
[SDK] sendCustomMessageForPartner()[SDK] PartnerMessageSendResult | 설치 초기화 커스텀 URL 스킴 설정 |
사용자 카카오계정에 연결된 카카오톡으로, 사용자 정의 템플릿을 적용한 메시지를 친구에게 발송합니다.
- 메시지 템플릿 구성: [도구] > [메시지 템플릿]에서 메시지 템플릿을 구성합니다. 템플릿 구성 방법은 사용자 정의 템플릿을 참고합니다.
- 메시지 수신자 조회: 카카오톡 친구 목록 조회 API 또는 인하우스 앱: 카카오톡 친구 목록 조회 API로 사용자의 카카오톡 친구 ID를 가져옵니다.
- 수신자와 템플릿 지정:
sendCustomMessageForPartner()호출 시,receiverUuids파라미터의 값에 카카오톡 친구의 ID 목록을 전달합니다. 이와 함께 앞서 구성한 메시지 템플릿의 ID를templateId파라미터로 전달합니다. - 사용자 인자 전달(선택): 메시지에 변동되는 정보를 포함하려면 해당 사용자 정의 템플릿에 사용자 인자를 추가한 후,
templateArgs파라미터로 키와 값을 전달합니다. 자세한 사용 방법과 주의 사항은 직접 사용자 인자 입력하기에서 확인할 수 있습니다.
// 실제 카카오톡 친구의 UUID는 friendsForPartner()로 획득 가능// 서비스 UI에 맞춰 친구 목록 출력 후, 사용자가 선택한 친구의 UUID를 메시지 발송에 사용할 것val receiverUuids = listOf("freindsUuid1","freindsUuid2","freindsUuid3")val templateId: Long = 12345TalkApiClient.instance.sendCustomMessageForPartner(receiverUuids, templateId) { result, error ->if (error != null) {Log.e("에러", "메시지 전송 실패", error)} else {Log.i("성공", "${result!!.successfulReceiverIds}")}}
| 레퍼런스 | 앱 설정 |
|---|---|
[SDK] sendScrapMessageForPartner()[SDK] PartnerMessageSendResult | 설치 초기화 커스텀 URL 스킴 설정 |
사용자 카카오계정에 연결된 카카오톡으로, 웹 페이지 스크랩 정보가 담긴 기본 템플릿을 적용한 메시지를 친구에게 발송합니다.
- 메시지 수신자 조회: 카카오톡 친구 목록 조회 API 또는 인하우스 앱: 카카오톡 친구 목록 조회 API로 사용자의 카카오톡 친구 ID를 가져옵니다.
- 수신자와 스크랩할 웹 페이지 URL 지정:
sendScrapMessageForPartner호출 시,receiverUuids파라미터의 값에 카카오톡 친구의 ID 목록을 전달합니다. 이와 함께 스크랩할 웹 페이지의 URL을requestUrl파라미터로 전달해야 합니다. 스크랩할 웹 페이지의 도메인은 앱 관리 페이지의 [앱] > [제품 링크 관리] > [웹 도메인]에 등록돼 있어야 합니다. - 사용자 정의 템플릿 적용 (선택): 서비스에서 정의한 메시지 템플릿을 기반으로 메시지를 보내고 싶으면 [도구] > [메시지 템플릿]에서 구성한 템플릿의 ID를
templateId파라미터로 전달해야 합니다. 템플릿 구성 방법은 사용자 정의 템플릿을 참고합니다. - 사용자 인자 전달(선택): 메시지에 변동되는 정보를 포함하려면 해당 사용자 정의 템플릿에 사용자 인자를 추가한 후,
templateArgs파라미터로 키와 값을 전달합니다. 자세한 사용 방법과 주의 사항은 직접 사용자 인자 입력하기에서 확인할 수 있습니다.
// 실제 카카오톡 친구의 UUID는 friendsForPartner()로 획득 가능// 서비스 UI에 맞춰 친구 목록 출력 후, 사용자가 선택한 친구의 UUID를 메시지 발송에 사용할 것val receiverUuids = listOf("freindsUuid1","freindsUuid2","freindsUuid3")val url = "https://developers.kakao.com"TalkApiClient.instance.sendScrapMessageForPartner(receiverUuids, url) { result, error ->if (error != null) {Log.e("에러", "메시지 전송 실패", error)} else {Log.i("성공", "${result!!.successfulReceiverIds}")}}
// 실제 카카오톡 친구의 UUID는 friendsForPartner()로 획득 가능// 서비스 UI에 맞춰 친구 목록 출력 후, 사용자가 선택한 친구의 UUID를 메시지 발송에 사용할 것val receiverUuids = listOf("freindsUuid1","freindsUuid2","freindsUuid3")val url = "https://developers.kakao.com"val templateId: Long = 12345TalkApiClient.instance.sendScrapMessageForPartner(receiverUuids, url, templateId) { result, error ->if (error != null) {Log.e("에러", "메시지 전송 실패", error)} else {Log.i("성공", "${result!!.successfulReceiverIds}")}}
| 레퍼런스 | 앱 설정 |
|---|---|
[SDK] sendDefaultMessageToChats()[SDK] PartnerMessageSendResult | 설치 초기화 커스텀 URL 스킴 설정 |
사용자 카카오계정에 연결된 카카오톡으로, 기본 템플릿을 적용한 메시지를 채팅방에 발송합니다.
- 메시지 템플릿 구성: 원하는 템플릿 종류에 따라 객체를 구성합니다. 템플릿 구성 방법은 기본 템플릿을 참고합니다.
- 메시지 수신 대상 조회: 채팅방 목록 조회 API로 사용자의 카카오톡 채팅방 ID를 가져옵니다.
- 수신자와 템플릿 지정:
sendDefaultMessageToChats()호출 시,receiverChatIds파라미터의 값에 채팅방 ID 목록을 전달합니다. 이와 함께 앞서 구성한 템플릿 객체를template파라미터로 전달합니다.
// 실제 채팅방 ID는 chatList()로 획득 가능// 서비스 UI에 맞춰 목록 출력 후, 사용자가 선택한 채팅방 ID를 메시지 발송에 사용할 것val receiverChatIds:List<Long> = listOf(123, 234, 345)val defaultFeed = FeedTemplate(content = Content(title = "딸기 치즈 케익",description = "#케익 #딸기 #삼평동 #카페 #분위기 #소개팅",imageUrl = "http://mud-kage.kakao.co.kr/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png",link = Link(webUrl = "https://developers.kakao.com",mobileWebUrl = "https://developers.kakao.com")),social = Social(likeCount = 286,commentCount = 45,sharedCount = 845),buttons = listOf(Button("웹으로 보기",Link(webUrl = "https://developers.kakao.com",mobileWebUrl = "https://developers.kakao.com")),Button("앱으로 보기",Link(androidExecutionParams = mapOf("key1" to "value1", "key2" to "value2"),iosExecutionParams = mapOf("key1" to "value1", "key2" to "value2")))))TalkApiClient.instance.sendDefaultMessageToChats(receiverChatIds, defaultFeed) { result, error ->if (error != null) {Log.e("에러", "메시지 전송 실패", error)} else {Log.i("성공", "${result!!.successfulReceiverIds}")}}
| 레퍼런스 | 앱 설정 |
|---|---|
[SDK] sendCustomMessageToChats()[SDK] PartnerMessageSendResult | 설치 초기화 커스텀 URL 스킴 설정 |
사용자 카카오계정에 연결된 카카오톡으로, 사용자 정의 템플릿을 적용한 메시지를 채팅방에 발송합니다.
- 메시지 템플릿 구성: [도구] > [메시지 템플릿]에서 메시지 템플릿을 구성합니다. 템플릿 구성 방법은 사용자 정의 템플릿을 참고합니다.
- 메시지 수신 대상 조회: 채팅방 목록 조회 API로 사용자의 카카오톡 채팅방 ID를 가져옵니다.
- 수신자와 템플릿 지정:
sendCustomMessageToChats()호출 시,receiverChatIds파라미터의 값에 채팅방 ID 목록을 전달합니다. 이와 함께 앞서 구성한 메시지 템플릿의 ID를templateId파라미터로 전달합니다. - 사용자 인자 전달(선택): 메시지에 변동되는 정보를 포함하려면 해당 사용자 정의 템플릿에 사용자 인자를 추가한 후,
templateArgs파라미터로 키와 값을 전달합니다. 자세한 사용 방법과 주의 사항은 직접 사용자 인자 입력하기에서 확인할 수 있습니다.
// 실제 채팅방 ID는 chatList()로 획득 가능// 서비스 UI에 맞춰 목록 출력 후, 사용자가 선택한 채팅방 ID를 메시지 발송에 사용할 것val receiverChatIds:List<Long> = listOf(123, 234, 345)val templateId: Long = 12345TalkApiClient.instance.sendCustomMessageToChats(receiverChatIds, templateId) { result, error ->if (error != null) {Log.e("에러", "메시지 전송 실패", error)} else {Log.i("성공", "${result!!.successfulReceiverIds}")}}
| 레퍼런스 | 앱 설정 |
|---|---|
[SDK] sendScrapMessageToChats()[SDK] PartnerMessageSendResult | 설치 초기화 커스텀 URL 스킴 설정 |
사용자 카카오계정에 연결된 카카오톡으로, 웹 페이지 스크랩 정보가 담긴 메시지를 채팅방에 발송합니다.
- 메시지 수신 대상 조회: 채팅방 목록 조회 API로 사용자의 카카오톡 채팅방 ID를 가져옵니다.
- 수신자와 템플릿 지정:
sendScrapMessageToChats()호출 시,receiverChatIds파라미터의 값에 채팅방 ID 목록을 전달합니다. 이와 함께 스크랩할 웹 페이지의 URL을requestUrl파라미터로 전달합니다. 스크랩할 웹 페이지의 도메인은 앱 관리 페이지의 [앱] > [제품 링크 관리] > [웹 도메인]에 등록돼 있어야 합니다. - 사용자 정의 템플릿 적용 (선택): 서비스에서 정의한 메시지 템플릿을 기반으로 메시지를 보내고 싶으면 [도구] > [메시지 템플릿]에서 구성한 템플릿의 ID를
templateId파라미터로 전달해야 합니다. 템플릿 구성 방법은 사용자 정의 템플릿을 참고합니다. - 사용자 인자 전달(선택): 메시지에 변동되는 정보를 포함하려면 해당 사용자 정의 템플릿에 사용자 인자를 추가한 후,
templateArgs파라미터로 키와 값을 전달합니다. 자세한 사용 방법과 주의 사항은 직접 사용자 인자 입력하기에서 확인할 수 있습니다.
// 실제 채팅방 ID는 chatList()로 획득 가능// 서비스 UI에 맞춰 목록 출력 후, 사용자가 선택한 채팅방 ID를 메시지 발송에 사용할 것val receiverChatIds:List<Long> = listOf(123, 234, 345)val url = "https://developers.kakao.com"TalkApiClient.instance.sendScrapMessageToChats(receiverChatIds, url) { result, error ->if (error != null) {Log.e("에러", "메시지 전송 실패", error)} else {Log.i("성공", "${result!!.successfulReceiverIds}")}}
// 실제 채팅방 ID는 chatList()로 획득 가능// 서비스 UI에 맞춰 목록 출력 후, 사용자가 선택한 채팅방 ID를 메시지 발송에 사용할 것val receiverChatIds:List<Long> = listOf(123, 234, 345)val url = "https://developers.kakao.com"val templateId: Long = 12345TalkApiClient.instance.sendScrapMessageToChats(receiverChatIds, url, templateId) { result, error ->if (error != null) {Log.e("에러", "메시지 전송 실패", error)} else {Log.i("성공", "${result!!.successfulReceiverIds}")}}
KAGE 분산 스토리지로 메시지 발송 API에 사용할 이미지를 업로드합니다.
자세한 안내와 예제는 이미지 업로드를 참고합니다.
카카오 내부 또는 외부에 존재하는 웹 URL의 이미지 정보를 KAGE에 스크랩합니다.
자세한 안내와 예제는 이미지 업로드를 참고합니다.