Klip Partners

이 페이지는 Klip Partners에 로그인하고 카드를 발행, 조회, 전송, 삭제하기 위한 API를 소개합니다.

계정 관리

계정 관리 API에는 로그인(Sign In), 비밀번호 변경(Change Password), 핀 번호 변경(Change Pin)이 있습니다.

Sign In

Sign In

POST https://api.klipwallet.com/v2/partner/auth

가입을 승인받은 후, 가입 시 입력한 이메일 주소와 비밀번호로 Klip Partners에 로그인합니다.

Headers

NameTypeDescription

Content-Type*

string

application/json

Request Body

NameTypeDescription

email*

string

가입자 이메일 주소이며 로그인 계정으로 사용됩니다.

password*

string

가입자 로그인 비밀번호입니다. 웹사이트에 가입 시 사용한 비밀번호에 SHA256 해시를 적용하여 전송합니다.

{
  "email": "ray.kim@groundx.xyz",
  "klaytn_address":0xdc6AE5861a73d852bd3cdD84a4BA7f598A5160F3,
  "contract_address": "0xc94770007dda54cF92009BFF0dE90c06F603a09f",
  "name": "Ray Kim",
  "phone": "01077777777",
  "service_name": "판타지월드레볼루션"
  "access_token" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJI...",
  "status" : 1
  "mint_limit": 1000
  "mint_count": 1
}

Klip Partners는 현재 허가된 사용자만 접근이 가능합니다. 서비스 이용을 희망하는 파트너사는 원활한 사업 논의를 위해서 (1)회사 소개, (2)카드 활용 목적, (3)카드 활용 방안 등을 서면으로 정리해 klip-partners@groundx.xyz로 보내주시길 바랍니다.

Request Example

curl -X POST "https://api.klipwallet.com/v2/partner/auth" \
-d '{"email":"ray.kim@groundx.xyz", "password":"C01069C9ABB6EA7DA49AE418A24BBEF3AD67170DDCD20AC7C76084A5A85E4057"}' \
-H "Content-Type: application/json"

Response Details

이름타입설명

email

string

가입자 이메일 주소이며 로그인 계정으로 사용됩니다.

klaytn_address

string

가입자 Klaytn EOA 주소입니다.

contract_address

string

카드를 발행하는 SCA 주소입니다.

name

string

가입자 이름이며 사업자 또는 법인 이름을 사용합니다.

phone

string

가입자 전화번호입니다.

service_name

string

가입자가 제공하는 BApp 서비스 이름입니다.

access_token

string

JWT 형식으로 API 호출을 허용하기 위해 발급된 인증 토큰입니다.

status

number

계정 상태코드입니다.

mint_limit

number

계정이 이번 달에 발행할 수 있는 최대 카드 개수입니다.

mint_count

number

계정이 이번 달에 발행한 카드 개수입니다.

status는 가입 승인 전에는 20, 가입 승인 후에는 1의 값을 가집니다. access_token은 발급받은 지 24시간이 지나면 만료되므로 재발급받아야 합니다. mint_countmint_limit은 매달 1일 초기화됩니다.

자세한 내용은 튜토리얼을 확인하십시오.

Change Password

Change Password

PUT https://api.klipwallet.com/v2/partner/?opt=password

가입 시 입력한 비밀번호를 변경합니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

old_password*

string

기존에 사용하던 비밀번호입니다.

new_password*

string

새롭게 사용할 비밀번호입니다.

{}

Request Example

curl -X PUT "https://api.klipwallet.com/v2/partner/?opt=password" \
-d '{"old_password":"HASHED_OLD_PASSWORD", "new_password":"HASHED_NEW_PASSWORD"}' \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

Change PIN

Change PIN

PUT https://api.klipwallet.com/v2/partner/pin

가입 시 입력한 핀 번호를 변경합니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

old_pin*

string

기존에 사용하던 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

new_pin*

string

새롭게 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

{}

Request Example

curl -X PUT "https://api.klipwallet.com/v2/partner/pin" \
-d '{"old_pin":"HASHED_OLD_PIN_NUMBER", "new_pin":"HASHED_NEW_PIN_NUMBER"}' \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

카드 관리

카드 관리 API에는 카드 이미지 업로드(Upload Image), 모든 사용자에게 카드 발행(Mint Card To User), Klip 회원에게 카드 발행(Mint Card To Klip Member), 모든 사용자에게 카드 전송(Send Card To User), Klip 회원에게 카드 전송(Send Card To Klip Member), 카드 정보 불러오기(Get Card Information By Bapp, Get Card Information), 카드 삭제(Delete Card)가 있습니다.

Upload Image

Upload Image

POST https://api.klipwallet.com/v2/wallet/image

카드에 사용할 이미지를 업로드합니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

multipart/form-data

Request Body

NameTypeDescription

upload*

