KlipSDK

public final class KlipSDK

클래스에서 객체를 생성하여 Klip API를 사용할 수 있다.

  • 싱글톤을 적용한 클래스로 shared 변수를 이용해서 KlipSDK 객체를 초기화하고 얻을 수 있다.

    Declaration

    Swift

    public static let shared: KlipSDK
  • App2App에 요청할 사용자 요청 정보를 미리 등록하여 준비하기 위한 메소드로, 해당 메소드를 통해 reqeust key를 발급 받을 수 있다.

    • request: KlipRequet 타입의 인자로 Auth, KLAY, Token, Card, Contract Execution 중 하나의 타입을 갖게 된다.
    • bappInfo: BAppInfo 타입의 인자로 BAppInfo에는 BApp의 이름(필수)과 성공, 실패시에 돌아올 callback link 정보를 넣어줄 수 있다.
    • completion: 결과를 받을 completion으로 실패시에는 error정보를 담은 ResponseErrorModel를 반환받고, 성공시에 KlipTxResponse객체를 응답 받는다.

    Declaration

    Swift

    public func prepare(request: KlipRequest,
                        bappInfo: BAppInfo,
                        completion: @escaping(KlipCallback<KlipTxResponse>) -> Void
    )
  • prepare 메소드를 통해 등록해둔 요청을 실제 수행하도록 요청하는 메소드로 DeepLink를 이용하여 카카오톡을 통해 Klip이 실행되고, 사용자의 동의 또는 서명을 받는다.

    • requestKey: prepare 메소드를 통해 얻은 requestKey
    • isKlipAppCall: Klip app을 우선 호출시 true

    Declaration

    Swift

    public func request(requestKey: String, isKlipAppCall: Bool = false)
  • 요청의 처리 결과를 조회

    • requestKey: prepare 메소드를 통해 얻은 requestKey
    • completion: 결과를 받을 completion으로 실패시에는 error정보를 담은 ResponseErrorModel를 반환받고, 성공시에 KlipTxResponse객체를 응답 받는다.

    Declaration

    Swift

    public func getResult(requestKey: String, completion: @escaping (KlipCallback<KlipTxResponse>) -> Void)
  • 사용자가 보유한 카드 목록을 조회

    • cardAddress: 조회하는 카드 주소
    • userAddress: 조회하는 사용자 EOA
    • cursor: 카드 갯수가 100개 이상일 경우 다음 카드 최대 100개를 요청하기 위한 cursor
    • completion: 결과를 받을 completion으로 실패시에는 error정보를 담은 ResponseErrorModel를 반환받고, 성공시에 CardListResponse객체를 응답 받는다.

    Declaration

    Swift

    public func getCardList(cardAddress: String, userAddress: String, cursor: String?, completion: @escaping (KlipCallback<CardListResponse>) -> Void)