카카오톡

카카오톡 API는 카카오톡 서비스에서 제공하는 API를 말합니다. 카카오계정으로 로그인을 하는 앱에서 사용할 수 있고, 카카오계정에 연결한 카카오톡 사용자에 대해서만 사용할 수 있습니다.

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

시작하기 전에

Kakao iOS SDK를 설치하고 초기화해야 합니다. 자세한 내용은 시작하기를 참고해 주세요.

카카오톡 관련 API를 호출할때 리턴될 수 있는 에러는 아래와 같습니다.

프로필 요청

프로필 요청은 사용자중에 카카오계정에 연결한 카카오톡 사용자에 한해 카카오톡 프로필 정보를 얻어 올 수 있는 기능입니다. 해당 기능을 사용하기 위해서는 성공적인 로그인 후에 얻을 수 있는 사용자 토큰이 필요합니다.

현재 카카오톡 프로필 API에서 제공되는 정보는 아래와 같습니다.

  • 카카오톡의 닉네임 정보 (nickName)
  • 카카오톡의 프로필 이미지 URL (profileImageURL)
  • 카카오톡의 프로필 이미지의 썸네일 URL (thumbnailImageURL)
  • 카카오톡의 국가코드 (countryISO)

[KOSessionTask talkProfileTaskWithCompletionHandler:^(KOTalkProfile* profile, 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