string

업로드할 이미지 파일명입니다. 파일 경로를 포함해야 합니다.

{"image": "https://url_path_to_img_file/image.png"}

Request Example

curl -X POST "https://api.klipwallet.com/v2/wallet/image" \
-F upload=@./imagefile.png \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: multipart/form-data"

자세한 내용은 튜토리얼을 확인하십시오.

Upload NFT Resource

Upload NFT resource

POST https://api.klipwallet.com/v2/wallet/nftResource

카드에 사용할 리소스를 업로드합니다. animation_url 필드에 설정할 동영상 파일의 경우 크기가 10MiB로 제한됩니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

multipart/form-data

Request Body

NameTypeDescription

upload*

string

업로드할 파일명입니다. 파일 경로를 포함해야 합니다.

{"url": "https://url_path_to_file/file.mp4"}

Request Example

curl -X POST "https://api.klipwallet.com/v2/wallet/nftResource" \
-F upload=@./file.mp4 \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: multipart/form-data"

자세한 내용은 튜토리얼을 확인하십시오.

Upload Secure NFT Resource

Upload secure NFT resource

POST https://api.klipwallet.com/v2/wallet/nftResource/secure

카드에 사용할 secure 리소스를 업로드합니다. upload 필드에 설정할 수 있는 파일 용량은 최대 10MiB입니다. 가로x세로 각각 23000px 이하 카드 이미지를 사용하면 Klip 노출에 적합합니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

multipart/form-data

Request Body

NameTypeDescription

upload*

string

업로드할 파일명입니다. 파일 경로를 포함해야 합니다.

{"filename": "{uuid}.{extension}"}

Request Example

curl -X POST "https://api.klipwallet.com/v2/wallet/nftResource/secure" \
-F upload=@./file.mp4 \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: multipart/form-data"

Mint Card to User

Mint Card To User

POST https://api.klipwallet.com/v2/wallet/mint

Klip Partners에 사용자 정보를 보내고 카드를 발행합니다. 사용자 EOA로 발행됩니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

pin*

string

서명에 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

to_address*

array

카드를 발행받을 EOA 주소들이 담긴 string 배열입니다.

contract_address*

string

카드를 발행하는 SCA 주소입니다.

name*

string

카드 이름입니다.

description*

string

카드에 관한 설명입니다.

image*

string

카드에 사용할 이미지 URL 주소입니다.

animation_url

string

카드에 사용할 동영상 URL 주소입니다. 지원하는 파일 확장자는 .mp4입니다. H.264 코덱이 아니거나 해상도가 3840x2160을 넘는 경우 재생되지 않을 수 있습니다.

background_color

string

카드 배경에 사용할 RGB 색상 코드입니다.

sendable

boolean

TRUE이면 발행한 카드를 Klip에서 타인에게 전송 가능합니다.

send_friend_only

boolean

TRUE이면 발행한 카드를 Klip에서 카카오톡 친구에게만 전송 가능합니다.

group_name

string

카드를 그룹핑할 때 사용하는 카드 그룹 이름입니다.

group_icon

string

카드 그룹 아이콘으로 사용할 이미지 URL 주소입니다.

hashtags

array

해시태그들이 담긴 string 배열입니다. 카드에 해시태그를 달면 특정 주제, 내용을 쉽게 찾을 수 있습니다.

layout

string

카드를 보여주는 방식입니다. 예를 들어, 정사각형 이미지는 general, 가로가 더 긴 이미지는 horizontal 세로가 긴 이미지는 vertical로 설정할 수 있습니다. 기본값은 general입니다.

external_link

string

Klip 외부로 연결되는 URL 주소입니다. (최대 길이:255)

custom_links

array

Klip 외부로 연결되는 URL 주소들이 담긴 object 배열 입니다. display_name에 노출할 속성명, value에 속성값을 쌍을 이뤄 지정합니다. Klip의 NFT 상세 화면에서 외부로 연결되는 링크가 제공됩니다. (배열의 최대 크기: 10개, 각 링크의 최대 길이: 255)

qr_code

string

QR Code가 그려진 이미지 URL입니다 (최대 길이:255)

bar_code

string

Bar Code가 그려진 이미지 URL입니다. (최대 길이:255)

attributes

array

발행할 카드 속성값들이 담긴 object 배열입니다.

secure

object

카드 소유자에게만 보여줄 정보를 담은 object입니다. bar_code, qr_code, images, animations, 및 attributes 필드를 선택적으로 설정할 수 있습니다.

status_url

string

카드 상태 정보를 담고 있는 외부 URL입니다. 해당 URL에서는 JSON 값을 반환해야하고, 필수적으로 bool type의 valid 필드와 선택적으로 array type의 attributes 필드를 설정할 수 있습니다.

