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

API ล็อก

Lock API มีฟีเจอร์การล็อก NFT เพื่อป้องกันไม่ให้ถูกซื้อขายหรือปล่อยให้สามารถซื้อขายได้อีกครั้ง

ติดตั้งสัญญาล็อค

สร้างธุรกรรมที่ปรับใช้สัญญาล็อค สัญญาล็อคเสนอการล็อค NFT ในกระเป๋าเงินจากการถูกซื้อขายกับบัญชีอื่นหรือปล่อยให้สามารถซื้อขายได้อีกครั้ง

URL ที่ขอ

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

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

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

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
name ชื่อสัญญาล็อค string Y
from ที่อยู่กระเป๋าเงินที่ใช้ในการปรับใช้สัญญาล็อค string Y
executer ที่อยู่กระเป๋าเงินที่สามารถปลดล็อก NFT ที่ถูกล็อค ค่าเริ่มต้นคือที่อยู่ from string N
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" และ Request Body from เป็นที่อยู่กระเป๋าเงินหลายลายเซ็น สตริง
data.requestId ค่าที่ไม่ซ้ำกันซึ่งสามารถระบุการร้องขอ API แต่ละรายการ สตริง

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

curl -X 'POST' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...' 
  -H 'Content-Type: application/json' 
  -d '{
  "encoded": true,
  "name": "lock_test",
  "from": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39"
}'

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

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f8738301388181c2846fc23ac0846fc23ad882cdc49494853bdc9c6add50d7842d1a3117fab38545747080b8...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "4d4aa1e5-2bfe-4080-b42f-03319810fe29"
  }
}

ล็อก NFT

สร้างธุรกรรมที่บัญชีเจ้าของ NFT (from) ส่ง NFT (tokenId) ไปยังสัญญาล็อค เมื่อ NFT ถูกส่งไปยังสัญญาล็อค ความเป็นเจ้าของ NFT นี้จะถูกโอนให้กับสัญญาล็อค และเจ้าของก่อนหน้านี้ไม่สามารถส่ง NFT นี้ไปยังบัญชีอื่นได้อีกต่อไป

URL ขอ

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

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

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

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

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

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
from ที่อยู่กระเป๋าของเจ้าของ NFT สตริง ใช่
lockContract ที่อยู่ของสัญญา NFT lock สตริง ใช่
tokenId ID ของ NFT สตริง ใช่
encoded ว่าการทำธุรกรรมที่ส่งคืนถูกเข้ารหัสหรือไม่ true: รับสตริงธุรกรรมดิบที่เข้ารหัส (data.rawTx). false: รับ data.rawTx ที่ถอดรหัส (JSON). บูลีน ไม่

การตอบสนอง

ชื่อฟิลด์ คำอธิบาย ประเภท
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/contract/0x777358b228a4720ffa088516294b324f8d24639c/lock' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...' 
  -H 'Content-Type: application/json' 
  -d '{
  "from": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
  "lockContract": "0xD6e69da7f1be111394dfef4C48eaC9b52ddf2Fd0",
  "tokenId": "1",
  "encoded": true
}'

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

// When the encoded is set to true 
{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f8d3830138810b8458e948068458e948168302e71494ebd9144485089ebe248f8490...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "5743f0aa-0323-47fc-a3da-173eee27bbe4"
  }
}
// When the encoded is set to false
{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": {
      "from": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
      "to": "0xebd9144485089ebe248f8490984a60579407c262",
      "data": "0xb88d4fde000000000000000000000000dcd51770d06b54204abd8c30a25b4583d4cab...",
      "nonce": 11,
      "chainId": 80001,
      "gas": 190228,
      "maxFeePerGas": 1491259270,
      "maxPriorityFeePerGas": 1491259255
    },
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "dd33ddd8-31fa-4491-9c3c-2f912f7059bc"
  }
}

ปลดล็อก NFT

สร้างธุรกรรมที่สัญญาล็อคส่งคืน NFT (tokenId) ไปยังบัญชีเจ้าของ NFT เมื่อ NFT ถูกส่งคืนไปยังบัญชีเจ้าของ NFT บัญชีนี้สามารถกลับมาทำการซื้อขาย NFT นี้ได้อีกครั้ง

URL ที่ร้องขอ

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

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

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

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

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

เนื้อหาคำขอ

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

การตอบกลับ

ชื่อฟิลด์ คำอธิบาย ประเภท
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/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/unlock' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...' 
  -H 'Content-Type: application/json' 
  -d '{
  "nftContract": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
  "from": "0xdcd51770d06B54204abd8c30A25b4583D4cABa39",
  "tokenId": "1",
  "encoded": true
}'

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

{
  "code": 0,
  "message": "success",
  "data": {
    "rawTx": "02f873830138810c8451f4d5c08451f4d5cf83018c0694572f47db51a98...",
    "hashedTx": "0x53e8783e4da707daf58c96a8cea278e7b2a8a5f185af0913b518974556c79076...",
    "requestId": "0e40db96-8964-410f-81e2-a968269872d4"
  }
}

รับข้อมูลเจ้าของของ NFT ที่ถูกล็อก

ส่งคืนข้อมูลของบัญชีที่เป็นเจ้าของ NFT ที่ถูกล็อก (tokenId).

URL ที่ร้องขอ

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

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

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

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

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

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

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

การตอบสนอง

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

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

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/token/1/account?nftContract=0x777358b228a4720ffa088516294b324f8d24639c' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'

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

{
  "code": 0,
  "message": "success",
  "data": {
    "owner": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463"
  }
}

ข้อมูล NFT ที่ถูกล็อค

รับข้อมูลของ NFT ที่ถูกล็อคของเจ้าของ (owner) ที่ตั้งอยู่ที่สัญญาล็อค (contract).

URL การร้องขอ

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

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

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
contract ที่อยู่ของสัญญา NFT lock string Y
owner ที่อยู่ของเจ้าของ NFT string Y

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

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

การตอบสนอง

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

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

curl -X 'GET' 
  'https://sandbox-bc-api.qpyou.cn/core/v1/lock/contract/0xa245824a24daf3b312d3f59c7debf162c4993e8b/account/0x9428e6eF51FEb2201676deEc11B7E36F7c1F0765/tokens' 
  -H 'accept: application/json' 
  -H 'x-network: polygon' 
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJp...'

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

{
  "code": 0,
  "message": "success",
  "data": {
    "tokens": [
      {
        "owner": "0xA10078576Ca6f63dc6f78ff9a8ed8bd05B51f463",
        "nftAddress": "0xeBd9144485089EbE248f8490984A60579407c262",
        "tokenId": "2"
      }
    ]
  }
}