API เมตาดาต้า
 API เมตาดาต้าเสนอการอัปโหลดและค้นหาข้อมูลเมตาดาต้า
 อัปโหลดข้อมูลเมตา
 อัปโหลดข้อมูลเมตาดาต้าไปยัง IPFS สาธารณะ มันให้ที่อยู่ (uri) ของข้อมูลเมตาดาต้าที่อัปโหลดไปยัง IPFS และที่อยู่เกตเวย์ (gatewayUrl) ที่สามารถเข้าถึงได้ผ่าน HTTP
 URL คำขอ
  พารามิเตอร์หัวเรื่อง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | Authorization | โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API | string | Y | 
  
 เนื้อหาคำขอ
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | name | ชื่อ NFT | string | Y | 
  | description | คำอธิบาย NFT | string | N | 
  | image | ที่อยู่ภาพ NFT นี้คือ ที่อยู่เว็บไซต์สาธารณะหรือที่อยู่ IPFS สาธารณะสำหรับการอัปโหลดภาพไปยัง IPFS | string | Y | 
  | animationUrl | ที่อยู่สำหรับการแอนิเมชัน NFT | string | N | 
  | youtubeUrl | ที่อยู่ Youtube | string | N | 
  | imageData | ข้อมูลภาพ NFT | string | N | 
  | externalUrl | ที่อยู่ URL ภายนอก | string | N | 
  | backgroundColor | ข้อมูลสีพื้นหลังของโทเค็น (OpenSea) | string | N | 
  | attributes | ข้อมูลเหล่านี้คือข้อมูลของคุณสมบัติเมตาดาต้า ซึ่งมี ข้อมูลเพิ่มเติม ที่ไม่ได้อธิบายไว้ในเมตาดาต้า | json | N | 
  | attributes.traitType | ชื่อของรายการที่ประกอบเป็นคุณสมบัติ | string | N | 
  | attributes.maxValue | ค่าสูงสุดของคุณสมบัติ | number | N | 
  | attributes.value | นี่คือค่าคุณสมบัติ ควรน้อยกว่า attributes.maxValueหากattributes.displayTypeเป็นวันที่ ให้ตั้งค่านี้ตามรูปแบบ timestamp ของ unix (วินาที) | string or number | N | 
  | attributes.displayType | นี่คือประเภทการแสดงผลของคุณสมบัติ ค่าเริ่มต้นคือ string.  number: ประเภทตัวเลข  boost_percentage: เปอร์เซ็นต์ (OpenSea Boosts)  boost_number: ตัวเลข (OpenSea Boosts)  date: ประเภทวันที่ (ตัวอย่าง: วันอังคารที่ 1 มกราคม 2019) | string | N | 
  
 การตอบสนอง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | 
    | code | รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ | หมายเลข | 
  | message | ข้อความผลลัพธ์ | สตริง | 
  | data | ข้อมูลการตอบกลับ API | json | 
  | data.contentType | ประเภทเนื้อหา | สตริง | 
  | data.uri | ที่อยู่ IPFS ที่เมตาดาต้าถูกอัปโหลด | สตริง | 
  | data.gatewayUrl | ที่อยู่เกตเวย์ที่สามารถค้นหาเมตาดาต้าได้ | สตริง | 
  
 ตัวอย่างคำขอ
 curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/metadata' 
  -H 'accept: application/json' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlObyI6MSwiaWQiOiJwbGF0Zm9ybSIsImNvbXBhbnkiO' 
  -H 'Content-Type: application/json' 
  -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"
    }
  ]
}'
ตัวอย่างการตอบกลับ
 {
  "code": 0,
  "message": "success",
  "data": {
    "contentType": "application/json",
    "uri": "ipfs://QmfAsGExBG8kChweQtZcKZWqUxC4qBYhyWVokE5EQHoyWS",
    "gatewayUrl": "https://sandbox-bc-file.qpyou.cn/ipfs/QmfAsGExBG8kChweQtZcKZWqUxC4qBYhyWVokE5EQHoyWS"
  }
}
รับข้อมูลเมตา
 รับข้อมูลเมตาจากตัวระบุเนื้อหา(cid).
 URL การร้องขอ
  พารามิเตอร์หัวเรื่อง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | Authorization | โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียกใช้ API | string | Y | 
  
 พารามิเตอร์เส้นทาง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | cid | นี่คือรหัสเนื้อหาของ IPFS นี่คือค่าฮาชที่ใช้ในการระบุข้อมูลใน IPFS และสามารถพบได้ใน uri(ipfs://{CID}) หรือgatewayUrl(https://{GATEWAY_URL}/ipfs/{CID}) | string | Y | 
  
 การตอบสนอง
    | ชื่อฟิลด์ | คำอธิบาย | ประเภท | 
    | code | รหัสผลลัพธ์คำขอ API, 0: สำเร็จ | number | 
  | message | ข้อความผลลัพธ์ | String | 
  | data | ข้อมูลเมตาดาต้า | json | 
  | data.uri | ที่อยู่ IPFS ของเมตาดาต้า | string | 
  | data.gatewayUrl | ที่อยู่เกตเวย์ของเมตาดาต้า | string | 
  | data.metadata | เมตาดาต้า | json | 
  | data.metadata.name | ชื่อ NFT | string | 
  | data.metadata.description | คำอธิบาย NFT | string | 
  | data.metadata.image | นี่คือที่อยู่ภาพ NFT นี่คือที่อยู่เว็บไซต์สาธารณะหรือที่อยู่ IPFS สาธารณะ | string | 
  | data.metadata.animationUrl | ที่อยู่สำหรับการ์ตูน NFT | string | 
  | data.metadata.youtubeUrl | ที่อยู่ Youtube | string | 
  | data.metadata.imageData | ข้อมูลภาพ NFT | string | 
  | data.metadata.externalUrl | ที่อยู่ภายนอก | string | 
  | data.metadata.backgroundColor | ข้อมูลสีพื้นหลังของโทเคน (OpenSea) | string | 
  | data.metadata.attributes | นี่คือข้อมูลของคุณสมบัติเมตาดาต้า ข้อมูลเหล่านี้มี ข้อมูลเพิ่มเติม ที่ไม่ได้อธิบายไว้ในเมตาดาต้า | json | 
  | data.metadata.attributes.traitType | ชื่อของรายการที่ประกอบเป็นคุณสมบัติ | string | 
  | data.metadata.attributes.maxValue | ค่าสูงสุดของคุณสมบัติ | number | 
  | data.metadata.attributes.value | นี่คือค่าคุณสมบัติ ควรน้อยกว่า data.metadata.attributes.maxValueหากdata.metadata.attributes.displayTypeเป็นวันที่ ให้ตั้งค่านี้ตามรูปแบบ timestamp ของ unix (วินาที) | string or number | 
  | data.metadata.attributes.displayType | นี่คือประเภทการแสดงผลของคุณสมบัติ ค่าเริ่มต้นคือ string.  number: ประเภทตัวเลข  boost_percentage: เปอร์เซ็นต์ (OpenSea Boosts)  boost_number: ตัวเลข (OpenSea Boosts)  date: ประเภทวันที่ (ตัวอย่าง: วันอังคารที่ 1 มกราคม 2019) | string | 
  
 ตัวอย่างคำขอ
 curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/metadata/QmfAsGExBG8kChweQtZcKZWqUxC4qBYhyWVokE5EQHoyWS' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlObyI6MSwiaWQiOiJwbGF0Zm9ybSIsImNvbXBhbnkiO' 
  -H 'accept: application/json'
ตัวอย่างการตอบกลับ
 {
  "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"
        }
      ]
    }
  }
}