KakaoTalk

KakaoTalk API refers to KakaoTalk service offered as API. This only works in an app that has Kakao account login function and only with users who have linked their KakaoTalk with kakao account.

현재 제공되는 카카오톡 API는 다음과 같습니다.

Getting Started

First, you have to install Kakao iOS SDK and follow initialization. For details, refer to Start.

Following errors could be returned upon KakaoTalk API call.

Profile request

Requesting profile is only allowed for users who have linked their kakao account with KakaoTalk. In order to use this functionality ,User token is needed which can be retrieved from successful login.

Below are the information which can be retrieved from KakaoTalk profile API.

  • KakaoTalk Nickname info (nickName)
  • KakaoTalk Profile image URL (profileImageURL)
  • KakaoTalk Profile image thumbnail URL (thumbnailImageURL)
  • KakaoTalk Country code (countryISO)

[KOSessionTask talkProfileTaskWithCompletionHandler:^(KOTalkProfile* result, NSError* error) {
    if (profile) {
        NSLog(@"%@",profile.nickName);
    } else {
        NSLog(@"failed to get talk profile.");
    }
}];

나에게 보내기

카카오톡 나에게 보내기는 사용자 중에서 카카오계정에 연결한 카카오톡 사용자에 한해 카카오톡 나와의 챗팅방으로 메시지를 보낼 수 있는 기능입니다. 해당 기능을 사용하기 위해서는 성공적인 로그인 후에 얻을 수 있는 사용자 토큰이 필요합니다.

[KOSessionTask talkSendMemoTaskWithTemplateID:...] 또는 [KOTalkMessageSending sendMemoWithTemplateID:...] API를 호출합니다.

Value Type Description
templateID NSString '메시지 템플릿' 메뉴를 통해 생성한 메시지 템플릿 id
messageArguments NSDictionary 메시지 템플릿에 정의한 arg가 있다면, key에 해당하는 value를 포함한 데이타 맵

결과는 completionHandler를 통해 받습니다.

다음은 카카오톡 나에게 보내기를 요청하는 예제입니다. templateID "12345"에 arguments가 ${MESSAGE}와 ${DATE}를 포함한 경우 입니다.

[KOSessionTask talkSendMemoTaskWithTemplateID:@"12345"
                             messageArguments:@{@"MESSAGE":@"안녕하세요? 나와의 채팅방으로 보낸 메세지입니다.", @"DATE":@"2016-XX-XX"}
                            completionHandler:^(NSError *error) {
    if (error) {
        NSLog(@"failed to send a memo.");
    } else {
        NSLog(@"sent a memo successfully.");
    }
}];
[user sendMemoWithTemplateID:@"12345"
                     messageArguments:@{@"MESSAGE":@"안녕하세요? 나와의 채팅방으로 보낸 메세지입니다.", @"DATE":@"2016-XX-XX"}
                    completionHandler:^(NSError *error) {
    if (error) {
        NSLog(@"failed to send a memo.");
    } else {
        NSLog(@"sent a memo successfully.");
    }
}];

KOUserInfo는 KOTalkMessageSending 프로토콜을 구현하고 있습니다.


Last Modified : 2017-07-28