ข้ามไปที่เนื้อหา

API ส่วนขยาย

API ส่วนขยายให้ฟังก์ชันที่ API มาตรฐาน (ERC-721) ไม่สามารถให้ได้

รับข้อมูลค่าลิขสิทธิ์ NFT

รับค่าลิขสิทธิ์และที่อยู่ที่ได้รับค่าลิขสิทธิ์นี้ผ่านทาง ID โทเคน (tokenId) และการขาย NFT (salePrice) ค่าลิขสิทธิ์สามารถตั้งค่าได้เมื่อสร้าง NFT โดยใช้สัญญาที่ใช้มาตรฐาน ERC-2981/CW-2981

URL ที่ร้องขอ

ลิงก์สด https://bc-api.qpyou.cn/core/v1/nft/extension/{contract}/royalty/{tokenId}
ลิงก์ Sandbox https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/{contract}/royalty/{tokenId}
วิธีการ HTTP GET
ประเภทเนื้อหา application/json

พารามิเตอร์เส้นทาง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
contract ที่อยู่ของสัญญา NFT สตริง ใช่
tokenId รหัส NFT สตริง ใช่

พารามิเตอร์หัวเรื่อง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API string Y
x-network เครือข่ายบล็อกเชน string Y

พารามิเตอร์การค้นหา

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
salePrice จำนวนเงินจากการขาย NFT string Y

การตอบกลับ

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ของคำขอ API, 0: สำเร็จ number
message ข้อความผลลัพธ์ String
data ข้อมูลการตอบกลับ API json
data.receiver ที่อยู่กระเป๋าเงินที่รับค่าลิขสิทธิ์ string
data.amount จำนวนค่าลิขสิทธิ์ string

ตัวอย่างการร้องขอ

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/royalty/1?salePrice=0.5' 
  -H 'accept: application/json' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb...' 
  -H 'x-network: polygon' 

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": {
    "receiver": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
    "amount": "0.0375"
  }
}

มิ้นท์ NFT

สร้างธุรกรรมที่สร้างโทเค็นไปยังที่อยู่เฉพาะ (to) คุณสามารถเรียกใช้ API นี้โดยการโหลดข้อมูล NFT ที่จำเป็น (mintMsg.tokenId, mintMsg.metadata เป็นต้น) ลงในอาร์เรย์ และ API นี้จะอัปโหลดข้อมูล NFT ไปยัง IPFS (InterPlanetary File System) และสร้าง NFT API นี้ขยายฟีเจอร์ของ NFT API สามารถสร้างโทเค็นสูงสุด 200 โทเค็นในเวลาเดียวกันและตั้งค่าค่าลิขสิทธิ์ from ต้องเป็นบัญชีที่มีสิทธิ์ในการสร้าง

Note
  • สินทรัพย์ดิจิทัลและข้อมูลเมตาของมัน (mintMsg.metadata) ที่สร้างขึ้นผ่าน API จะถูกลงทะเบียนที่ IPFS สาธารณะ (InterPlanetary File System)。
  • Mint NFT API ของ Extension API สามารถสร้าง NFT ให้กับหลายบัญชีพร้อมกันได้ หากคุณสร้าง NFT 1 ชิ้นให้กับ 1 บัญชีแต่ละบัญชี คุณสามารถสร้าง NFT ได้สูงสุด 200 บัญชีสำหรับ XPLA และ 50 บัญชีสำหรับ Polygon หากคุณสร้าง NFT ให้กับ 50 บัญชี คุณสามารถสร้าง NFT ได้ 4 ชิ้นต่อบัญชีสำหรับ XPLA และ 1 ชิ้นต่อบัญชีสำหรับ Polygon。

URL การร้องขอ

ลิงก์สด https://bc-api.qpyou.cn/core/v1/nft/extension/{contract}/mint
ลิงก์ Sandbox https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/{contract}/mint
วิธี HTTP POST
ประเภทเนื้อหา application/json

พารามิเตอร์เส้นทาง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
สัญญา ที่อยู่สัญญา NFT สตริง ใช่

พารามิเตอร์หัวเรื่อง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API string Y
x-network เครือข่ายบล็อกเชน string Y

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
from ที่อยู่บัญชีที่สร้าง NFT สตริง ใช่
mintMsg นี่คือข้อมูลที่จำเป็นสำหรับการสร้าง NFT มันอยู่ในรูปแบบอาร์เรย์ JSON ดังนั้นคุณสามารถสร้าง NFT ให้กับหลายบัญชีได้ อาร์เรย์ ใช่
mintMsg.to ที่อยู่กระเป๋าเงินที่รับ NFT สตริง ใช่
mintMsg.tokenId นี่คือ ID ของ NFT ID ของ NFT ควรมีเอกลักษณ์ และถูกกำหนดโดยผู้สร้าง NFT
  • Polygon: อนุญาตเฉพาะสตริงและจำนวนเต็ม (0~2256-1)
  • XPLA: อนุญาตเฉพาะสตริง
