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 타입입니다.
|
string | N |
Responses
필드명 | 설명 | 타입 |
---|---|---|
code | api 호출 결과 코드, 0:성공 | number |
message | 결과 메시지 | string |
data | API 응답 데이터 | json |
data.contentType | 컨텐츠 타입 | string |
data.uri | 메타데이터를 업로드한 IPFS 주소 | string |
data.gatewayUrl | 메타데이터를 확인할 수 있는 게이트웨이 주소 | string |
Request Sample
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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
1 2 3 4 5 6 7 8 9 |
{ "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 타입입니다.
|
string |
Request Sample
1 2 3 4 |
curl -X 'GET' \ 'https://sandbox-bc-api.qpyou.cn/core/v1/metadata/QmfAsGExBG8kChweQtZcKZWqUxC4qBYhyWVokE5EQHoyWS' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlObyI6MSwiaWQiOiJwbGF0Zm9ybSIsImNvbXBhbnkiO' \ -H 'accept: application/json' |
Response Sample
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
{ "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" } ] } } } |