{
  "hash": "0x2d26f602cfbb4c662931592bf2c4ee18d29f09683be5b9e8d589ff935fca0b97"
}
//attributes 예시
"attributes":[
    {
      "trait_type": "Sword", 
      "value": "Iron Short Sword"
    }, 
    {
      "trait_type": "Magic Type", 
      "value": "Fire"
    }, 
    {
      "trait_type": "Sword Level", 
      "value": "5"
    }, 
    {
      "trait_type": "Magic Level", 
      "value": "2"
    }
]
//secure 예시 ()
"secure": {
    // 일반적으로 bar_code 또는 qr_code 둘 중 하나만 설정
    "bar_code": "1234 ABCD 5678 EFGH 90IJ",
    "qr_code": "https://your-domain.com?key=1234",

    // 사전에 업로드한 secure 이미지의 UUID를 사용
    // 배열 형식이지만 현재 클립에서 소유자 전용 이미지는 한 개만 추가 노출되므로 하나만 인자로 입력
    "images": [
      {"low_resolution" : "{uploaded-filename-1}.png"}
    ],
    
    // 사전에 업로드한 secure 동영상의 UUID를 사용
    // 배열 형식이지만 현재 클립에서 소유자 전용 동영상은 한 개만 추가 노출되므로 하나만 인자로 입력
    // animations를 등록하는 경우, 반드시 images도 "썸네일" 역할로써 등록 필요
    "animations": [
      {"low_resolution" : "{uploaded-filename-2}.mp4"}
    ],

    "attributes":[
        {
            "trait_type": "Sword",
            "value": "Iron Short Sword"
        },
        {
            "trait_type": "Magic Type",
            "value": "Fire"
        },
        {
            "trait_type": "Sword Level",
            "value": "5"
        },
        {
            "trait_type": "Magic Level",
            "value": "2"
        }
    ]
}
//status_url 예시
status_url: "https://your-domain.com?key=1234"

//status_url 호출 시 응답값 예시
{
    "valid": true,
    "attributes":[
        {
            "trait_type": "Sword",
            "value": "Iron Short Sword"
        },
        {
            "trait_type": "Magic Type",
            "value": "Fire"
        },
        {
            "trait_type": "Sword Level",
            "value": "5"
        },
        {
            "trait_type": "Magic Level",
            "value": "2"
        }
    ]
}
custom_links: [
    {
        "display_name": "고객센터",
        "value": "https://customersupport.com"
    },
    {
        "display_name": "홈페이지",
        "value": "https://homepage.com"
    }
]

Request Example

curl -X POST "https://api.klipwallet.com/v2/wallet/mint" \
-d @./mint_info.json \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

Request Details for secure

이름타입설명

bar_code

string

bar code로 표시할 문자열 값입니다. 기본적으로 CODE 128 형식을 사용합니다. optional 필드입니다. (최대 길이:20, ' '(공백) 또는 '-' 문자 제외)

qr_code

string

qr code로 표시할 문자열 값입니다. optional 필드입니다. (최대 길이:255)

attributes

array

카드 속성값들이 담긴 object 배열입니다. optional 필드입니다.

images

array

secure 이미지 객체들의 배열입니다. 이미지 객체는 low_resolution과 (또는) high_resolution 값을 가지며 각각 저해상도 이미지, 고해상도 이미지 파일명을 기록합니다. secure 이미지 업로드 방법은 Upload Secure NFT Resource를 참조하세요. optional 필드입니다.

animations

array

secure 동영상 객체들의 배열입니다. 동영상 객체는 low_resolution과 (또는) high_resolution 값을 가지며 각각 저해상도 동영상, 고해상도 동영상 파일명을 기록합니다. secure 동영상 업로드 방법은 Upload Secure NFT Resource를 참조하세요. optional 필드입니다.

자세한 내용은 튜토리얼을 확인하십시오.

Mint Card to Klip Member

Mint Card To Klip Member

POST https://api.klipwallet.com/v2/wallet/mint/person

Klip Partners에 Klip 회원 정보를 보내고 카드를 발행합니다. to_person에 입력한 실명과 전화번호를 가진 Klip 회원 EOA로 발행됩니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

pin*

string

서명에 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

to_person*

array

카드를 발행받을 실명과 전화번호 쌍이 담긴 2차원 배열입니다.

contract_address*

string

카드를 발행하는 SCA 주소입니다.

name*

string

카드 이름입니다.

description*

string

카드에 관한 설명입니다.

image*

string

카드에 사용할 이미지 URL 주소입니다.

animation_url

string

카드에 사용할 동영상 URL 주소입니다. 지원하는 파일 확장자는 .mp4입니다. H.264 코덱이 아니거나 해상도가 3840x2160을 넘는 경우 재생되지 않을 수 있습니다.

background_color

string

카드 배경에 사용할 RGB 색상 코드입니다.

sendable

boolean