สตริง ใช่
mintMsg.royaltyPercentage นี่คือเปอร์เซ็นต์ค่าลิขสิทธิ์ มันคือเงินที่มอบให้กับผู้สร้าง NFT หรือผู้เรียกร้องทุกครั้งที่ NFT ถูกขายหรือขายต่อ อัตราค่าลิขสิทธิ์จะถูกนำไปใช้กับจำนวนเงินรวมของการขาย ฟีเจอร์นี้ได้รับการสนับสนุนสำหรับตลาด NFT ที่ต้องการสนับสนุนศิลปินและผู้สร้าง NFT อย่างต่อเนื่อง ตลาดจะตรวจสอบค่าลิขสิทธิ์ NFT และจ่ายให้กับผู้รับ ค่าลิขสิทธิ์จะไม่ถูกจ่ายโดยตรงให้กับผู้รับเมื่อ NFT ถูกขาย (โอน) ฟีเจอร์นี้ถูกนำไปใช้สำหรับ OpenSea
  • Polygon: อนุญาตให้มี 2 ตำแหน่งทศนิยม
  • XPLA: อนุญาตเฉพาะจำนวนเต็ม
หมายเลข ไม่ใช่
mintMsg.metadata เมตาดาต้า
  • คุณต้องตรวจสอบประเภทและรูปแบบ url (animationUrl, youtubeUrl, externalUrl) หากข้อมูลนี้ไม่ถูกต้อง การร้องขอ API อาจล้มเหลว
  • เมตาดาต้าจะถูกบันทึกในรูปแบบ snake case เพื่อใช้สำหรับ OpenSea เมื่อมันถูกบันทึกใน IPFS (ตัวอย่าง: animationUrlanimation_url)
json ใช่
mintMsg.metadata.name ชื่อ NFT สตริง ใช่
mintMsg.metadata.description คำอธิบาย NFT สตริง ไม่ใช่
mintMsg.metadata.image นี่คือที่อยู่ของภาพ NFT นี่คือที่อยู่เว็บไซต์สาธารณะหรือที่อยู่ IPFS สาธารณะสำหรับการอัปโหลดภาพไปยัง IPFS สตริง ใช่
mintMsg.metadata.animationUrl ที่อยู่สำหรับอนิเมชัน NFT สตริง ไม่ใช่
mintMsg.metadata.youtubeUrl ที่อยู่ Youtube สตริง ไม่ใช่
mintMsg.metadata.imageData ข้อมูลภาพ NFT สตริง ไม่ใช่
mintMsg.metadata.externalUrl ที่อยู่ url ภายนอก สตริง ไม่ใช่
mintMsg.metadata.backgroundColor ข้อมูลสีพื้นหลังของโทเคน (OpenSea) สตริง ไม่ใช่
mintMsg.metadata.attributes นี่คือข้อมูลของคุณลักษณะเมตาดาต้า ข้อมูลเหล่านี้ประกอบด้วย ข้อมูลเพิ่มเติม ที่ไม่ได้อธิบายไว้ในเมตาดาต้า json ไม่ใช่
mintMsg.metadata.attributes.traitType ชื่อของรายการที่ประกอบเป็นคุณลักษณะ สตริง ไม่ใช่
mintMsg.metadata.attributes.maxValue ค่าสูงสุดของคุณลักษณะ หมายเลข ไม่ใช่
mintMsg.metadata.attributes.value นี่คือค่าของคุณลักษณะ ควรน้อยกว่า mintMsg.metadata.attributes.maxValue หาก mintMsg.metadata.attributes.displayType เป็นวันที่ ให้ตั้งค่านี้ตามรูปแบบ timestamp unix (วินาที) สตริงหรือหมายเลข ไม่ใช่
mintMsg.metadata.attributes.displayType นี่คือประเภทการแสดงผลของคุณลักษณะ ค่าเริ่มต้นคือสตริง
  • หมายเลข: ประเภทเชิงตัวเลข
  • boost_percentage: เปอร์เซ็นต์ (OpenSea Boosts)
  • boost_number: เชิงตัวเลข (OpenSea Boosts)
  • วันที่: ประเภทวันที่ (ตัวอย่าง: วันอังคารที่ 1 มกราคม 2019)
