Metadata API
Metadata API는 메타데이터 업로드, 조회 기능을 제공합니다.
메타데이터를 Public IPFS에 업로드합니다. 업로드한 메타데이터 IPFS 주소(uri
)와 HTTP로 접근할 수 있는 게이트웨이 주소(gatewayUrl
)를 제공합니다.
Request URL
필드명 | 설명 | 타입 | 필수 여부 |
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
필드명 | 설명 | 타입 | 필수 여부 |
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"
}
]
}
}
}