TRUE이면 발행한 카드를 Klip에서 타인에게 전송 가능합니다.

send_friend_only

boolean

TRUE이면 발행한 카드를 Klip에서 카카오톡 친구에게만 전송 가능합니다.

group_name

string

카드를 그룹핑할 때 사용하는 카드 그룹 이름입니다.

group_icon

string

카드 그룹 아이콘으로 사용할 이미지 URL 주소입니다.

hashtags

array

해시태그들이 담긴 string 배열입니다. 카드에 해시태그를 달면 특정 주제, 내용을 쉽게 찾을 수 있습니다.

layout

string

카드를 보여주는 방식입니다. 예를 들어, 정사각형 이미지는 general, 가로가 더 긴 이미지는 horizontal 세로가 긴 이미지는 vertical로 설정할 수 있습니다. 기본값은 general입니다.

external_link

string

Klip 외부로 연결되는 URL 주소입니다. (최대 길이:255)

custom_links

array

Klip 외부로 연결되는 URL 주소들이 담긴 object 배열 입니다. display_name에 노출할 속성명, value에 속성값을 쌍을 이뤄 지정합니다. Klip의 NFT 상세 화면에서 외부로 연결되는 링크가 제공됩니다. (배열의 최대 크기: 10개, 각 링크의 최대 길이: 255)

qr_code

string

QR Code가 그려진 이미지 URL 주소입니다. (최대 길이:255)

bar_code

string

Bar Code가 그려진 이미지 URL 주소입니다. (최대 길이:255)

attributes

array

발행할 카드 속성값들이 담긴 object 배열입니다.

secure

object

카드 소유자에게만 보여줄 정보를 담은 object입니다. bar_code, qr_code, images, animations, 및 attributes 필드를 선택적으로 설정할 수 있습니다.

status_url

string

카드 상태 정보를 담고 있는 외부 URL입니다. 해당 URL에서는 JSON 값을 반환해야하고, 필수적으로 bool type의 valid 필드와 선택적으로 array type의 attributes 필드를 설정할 수 있습니다.

{
  "hash": "0x2d26f602cfbb4c662931592bf2c4ee18d29f09683be5b9e8d589ff935fca0b97",
  "result": [["홍길동", "010-1111-2222", "success", ""], ["김춘향", "010-3333-4444", "fail", "phone number does not exist"], ...]
}
//attributes 예시
attributes:[
    {
      "trait_type": "Sword", 
      "value": "Iron Short Sword"
    }, 
    {
      "trait_type": "Magic Type", 
      "value": "Fire"
    }, 
    {
      "trait_type": "Sword Level", 
      "value": "5"
    }, 
    {
      "trait_type": "Magic Level", 
      "value": "2"
    }
]
//secure 예시
"secure": {
    // 일반적으로 bar_code 또는 qr_code 둘 중 하나만 설정
    "bar_code": "1234 ABCD 5678 EFGH 90IJ",
    "qr_code": "https://your-domain.com?key=1234",

    // 사전에 업로드한 secure 이미지의 UUID를 사용
    // 배열 형식이지만 현재 클립에서 소유자 전용 이미지는 한 개만 추가 노출되므로 하나만 인자로 입력
    "images": [
      {"low_resolution" : "{uploaded-filename-1}.png"}
    ],
    
    // 사전에 업로드한 secure 동영상의 UUID를 사용
    // 배열 형식이지만 현재 클립에서 소유자 전용 동영상은 한 개만 추가 노출되므로 하나만 인자로 입력
    // animations를 등록하는 경우, 반드시 images도 "썸네일" 역할로써 등록 필요
    "animations": [
      {"low_resolution" : "{uploaded-filename-2}.mp4"}
    ],

    "attributes":[
        {
            "trait_type": "Sword",
            "value": "Iron Short Sword"
        },
        {
            "trait_type": "Magic Type",
            "value": "Fire"
        },
        {
            "trait_type": "Sword Level",
            "value": "5"
        },
        {
            "trait_type": "Magic Level",
            "value": "2"
        }
    ]
}
//status_url 예시
status_url: "https://your-domain.com?key=1234"

//status_url 호출 시 응답값 예시
{
    "valid": true,
    "attributes":[
        {
            "trait_type": "Sword",
            "value": "Iron Short Sword"
        },
        {
            "trait_type": "Magic Type",
            "value": "Fire"
        },
        {
            "trait_type": "Sword Level",
            "value": "5"
        },
        {
            "trait_type": "Magic Level",
            "value": "2"
        }
    ]
}
custom_links: [
    {
        "display_name": "고객센터",
        "value": "https://customersupport.com"
    },
    {
        "display_name": "홈페이지",
        "value": "https://homepage.com"
    }
]

Request Example

curl -X POST "https://api.klipwallet.com/v2/wallet/mint/person" \
-d @./mint_person_info.json \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

