TalkApi
public class TalkApi
카카오 Open API의 카카오톡 API 호출을 담당하는 클래스입니다.
프로필 가져오기, 친구 목록 가져오기, 메시지 보내기 등이 기능을 제공합니다.
-
간편하게 API를 호출할 수 있도록 제공되는 공용 싱글톤 객체입니다.
Declaration
Swift
public static let shared: TalkApi
-
카카오톡 채널을 추가하기 위한 URL을 반환합니다. URL을 브라우저나 웹뷰에서 로드하면 연결 페이지(bridge page)를 통해 카카오톡을 실행합니다.
아래는 SFSafariViewController를 이용해 카카오톡 채널을 추가하는 예제입니다.
guard let url = TalkApi.shared.makeUrlForAddChannel(channelPublicId:"<#Your Channel Public ID#>" else { return } let safariViewController = SFSafariViewController(url: url) self.present(safariViewController, animated: true, completion: nil)
Declaration
Swift
public func makeUrlForAddChannel(channelPublicId: String) -> URL?
Parameters
channelPublicId
카카오톡 채널 홈 URL에 들어간 {_영문}으로 구성된 고유 아이디입니다. 홈 URL은 카카오톡 채널 관리자센터 > 관리 > 상세설정 페이지에서 확인할 수 있습니다.
-
카카오톡 채널 1:1 대화방 실행을 위한 URL을 반환합니다. URL을 브라우저나 웹뷰에서 로드하면 브릿지 웹페이지를 통해 카카오톡을 실행합니다.
아래는 SFSafariViewController를 이용해 1:1 대화방을 실행하는 예제입니다.
guard let url = TalkApi.shared.makeUrlForChannelChat(channelPublicId:"<#Your Channel Public ID#>" else { return } let safariViewController = SFSafariViewController(url: url) self.present(safariViewController, animated: true, completion: nil)
Declaration
Swift
public func makeUrlForChannelChat(channelPublicId: String) -> URL?
Parameters
channelPublicId
카카오톡 채널 홈 URL에 들어간 {_영문}으로 구성된 고유 아이디입니다. 홈 URL은 카카오톡 채널 관리자센터 > 관리 > 상세설정 페이지에서 확인할 수 있습니다.
-
로그인된 사용자의 카카오톡 프로필 정보를 얻을 수 있습니다.
Seealso
TalkProfile
Declaration
Swift
public func profile(completion: @escaping (TalkProfile?, Error?) -> Void)
-
카카오 디벨로퍼스에서 생성한 서비스만의 커스텀 메시지 템플릿을 사용하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다. 템플릿을 생성하는 방법은 https://developers.kakao.com/docs/latest/ko/message/ios#create-message 을 참고하시기 바랍니다.
Declaration
Swift
public func sendCustomMemo(templateId: Int64, templateArgs: [String : String]? = nil, completion: @escaping (Error?) -> Void)
-
기본 템플릿을 이용하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다.
Seealso
TemplateDeclaration
Swift
public func sendDefaultMemo(templatable: Templatable, completion: @escaping (Error?) -> Void)
-
지정된 URL을 스크랩하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다.
Declaration
Swift
public func sendScrapMemo(requestUrl: String, templateId: Int64? = nil, templateArgs: [String : String]? = nil, completion: @escaping (Error?) -> Void)
-
카카오톡 친구 목록을 조회합니다.
Seealso
Friends
Declaration
Swift
public func friends(offset: Int? = nil, limit: Int? = nil, order: Order? = nil, friendOrder: FriendOrder? = nil, completion:@escaping (Friends<Friend>?, Error?) -> Void)
-
카카오톡 친구 목록을 FriendContext를 파라미터로 조회합니다.
Seealso
FriendsContext
Declaration
Swift
public func friends(context: FriendsContext?, completion:@escaping (Friends<Friend>?, Error?) -> Void)
-
기본 템플릿을 사용하여, 조회한 친구를 대상으로 카카오톡으로 메시지를 전송합니다.
Declaration
Swift
public func sendDefaultMessage(templatable:Templatable, receiverUuids:[String], completion:@escaping (MessageSendResult?, Error?) -> Void)
-
카카오 디벨로퍼스에서 생성한 메시지 템플릿을 사용하여, 조회한 친구를 대상으로 카카오톡으로 메시지를 전송합니다. 템플릿을 생성하는 방법은 https://developers.kakao.com/docs/latest/ko/message/ios#create-message 을 참고하시기 바랍니다.
Seealso
MessageSendResult
Declaration
Swift
public func sendCustomMessage(templateId: Int64, templateArgs:[String:String]? = nil, receiverUuids:[String], completion:@escaping (MessageSendResult?, Error?) -> Void)
-
지정된 URL을 스크랩하여, 조회한 친구를 대상으로 카카오톡으로 메시지를 전송합니다. 스크랩 커스텀 템플릿 가이드(https://developers.kakao.com/docs/latest/ko/message/ios#send-kakaotalk-msg) 를 참고하여 템플릿을 직접 만들고 스크랩 메시지 전송에 이용할 수도 있습니다.
Seealso
MessageSendResult
Declaration
Swift
public func sendScrapMessage(requestUrl: String, templateId: Int64? = nil, templateArgs:[String:String]? = nil, receiverUuids:[String], completion:@escaping (MessageSendResult?, Error?) -> Void)