TalkApi

public class TalkApi

카카오 Open API의 카카오톡 API 호출을 담당하는 클래스입니다.

프로필 조회, 친구 목록, 메시지 보내기 등이 기능을 제공합니다.

  • 간편하게 API를 호출할 수 있도록 제공되는 공용 싱글톤 객체입니다.

    Declaration

    Swift

    public static let shared: TalkApi
  • 카카오톡 채널을 추가하기 위한 URL을 반환합니다. URL을 브라우저나 웹뷰에서 로드하면 브릿지 웹페이지를 통해 카카오톡을 실행합니다.

    아래는 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은 카카오톡 채널 관리자센터 > 관리 > 상세설정 페이지에서 확인할 수 있습니다.

  • 개발자사이트에서 생성한 서비스만의 커스텀 메시지 템플릿을 사용하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다. 템플릿을 생성하는 방법은 https://developers.kakao.com/docs/template 을 참고하시기 바랍니다.

    Declaration

    Swift

    public func sendCustomMemo(templateId: Int64, templateArgs: [String : String]? = nil, completion: @escaping (Error?) -> Void)
  • 기본 템플릿을 이용하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다.

    Seealso

    Template

    Declaration

    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)