콘텐츠로 이동

Asset API

Asset API는 미디어 파일과 같은 에셋을 등록, 조회하는 기능을 제공합니다.

에셋 업로드

미디어 파일(jpg, png, gif 등) 에셋을 Public IPFS(InterPlanetary File System)에 업로드합니다. 업로드한 에셋의 IPFS 주소(uri)와 HTTP로 접근할 수 있는 게이트웨이 주소(gatewayUrl)를 제공합니다.

Request URL

Live URL https://bc-api.qpyou.cn/core/v1/asset
Sandbox URL https://sandbox-bc-api.qpyou.cn/core/v1/asset
HTTP Method POST
Content-Type application/json

Header parameters

필드명 설명 타입 필수 여부
Authorization API를 호출하기 위한 인증 토큰 string Y

Request body

필드명 설명 타입 필수 여부
asset 업로드할 미디어 파일 바이너리 정보 string Y

Responses

필드명 설명 타입
code api 호출 결과 코드, 0:성공 number
message 결과 메시지 string
data API 응답 데이터 json
data.contentType 컨텐츠 타입 string
data.uri 에셋을 업로드한 IPFS 주소 string
data.gatewayUrl 업로드한 에셋을 확인할 수 있는 게이트웨이 주소 string

Request sample

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/asset' 
  -H 'accept: application/json' 
  -H 'Content-Type: multipart/form-data' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlObyI6MSwiaWQiOiJwbGF0Zm9ybSIsImNvbXBhbnkiO' 
  -F 'asset=@cw20.code'

Response sample

{
  "code": 0,
  "message": "success",
  "data": {
    "contentType": "application/octet-stream",
    "uri": "ipfs://QmPStJZ7o4kSQH2R64sRWq8YpJ9VgDb1QoHjAmyhCmekTi",
    "gatewayUrl": "https://sandbox-bc-file.qpyou.cn/ipfs/QmPStJZ7o4kSQH2R64sRWq8YpJ9VgDb1QoHjAmyhCmekTi"
  }
}

Public URL을 사용한 에셋 업로드

미디어 파일(jpg, png, gif 등)을 Public IPFS에 업로드합니다. 파일을 직접 업로드하는 대신 외부 접근이 가능한 Public URL을 사용해 업로드합니다. 업로드한 에셋의 IPFS 주소(uri)와 HTTP로 접근할 수 있는 게이트웨이 주소(gatewayUrl)를 제공합니다.

Request URL

Live URL https://bc-api.qpyou.cn/core/v1/asset-by-url
Sandbox URL https://sandbox-bc-api.qpyou.cn/core/v1/asset-by-url
HTTP Method POST
Content-Type application/json

Header parameters

필드명 설명 타입 필수 여부
Authorization API를 호출하기 위한 인증 토큰 string Y

Request body

필드명 설명 타입 필수 여부
url 에셋을 업로드할 Public URL string Y

Responses

필드명 설명 타입
code api 호출 결과 코드, 0:성공 number
message 결과 메시지 string
data API 응답 데이터 json
data.contentType 컨텐츠 타입 string
data.uri 에셋을 업로드한 IPFS 주소 string
data.gatewayUrl 업로드한 에셋을 확인할 수 있는 게이트웨이 주소 string

Request sample

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/asset-by-url' 
  -H 'accept: application/json' 
  -H 'Content-Type: application/json' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlObyI6MSwiaWQiOiJwbGF0Zm9ybSIsImNvbXBhbnkiO' 
  -d '{
  "url": "https://image01.c2x.world/equip_92053030.gif"
}'

Response sample

{
  "code": 0,
  "message": "success",
  "data": {
    "contentType": "image/gif",
    "uri": "ipfs://QmV7GWnGgQU3szBBDQz1MmigtUjddmuAt7SjrWZeXP6cVF",
    "gatewayUrl": "https://sandbox-bc-file.qpyou.cn/ipfs/QmV7GWnGgQU3szBBDQz1MmigtUjddmuAt7SjrWZeXP6cVF"
  }
}

에셋 조회

Content Identifier(cid)로 외부에서 접근 가능한 에셋 URL을 얻습니다.

Request URL

Live URL https://bc-api.qpyou.cn/core/v1/asset/{cid}
Sandbox URL https://sandbox-bc-api.qpyou.cn/core/v1/asset/{cid}
HTTP Method GET
Content-Type application/json

Header parameters

필드명 설명 타입 필수 여부
Authorization API를 호출하기 위한 인증 토큰 string Y

Path parameters

필드명 설명 타입 필수 여부
cid IPFS 컨텐츠 식별자입니다. IPFS내에서 데이터를 식별하는 해시값으로, 에셋 업로드 시 uri(ipfs://{CID}) 또는 gatewayUrl(https://{GATEWAY_URL}/ipfs/{CID})에서 확인할 수 있습니다. string Y

Responses

필드명 설명 타입
code api 호출 결과 코드, 0:성공 number
message 결과 메시지 string
data API 응답 데이터 json
data.assetUri asset을 확인할 수 있는 게이트웨이 주소 string

Request sample

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/asset/QmV7GWnGgQU3szBBDQz1MmigtUjddmuAt7SjrWZeXP6cVF' 
  -H 'accept: application/json' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlObyI6MSwiaWQiOiJwbGF0Zm9ybSIsImNvbXBhbnkiO'

Response sample

{
  "code": 0,
  "message": "success",
  "data": {
    "assetUri": "https://sandbox-bc-file.qpyou.cn/ipfs/QmV7GWnGgQU3szBBDQz1MmigtUjddmuAt7SjrWZeXP6cVF"
  }
}