สตริง ไม่ใช่
encoded ว่าการทำธุรกรรมที่ส่งคืนถูกเข้ารหัสหรือไม่
  • true: รับสตริงธุรกรรมดิบที่เข้ารหัส (data.rawTx)
  • false: รับ data.rawTx ที่ถูกถอดรหัส (JSON)
บูลีน ไม่ใช่

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ number
message ข้อความผลลัพธ์ String
data ข้อมูลการตอบกลับ API json
data.rawTx ข้อมูลการทำธุรกรรม string หรือ json
data.hashedTx นี่คือ data.rawTx ที่ถูกแฮช ค่านี้จะถูกส่งกลับเมื่อ API header x-network เป็น "polygon" และ Request Body from เป็นที่อยู่กระเป๋าเงินหลายลายเซ็น string
data.requestId ค่าที่ไม่ซ้ำกันซึ่งสามารถระบุการร้องขอ API แต่ละรายการ string

ตัวอย่างคำขอ

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/0xA3F4308Ed655f962dD7CA180545c21718fAE49AD/mint' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb...' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Content-Type: application/json' 
  -d '{
  "from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
  "mintMsg": [
    {
      "to": "0xFBd488D1b00604d3b05124d80E35FeA9A39C3296",
      "tokenId": "101",
      "metadata": {
        "name": "Arbiter'''s Robe",
        "description": "desc",
        "image": "https://image01.c2x.world/equip_92053030.gif",
        "animationUrl": "https://image01.c2x.world/equip_92053030.gif",
        "externalUrl": "https://dex.c2xnft.com/market?key=4423",
        "attributes": [
          {
            "traitType": "Category",
            "value": "Game",
          }
        ]
      },
      "royaltyPercentage": 12
    }
  ],
  "encoded": true
}'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f8f3830138810b8459682f008459682f1083023...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "6fb62650-d52e-4bec-bb91-dd081813d7f1"
  }
}

เปิดใช้งานสัญญา NFT

สร้างธุรกรรมที่ปรับใช้สัญญา NFT สัญญาที่ปรับใช้รองรับมาตรฐาน ERC-721/CW-721 และฟีเจอร์เสริม

  • การสร้างเหรียญจำนวนมาก
  • ค่าลิขสิทธิ์ (ERC-2981/CW-2981)

URL ที่ร้องขอ

ลิงก์สด https://bc-api.qpyou.cn/core/v1/nft/extension/contract
ลิงก์ Sandbox https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/contract
วิธีการ HTTP POST
ประเภทเนื้อหา application/json

พารามิเตอร์หัวเรื่อง

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์ที่จำเป็นในการเรียก API สตริง ใช่
x-network เครือข่ายบล็อกเชน สตริง ใช่

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
from ที่อยู่กระเป๋าเงินที่ใช้ในการปรับใช้สัญญา string Y
name ชื่อสัญญา NFT string Y
symbol สัญลักษณ์ของสัญญา NFT string Y
minter ที่อยู่กระเป๋าเงินของบัญชีที่สามารถสร้าง NFT ที่สัญญา NFT นี้ string Y
encoded ว่าการทำธุรกรรมที่ส่งกลับถูกเข้ารหัสหรือไม่
  • true: รับสตริงธุรกรรมดิบที่เข้ารหัส (data.rawTx).
  • false: รับ data.rawTx ที่ถูกถอดรหัส (JSON).
boolean N

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์การร้องขอ API, 0: สำเร็จ หมายเลข
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับ API json
data.rawTx ข้อมูลธุรกรรม สตริงหรือ json
data.hashedTx นี่คือ data.rawTx ที่ถูกแฮช ค่านี้จะถูกส่งกลับเมื่อส่วนหัว API x-network เป็น "polygon" และเนื้อหาการร้องขอ from เป็นที่อยู่กระเป๋าเงินหลายลายเซ็น สตริง
data.requestId ค่าที่ไม่ซ้ำกันซึ่งสามารถระบุการร้องขอ API แต่ละรายการ สตริง

ตัวอย่างคำขอ

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/nft/extension/contract' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNvbS5jb...' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Content-Type: application/json' 
  -d '{
  "encoded": true,
  "from": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765",
  "name": "Extension NFT",
  "symbol": "ENFT",
  "minter": "0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765"
}'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "success",
  "data": {
    rawTx: "02f8f3830138810b8459682f008459682f108302...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "6fu656d0-t52q-2bdc-ba93-dd063815s7e1"
  }
}