curl
명령을 수행하고, Deep Link는 각 모바일 환경의 SDK에서 제공하는 API를 호출하거나, 모바일웹 환경의 경우 Web2App
라이브러리를 이용하여 수행할 수 있습니다. Web2App
라이브러리는 아래 GitHub 저장소를 통해서 얻을 수 있습니다. 자세한 사용 방법은 해당 사이트를 참조하십시오.auth
와 transaction
이 있으며, transaction
은 다시 KLAY 전송 트랜잭션, 토큰 전송 트랜잭션, 카드 전송 트랜잭션, 그리고 컨트랙트 실행 트랜잭션으로 나뉩니다. 필요에 따라서 적절한 필드를 아래와 같이 설정하여 API를 호출합니다.from
필드에는 트랜잭션에 서명하는 Klip 사용자의 Klaytn 계정 주소를 설정합니다. 이 필드는 Optional이지만 BApp에서 의도한 사용자와 실제 Klip 사용자가 서로 일치하는지 검사하기 위한 필드이므로 설정하는 것을 권장합니다.Authorization
, Cookie
등의 필드를 넣으면 CORS 설정 때문에 에러가 발생할 수 있습니다. 문서에 설명된 필드 이외에 추가로 넣지 않도록 유의해야합니다.callback
객체의 success
필드에는 Request 처리 성공 시 다시 BApp으로 되돌아올 Deep Link를 설정합니다. fail
의 경우는 잔고 부족 등으로 처리에 실패했을 때 되돌아올 Deep Link를 설정합니다. BApp에서 Deep Link를 지원하지 않는 경우 세팅하지 않아도 되며, 이 때는 Klip에서 BApp으로 다시 명시적으로 되돌아가야 처리가 완료됨을 안내합니다.to
에는 KLAY을 받을 주소를 설정하고, amount
에는 보낼 KLAY를 설정합니다. 소수점 6자리까지만 지원합니다.transaction
객체의 contract
필드에는 Klip에서 제공하는 토큰의 컨트랙트 주소(SCA)를 설정해야 합니다. Klip에서 서비스하지 않는 토큰을 설정한 경우 에러가 발생합니다. amount
필드에는 보낼 토큰의 양을 설정합니다. 소수점 6자리까지만 지원합니다.transaction
객체의 contract
필드에는 Klip에서 제공하는 카드의 컨트랙트 주소(SCA)를 설정해야 합니다. Klip에서 서비스하지 않는 SCA를 설정한 경우 에러가 발생합니다. card_id
필드에는 보낼 토큰의 고유번호를 설정합니다.transaction
객체의 to
필드에는 실행할 컨트랙트의 주소(SCA)를 설정합니다. value
필드에는 전송할 KLAY를 peb 단위로 설정합니다. payable 함수인 경우에만 설정할 수 있습니다. abi
에는 실행할 함수의 ABI를 입력합니다. params
에는 해당 함수를 실행한 인자를 배열 형태의 문자열을 설정합니다. abi
및 params
필드는 String 타입임을 유의하여 전송합니다.request_key
를 쿼리 스트링으로 받습니다. Prepare 과정에서 얻은 값을 설정합니다.kakaotalk
URL scheme이 존재 여부를 iOS에서 제공하는 API를 이용하여 BApp에서 감지할 수 있습니다. 보통 카카오톡이 설치되지 않은 경우에 해당하며 다운받을 수 있는 스토어로 이동하는 링크는 아래와 같습니다.kakaotalk
URL scheme이 존재 여부를 Android에서 제공하는 API를 이용하여 BApp에서 감지할 수 있습니다. 보통 카카오톡이 설치되지 않은 경우에 해당하며 다운받을 수 있는 스토어로 이동하는 링크는 아래와 같습니다.request_key
값을 쿼리 스트링으로 설정합니다.type
별로 아래 값을 받습니다.Auth
가 아닌 다른 요청 타입일 경우 result
객체가 추가로 넘어옵니다. result
객체의 tx_hash
필드를 복사해 Klaytnscope에서 사용하면 트랜잭션의 처리 상태에 관한 자세한 정보를 확인할 수 있습니다. result
객체의 status
필드는 pending
상태의 경우, 사용자가 Klip에서 확인했자만, Klaytn에서 아직 트랜잭션을 처리하는 중임을 의미합니다. 일반적으로 몇 초 후에 다시 확인하면 요청을 확인할 수 있습니다. success
는 요청이 성공적으로 처리될 때, fail
은 요청 처리에 실패할 때의 상태입니다.cards
에서 card는 이 bapp에서 쓰이는 Klip 카드입니다. bapp에는 카드 1종류가 들어있습니다.cursor
또는 isAll
둘 중 하나만 사용해야 합니다(isAll
이 false
이면 cursor
를 사용할 수 있습니다).cursor
를 사용하면 Pagination을 사용합니다.next_cursor
로 나머지 카드 정보를 받습니다.cursor
에 이전 호출에서 받은 next_cursor
를 넣고 API를 다시 호출합니다.cards.next_cursor
값이 존재하므로 이 계정은 conan 카드를 100개 이상 가지고 있습니다.
한 번에 조회할 카드 개수가 100개를 초과한다면 1회 호출 시 카드 100개 정보만 받고 cards.next_cursor
값을 받습니다.
나머지 카드 정보를 조회하려면 cards.next_cursor
값을 Query 파라미터 cursor
에 전달하고 API를 다시 호출해야 합니다.cards.next_cursor
값을 받습니다.
그리고 동일한 API를 다시 호출할 때 cards.next_cursor
값을 Query 파라미터 cursor
로 사용하면 나머지 50개의 정보를 받습니다.