Request Details for secure

이름타입설명

bar_code

string

bar code로 표시할 문자열 값입니다. 기본적으로 CODE 128 형식을 사용합니다. optional 필드입니다. (최대 길이:20, ' '(공백) 또는 '-' 문자 제외)

qr_code

string

qr code로 표시할 문자열 값입니다. optional 필드입니다. (최대 길이:255)

attributes

array

카드 속성값들이 담긴 object 배열입니다. optional 필드입니다.

images

array

secure 이미지 객체들의 배열입니다. 이미지 객체는 low_resolution과 (또는) high_resolution 값을 가지며 각각 저해상도 이미지, 고해상도 이미지 파일명을 기록합니다. secure 이미지 업로드 방법은 Upload Secure NFT Resource를 참조하세요. optional 필드입니다.

animations

array

secure 동영상 객체들의 배열입니다. 동영상 객체는 low_resolution과 (또는) high_resolution 값을 가지며 각각 저해상도 동영상, 고해상도 동영상 파일명을 기록합니다. secure 동영상 업로드 방법은 Upload Secure NFT Resource를 참조하세요. optional 필드입니다.

자세한 내용은 튜토리얼을 확인하십시오.

Get Mint Count

Get Mint Count

GET https://api.klipwallet.com/v2/wallet/mint/count

이번 달에 파트너 계정으로 발행한 총 카드 개수를 조회할 수 있습니다. 이 값은 매월 1일에 0으로 초기화됩니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

{
  "mint_count": 10
}

Request Example

curl -X GET "https://api.klipwallet.com/v2/wallet/mint/count" \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

Response Details

이름타입설명

mint_count

number

이번 달 현재까지 발행한 카드 개수입니다.

자세한 내용은 튜토리얼을 확인하십시오.

Send Card to User

Send Card To User

POST https://api.klipwallet.com/v2/wallet/nft/:nft_id/:card_id/send

카드를 다른 사용자에게 보냅니다. 전송 시 사용자 EOA를 사용합니다.

Path Parameters

NameTypeDescription

nft_id*

string

BApp에 있는 카드를 생성한 스마트 컨트랙트 ID입니다.

card_id*

string

BApp에 있는 카드 ID입니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

pin*

string

서명에 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

to_address*

string

카드를 받는 상대방 EOA 주소입니다.

card_name*

string

보낼 카드 이름입니다.

//전송 성공 예시
{ to_address: "0xb1764B96da889..." , fail_count: 0, tx_hash: "0x7cf09602cebb..."}
//잘못된 핀 번호를 1회 입력 시
{fail_count: 1}
//잘못된 핀 번호를 2회 입력 시
{fail_count: 2}
//잘못된 핀 번호 입력 횟수 한도는 5회입니다. 잘못된 핀 번호를 5회 입력하고
//정확한 핀 번호를 6회째에 입력해도 다음 결과를 받음에 유의하십시오.
{fail_count: 6}
//fail_count의 max값은 현재 6입니다.
//잘못된 핀 번호를 7회 입력 시
{fail_count: 6}

Klip 사용자에게 카드를 전송 시card_name을 입력해야 받는 사람에게 카드 이름이 표시됩니다.

Request Example

curl -X POST "https://api.klipwallet.com/v2/wallet/nft/60/1/send" \
-d @./send_info.json \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

Send Card to Klip Member

Send Card To Klip Member

POST https://api.klipwallet.com/v2/wallet/nft/:nft_id/:card_id/send/person

카드를 Klip 회원에게 보냅니다. to_person에 입력한 실명과 전화번호를 가진 Klip 회원 EOA로 보냅니다.

Path Parameters

NameTypeDescription

nft_id*

string

BApp에 있는 카드를 생성한 스마트 컨트랙트 ID입니다.

card_id*

string

BApp에 있는 카드 ID입니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

pin*

string

서명에 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

to_person*

array

카드를 받는 상대방의 실명과 전화번호가 있는 string 배열입니다.

card_name*

string

보낼 카드 이름입니다.

//전송 성공 예시
{ fail_count: 0, tx_hash: "0x2d26f602cfbb4c662931592bf2c4ee18d29f09683be5b9e8d589ff935fca0b97" }
//잘못된 핀 번호를 1회 입력 시
{fail_count: 1, tx_hash: ""}
//잘못된 핀 번호를 2회 입력 시
{fail_count: 2, tx_hash: ""}
//잘못된 핀 번호 입력 횟수 한도는 5회입니다. 잘못된 핀 번호를 5회 입력하고
//정확한 핀 번호를 6회째에 입력해도 다음 결과를 받음에 유의하십시오.
{fail_count: 6, tx_hash: ""}
//fail_count의 max값은 현재 6입니다.
//잘못된 핀 번호를 7회 입력 시
{fail_count: 6, tx_hash: ""}

