콘텐츠로 이동

Metadata API

Metadata API는 메타데이터 업로드, 조회 기능을 제공합니다.

메타데이터 업로드

메타데이터를 Public IPFS에 업로드합니다. 업로드한 메타데이터 IPFS 주소(uri)와 HTTP로 접근할 수 있는 게이트웨이 주소(gatewayUrl)를 제공합니다.

Request URL

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

Header parameters

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

Request body

필드명 설명 타입 필수 여부
name NFT 이름 string Y
description NFT 설명 string N
image NFT 이미지 주소입니다. IPFS에 업로드하기 위한 외부에서 접근 가능한 웹사이트 주소 또는 Public IPFS 주소입니다. string Y
animationUrl NFT 관련 애니메이션 주소 string N
youtubeUrl 유투브 주소 string N
imageData NFT 이미지 정보 string N
externalUrl 외부로 연결되는 주소 string N
backgroundColor OpenSea에서 토큰의 배경색 정보 string N
attributes 메타데이터 속성 정보입니다. 메타데이터에 명시하지 않았던 부가적인 정보입니다. json N
attributes.traitType attributes를 구성하는 항목명입니다. string N
attributes.maxValue trait 최대값 number N
attributes.value trait값입니다. attributes.maxValue보다 작아야 합니다. attributes.displayType이 date이면 value에 unix timestamp (seconds)를 입력합니다. string 또는 number N
attributes.displayType trait 노출 유형입니다. 기본값은 string 타입입니다.
  • number: Number 타입
  • boost_percentage: OpenSea Boosts에 % 정보로 노출
  • boost_number: OpenSea Boosts에 노출
  • date: 날짜 형식으로 노출(예시: Tuesday, January 1st, 2019)
string N

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/metadata' 
  -H 'accept: application/json' 
  -H 'Content-Type: application/json' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlObyI6MSwiaWQiOiJwbGF0Zm9ybSIsImNvbXBhbnkiO' 
  -d '{
  "name": "Arbiter'''s Robe",
  "description": "desc",
  "image": "https://image01.c2x.world/equip_92053030.gif",
  "animationUrl": "https://image01.c2x.world/equip_92053030.gif",
  "youtubeUrl": "https://www.youtube.com",
  "externalUrl": "https://dex.c2xnft.com/market?key=4423",
  "backgroundColor": "#ffffff",
  "attributes": [
    {
      "traitType": "traitType",
      "maxValue": "10",
      "value": "1",
      "displayType": "displayType"
    }
  ]
}'

Response sample

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

메타데이터 조회

Content Identifier(cid)에 해당하는 메타데이터를 조회합니다.

Request URL

Live URL https://bc-api.qpyou.cn/core/v1/metadata/{cid}
Sandbox URL https://sandbox-bc-api.qpyou.cn/core/v1/metadata/{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 메타데이터 정보 json
data.uri 메타데이터 IPFS 주소 string
data.gatewayUrl 메타데이터 Gateway 주소 string
data.metadata 메타데이터 json
data.metadata.name NFT 이름 string
data.metadata.description NFT 설명 string
data.metadata.image NFT 이미지 주소입니다. 외부에서 접근 가능한 웹사이트 주소 또는 Public IPFS 주소입니다. string
data.metadata.animationUrl NFT 관련 애니메이션 주소 string
data.metadata.youtubeUrl 유투브 주소 string
data.metadata.imageData NFT 이미지 정보 string
data.metadata.externalUrl 외부로 연결되는 주소 string
data.metadata.backgroundColor OpenSea에서 토큰의 배경색 정보 string
data.metadata.attributes 메타데이터 속성 정보입니다. 메타데이터에 명시하지 않았던 부가적인 정보입니다. json
data.metadata.attributes.traitType attributes를 구성하는 항목명입니다. string
data.metadata.attributes.maxValue trait 최대값 number
data.metadata.attributes.value trait값입니다. data.metadata.attributes.maxValue보다 작아야 합니다. data.metadata.attributes.displayType이 date이면 value에 unix timestamp (seconds)를 입력합니다. string 또는 number
data.metadata.attributes.displayType trait 노출 유형입니다. 기본값은 string 타입입니다.
  • number: Number 타입
  • boost_percentage: OpenSea Boosts에 % 정보로 노출
  • boost_number: OpenSea Boosts에 노출
  • date: 날짜 형식으로 노출(예시: Tuesday, January 1st, 2019)
string

Request sample

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

Response sample

{
  "code": 0,
  "message": "success",
  "data": {
    "uri": "ipfs://QmfAsGExBG8kChweQtZcKZWqUxC4qBYhyWVokE5EQHoyWS",
    "gatewayUrl": "https://sandbox-bc-file.qpyou.cn/ipfs/QmfAsGExBG8kChweQtZcKZWqUxC4qBYhyWVokE5EQHoyWS",
    "metadata": {
      "name": "Arbiter's Robe",
      "description": "desc",
      "image": "https://image01.c2x.world/equip_92053030.gif",
      "animationUrl": "https://image01.c2x.world/equip_92053030.gif",
      "youtubeUrl": "https://www.youtube.com",
      "externalUrl": "https://dex.c2xnft.com/market?key=4423",
      "backgroundColor": "#ffffff",
      "attributes": [
        {
          "traitType": "traitType",
          "maxValue": "10",
          "value": "1",
          "displayType": "displayType"
        }
      ]
    }
  }
}