Klip 사용자에게 카드를 전송 시card_name을 입력해야 받는 사람에게 카드 이름이 표시됩니다.

Request Example

curl -X POST "https://api.klipwallet.com/v2/wallet/nft/60/1/send/person" \
-d @./send_person_info.json \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

(deprecated) Get Card Information by Bapp

본 API의 경우, 클립의 자산 리스팅 정책 변경에 따라 일부 새로운 카드는 조회가 불가능할 수도 있습니다. 대신 App2App의 Get Card Information API 사용을 권장합니다.

Get Card Information By BApp

GET https://api.klipwallet.com/v2/wallet/bapp?cursor=

내가 소유한 카드 목록을 얻습니다. 보유한 카드들은 BApp별로 묶여 출력됩니다.

Query Parameters

NameTypeDescription

cursor

string

BApp이 100개 이상이면 다음 100개 정보를 받는 커서값입니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

{
    "bapps": [
        {
            "id": 2,
            "name": "bapp2",
            "bapp_img": "/img/bapp-icon2.svg",
            "category_id": 2,
            "nft_order_no": 1,
            "summary": "summary",
            "card_count": 10,
            "nft_id": 52,
            "cards": [
                    {
                        "created_at": 1580300503,
                        "updated_at": 1580300503,
                        "owner": "0xa3b7aa3a3c8a08bd22f77932368e2043e7ffe263",
                        "sender": "0x0000000000000000000000000000000000000000",
                        "card_id": 18,
                        "card_uri": "https://.../card_meta.json",
                        "transaction_hash": "0x8754f10f73468ea85e84d9e29c2a864fc574c1e57675bfc70b5459d82477a91f"
                    },
                    ...
                ],
            "cards_next_cursor": ""
        },
        ...
    ],
    "next_cursor": ""
}

Request Example

curl "https://api.klipwallet.com/v2/wallet/bapp?cursor=mrzedXOE9OeEorkAvwQXB7JdVg4LP1Rzze2kLQFxLU4C8iMOhOVulzIr5iesZoie9uv9h87UNXsWCKdhqYszXFWLsYYI7h125Rx8p56qlMKaZ20YbNW3zDGmNBJKM1wL" \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

Response Details for bapps[i]

이름타입설명

id

number

이 BApp ID입니다.

name

string

이 BApp 이름입니다.

bapp_img

string

이 BApp 대표 이미지 파일 주소입니다.

category_id

number

이 BApp 카테고리 분류 코드입니다.

nft_order_no

number

Klip 카드 목록에서 카드 그룹이 노출되는 순서입니다.

summary

string

이 BApp에 관한 한 줄 설명입니다.

card_count

number

보유한 모든 카드중 이 BApp에서 쓰이는 카드 개수입니다.

nft_id

number

NFT ID입니다. NFT는 이 카드를 블록체인에 구현하는 스마트 컨트랙트입니다.

cards

array

각 카드 정보를 담은 object 배열입니다.

cards_next_cursor

string

카드가 100개 이상이면 다음 100개 정보를 불러올 커서값입니다.

next_cursor

string

BApp이 100개 이상이면 다음 100개 정보를 불러올 커서값입니다.

Response Details for bapps[i].cards[i]

이름타입설명

created_at

number

카드가 발행된 시간입니다.

updated_at

number

카드가 업데이트된 시간입니다.

owner

string

이 계정 EOA 주소입니다.

sender

string

이 계정으로 카드를 보낸 사람의 EOA 주소입니다.

card_id

number

카드 ID입니다.

card_uri

string

카드 메타데이터가 담긴 JSON 파일 URL입니다.

transaction_hash

string

카드를 발행한 스마트 컨트랙트 트랜잭션 해시입니다.

자세한 내용은 튜토리얼1, 튜토리얼2를 확인하십시오.

Get Card Information

Get Card Information

GET https://api.klipwallet.com/v2/wallet/nft/:nft_id?cursor=

소유한 카드의 상세 정보를 얻습니다.

Path Parameters

NameTypeDescription

nft_id*

string

NFT ID입니다. NFT는 이 카드를 블록체인에 구현하는 스마트 컨트랙트입니다.

Query Parameters

NameTypeDescription

isAll

bool

TRUE이면 내가 소유한 모든 카드 정보를 한 번에 받습니다. cursor 파라미터와는 함께 사용할 수 없습니다.

cursor

string

카드 정보를 100개씩 나누어 받기 위한 커서값입니다. isAll 파라미터와는 함께 사용할 수 없습니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

{
    "name": "conan",
    "symbol_img": "",
    "cards": [
      {
          "created_at": 1580300503,
          "updated_at": 1580300503,
          "owner": "0xa3b7aa3a3c8a08bd22f77932368e2043e7ffe263",
          "sender": "0x0000000000000000000000000000000000000000",
          "card_id": 18,
          "card_uri": "https://.../card_meta.json",
          "transaction_hash": "0x8754f10f73468ea85e84d9e29c2a864fc574c1e57675bfc70b5459d82477a91f"
      },
    ],
    "next_cursor": "mrzedXOE9OeEorkAvwQXB7JdVg4LP1Rzze2kLQFxLU4C8iMOhOVulzIr5iesZoie9uv9h87UNXsWCKdhqYszXFWLsYYI7h125Rx8p56qlMKaZ20YbNW3zDGmNBJKM1wL",
}

Request Example

curl "https://api.klipwallet.com/v2/wallet/nft/52?cursor=mrzedXOE9OeEorkAvwQXB7JdVg4LP1Rzze2kLQFxLU4C8iMOhOVulzIr5iesZoie9uv9h87UNXsWCKdhqYszXFWLsYYI7h125Rx8p56qlMKaZ20YbNW3zDGmNBJKM1wL" \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

Response Details

이름타입설명

name

string

카드 이름입니다.

symbol_img

string

카드에 사용하는 이미지 URL 주소입니다.

cards

array

각 카드 정보를 담은 object 배열입니다.

next_cursor

string

카드가 100개 이상이면 다음 100개 정보를 불러올 커서값입니다.

Response Details for cards[i]

이름타입설명

created_at

number

카드가 발행된 시간입니다.

updated_at

number

카드가 업데이트된 시간입니다.

owner

string

이 계정 EOA 주소입니다.

sender

string

이 계정으로 카드를 보낸 사람의 EOA 주소입니다.

card_id

number

카드 ID입니다.

card_uri

string

카드 메타데이터가 담긴 JSON 파일 URL입니다.

transaction_hash

string

카드를 발행한 스마트 컨트랙트 트랜잭션 해시입니다.

자세한 내용은 튜토리얼1, 튜토리얼2를 확인하십시오.

Delete Card

Delete Card

DELETE https://api.klipwallet.com/v2/wallet/nft

발행한 카드를 삭제합니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

pin*

string

서명에 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

card_id*

number

카드 ID입니다.

contract_address*

string

카드를 발행한 SCA 주소입니다.

{
    "hash": "0x2d26f602cfbb4c662931592bf2c4ee18d29f09683be5b9e8d589ff935fca0b97"
}

발행한 카드만 삭제할 수 있으며, 다른 사람에게 보낸 카드는 삭제할 수 없습니다. 카드를 삭제해도 카드 이미지는 삭제되지 않습니다.

Request Example

curl -X DELETE "https://api.klipwallet.com/v2/wallet/nft" \
-d @./delete_info.json \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

Approve Escrow

Approve Escrow

POST https://api.klipwallet.com/v2/escrow/approve

카드 전송 에스크로 사용을 허용합니다. 카드 전송 에스크로 기능을 사용하기 위해서는 최초에 1회, 필수적으로 호출해야하는 API입니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

pin*

string

서명에 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

contract_address*

string

카드를 발행한 SCA 주소입니다.

{
  "fail_count": 0,
  "tx_hash": "string"
}

Request Example

curl -X POST "https://api.klipwallet.com/v2/escrow/approve" \
-d @./approve_info.json \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

Get Escrow Approval Status

Get Escrow Approval Status

GET https://api.klipwallet.com/v2/escrow/approve

카드 전송 에스크로 사용 동의 여부를 조회합니다.

Query Parameters

NameTypeDescription

contract_address*

string

카드를 발행하는 SCA 주소입니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

{
  "approve": true
}

Request Example

curl -X GET "https://api.klipwallet.com/v2/escrow/approve?contract_address=0xc94770007dda54cF92009BFF0dE90c06F603a09f" \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

Create Escrow

Create Escrow

POST https://api.klipwallet.com/v2/escrow

카드 전송 에스크로를 실행하고, Klip 사용자가 카드를 지급받을 수 있는 링크가 생성됩니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

pin*

string

서명에 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

card_ids*

array

카드 ID들이 담긴 number 배열입니다. 최대 100개의 원소를 담을 수 있습니다.

contract_address*

string

카드를 발행한 SCA 주소입니다.

{
  "claim_links": [
    "https://klipwallet.com/?target=/claimCard/2/123?claimKey=1234567890123456789012345678901212345678901234567890123456789012"
  ],
  "fail_count": 0,
  "tx_hash": "0x2d26f602cfbb4c662931592bf2c4ee18d29f09683be5b9e8d589ff935fca0b97"
}

보유중인 카드만 에스크로 전송을 실행 할 수 있으며, 다른 사람에게 보낸 카드는 전송할 수 없습니다. 에스크로를 수행한 카드는 에스크로 카드 조회를 통해 확인할 수 있습니다.

Request Example

curl -X POST "https://api.klipwallet.com/v2/escrow" \
-d @./escrow_info.json \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

Get Cards in Escrow

Get Cards in Escrow

GET https://api.klipwallet.com/v2/escrow

에스크로 카드 목록 조회.

Query Parameters

NameTypeDescription

contract_address*

string

카드를 발행하는 SCA 주소입니다.

cursor

string

카드 개수가 100개 이상이면 다음 100개 정보를 받는 커서값입니다. 일반적으로 카드 개수가 100개를 초과한다면 1번 호출 시 100개의 결과와 next_cursor 값을 받습니다. 나머지 카드를 조회하려면 next_cursor 값을 query 파라미터 cursor에 전달하여 API를 다시 호출해야합니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

{
    "cards": [
        {
            "name": "conan",
            "symbol_img": "",
            "cards": [
              {
                  "created_at": 1580300503,
                  "updated_at": 1580300503,
                  "owner": "0xa3b7aa3a3c8a08bd22f77932368e2043e7ffe263",
                  "sender": "0x0000000000000000000000000000000000000000",
                  "card_id": 18,
                  "card_uri": "https://.../card_meta.json",
                  "transaction_hash": "0x8754f10f73468ea85e84d9e29c2a864fc574c1e57675bfc70b5459d82477a91f"
              },
            ],
            "next_cursor": "mrzedXOE9OeEorkAvwQXB7JdVg4LP1Rzze2kLQFxLU4C8iMOhOVulzIr5iesZoie9uv9h87UNXsWCKdhqYszXFWLsYYI7h125Rx8p56qlMKaZ20YbNW3zDGmNBJKM1wL",
        }
    ]
}

cursor에 대한 자세한 내용은 pagination 항목을 참조하십시오.

Request Example

curl -X GET "https://api.klipwallet.com/v2/escrow?contract_address=0xc94770007dda54cF92009BFF0dE90c06F603a09f" \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

Response Details

이름타입설명

name

string

카드 이름입니다.

symbol_img

string

카드에 사용하는 이미지 URL 주소입니다.

cards

array

각 카드 정보를 담은 object 배열입니다.

next_cursor

string

카드가 100개 이상이면 다음 100개 정보를 불러올 커서값입니다.

Response Details for cards[i]

이름타입설명

created_at

number

카드가 발행된 시간입니다.

updated_at

number

카드가 업데이트된 시간입니다.

owner

string

이 계정 EOA 주소입니다.

sender

string

이 계정으로 카드를 보낸 사람의 EOA 주소입니다.

card_id

number

카드 ID입니다.

card_uri

string

카드 메타데이터가 담긴 JSON 파일 URL입니다.

transaction_hash

string

카드를 발행한 스마트 컨트랙트 트랜잭션 해시입니다.

자세한 내용은 튜토리얼을 확인하십시오.

Cancel Escrow

Cancel Escrow

DELETE https://api.klipwallet.com/v2/escrow

카드 전송 에스크로를 취소합니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

Request Body

NameTypeDescription

pin*

string

서명에 사용할 핀 번호를 해시(SHA256)한 64자리 string 값입니다.

card_ids*

array

카드 ID들이 담긴 number 배열입니다. 최대 100개의 원소를 담을 수 있습니다.

contract_address*

string

카드를 발행한 SCA 주소입니다.

{
  "fail_count": 0,
  "tx_hash": "string"
}

에스크로된 카드만 취소할 수 있으며, 이미 지급된 카드는 삭제할 수 없습니다. 취소된 카드는 보유 목록으로 되돌아 갑니다.

Request Example

curl -X DELETE "https://api.klipwallet.com/v2/escrow" \
-d @./cancel_info.json \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

자세한 내용은 튜토리얼을 확인하십시오.

Get Transaction Result

Get Transaction Result

GET https://api.klipwallet.com/v2/wallet/receipt

트랜잭션 처리 결과가 블록에 최종 성공으로 기록됐는지 여부를 조회합니다.

Query Parameters

NameTypeDescription

tx_hash*

string

조회할 트랜잭션 해시 값입니다.

Headers

NameTypeDescription

Authorization*

string

JWT 형식 인증 토큰입니다.

Content-Type*

string

application/json

{
  "success": true
}

Request Example

curl -X GET "https://api.klipwallet.com/v2/wallet/receipt?tx_hash=0x880a45d3c482c7d794c2e7b7dbdc9e933a68f4a1f3d978d582ba9f9ebd1f9e72" \
-H "Authorization: ACCESS_TOKEN" -H "Content-Type: application/json"

Response Details

이름타입설명

success

bool

트랜잭션 성공 여부입니다.

자세한 내용은 튜토리얼을 확인하십시오.

이 문서 혹은 Klip에 관한 문의는 개발자 포럼을 방문해 도움을 받으십시오.

Last updated