債券市集包裝程式 API 套件

Oracle Blockchain Platform Digital Assets Edition 包含一個包裝函式 API 套件,可擴充 REST API 以支援債券 NFT 市集特定的作業。

包裝程式 API 套件使用 API 閘道服務和 OCI 函數,特別部署 API 路由,以管理債券市場 NFT 生命週期。債券市集包裝函式 API 套件可從 Oracle Blockchain Platform 主控台下載,並包含包含包裝函式 API 套件的封存檔案,包含部署所需的 Terraform 指令碼。您可以將此檔案部署到 Oracle Cloud Infrastructure (OCI) 上的資源管理程式堆疊,以為包裝函式 API 建立必要的 Oracle 資源。它也包含 Postman 集合,可讓您測試已部署的包裝函式 API。此集合包含預先設定的要求,其端點和有效負載與包裝函式 API 套裝程式中定義的 API 相對應。

包裝函式 API

activateAccount
原始方法名稱:activateAccount
此 POST 方法會啟用權杖帳戶。此方法只能由管理員或帳戶擁有者呼叫。無法啟用已刪除的帳戶。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 記號的 ID。
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,指定記號帳戶之帳戶狀態物件的 JSON 表示法。
傳回值範例:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
addTokenAdmin
原始方法名稱:addTokenAdmin
此 POST 方法會將其他管理員新增至權杖鏈碼。此方法只能由鏈碼的權杖管理員呼叫。
有效負載:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,包含以鏈碼 Token Admin 新增之使用者明細的訊息。
傳回值範例:
{
  "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
addRole
原始方法名稱:addRole
此 POST 方法會將角色新增至指定的使用者與記號。此方法只能由鏈碼的 Token Admin 呼叫。記號名稱會指定不可使用的記號。指定的使用者必須有不可執行的權杖帳戶。指定的角色必須存在於權杖的規格檔案中。
有效負載:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "role": "role minter/burner"
    "tokenDetails": "{"tokenName": "token name value"}"
    "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • role: string – 要新增至指定使用者的角色名稱。
  • tokenDetails: TokenDetail – 指定記號的詳細資訊。對於非可行的記號,請使用下列格式:
    {"tokenName":"artCollection"}
傳回值:
  • 成功時,會顯示含有帳戶詳細資訊的訊息。
傳回值範例:
{
  "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
}
approveBondRedemption
原始方法名稱:approveBondRedemption
只有記號建立者才能呼叫此 POST 方法,以核准兌換連結記號的要求。核准作業會將債券 NFT 從所有者的帳戶 (提出要求的使用者) 轉移至建立者的帳戶,並將 CBDC 權杖從債券建立者的帳戶轉移至所有者的帳戶。因此,必須在單元交易的相關資訊環境中執行此方法。此方法也會驗證傳輸程序,確保以正確的 orgIduserId 呼叫適當的 CBDC 鏈碼進行傳輸。orgIduserId 必須對應提出贖回要求之權杖擁有者的帳戶,且 CBDC 權杖移轉值必須等於在提出贖回要求時由鏈碼計算的計算贖回價格。
有效負載:
{
   "fromOrgId": "fromOrgId value",
   "fromUserId": "fromUserId value",
   "settlementId": "settlementId value",
   "tokenId": "{{bc-token-id}}",
   "CBDCTokenId": "CBDCTokenId value",
   "CBDCFromOrgId": "CBDCFromOrgId value",
   "CBDCFromUserId": "CBDCFromUserId value",
   "CBDCQuantity": 0,
   "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
   "endorsers": {{endorsers}}
}
參數:
  • fromOrgId: string – 使用者的成員身分服務提供者 (MSP) ID。
  • fromUserId: string – 使用者的使用者名稱或電子郵件 ID。
  • settlementId: string – 贖回作業的結算 ID。
  • tokenId: string – 記號的 ID。
  • CBDCTokenId: string – CBDC 鏈碼中的記號 ID。
  • CBDCOrgId: string – CBDC 鏈碼中使用者的 MSP ID。
  • CBDCUserId: string – CBDC 鏈碼中使用者的使用者名稱或電子郵件 ID。
  • CBDCQuantity: string – CBDC 鏈碼中要傳輸的記號數量。
  • CBDCRemark: string – CBDC 鏈碼中傳輸的註記,其格式必須為先前顯示的格式。
傳回值範例:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
balanceOfBatch
原始方法名稱:balanceOfBatch
此 GET 方法會完成取得權杖帳戶餘額的批次作業。帳戶詳細資料指定於三個不同的組織 ID、使用者 ID 與憑證 ID 清單。此方法只能由鏈碼的 Token Admin 或帳戶擁有者呼叫。帳戶擁有者只能查看自己擁有之帳戶的餘額明細。
查詢:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
參數:
  • orgIds: string[] – 目前組織中的成員身分服務提供者 (MSP) ID 清單。
  • userIds: string[] – 使用者名稱或電子郵件 ID 的清單。
  • tokenIds: string[] – 記號 ID 的清單。
傳回值範例:

在下列範例中,記號 ID FNFT 代表分數非可行記號,而記號 ID FT 代表有趣的記號。

[
    {
        "orgId": "appdev",
        "userId": "idcqa",
        "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "tokenAccountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "tokenId": "FNFT",
        "balance": 100
    },
    {
        "orgId": "appdev",
        "userId": "idcqa",
        "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "tokenAccountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
        "tokenId": "FT",
        "balance": 50
    },
    {
        "orgId": "appdev",
        "userId": "user1_minter",
        "userAccountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
        "tokenAccountId": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "tokenId": "FNFT",
        "balance": 10
    }
]
batchTransferFrom
原始方法名稱:batchTransferFrom
此 POST 方法會完成批次作業,將記號 ID 清單中指定的記號從某個使用者傳輸給另一個使用者。
有效負載:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
參數:
  • fromOrgId: string – 目前組織中寄件者與記號擁有者的成員身分服務提供者 (MSP) ID。
  • fromUserId: string – 寄件者與記號擁有者的使用者名稱或電子郵件 ID。
  • toOrgId: string – 目前組織中接收者的成員身分服務提供者 (MSP) ID。
  • toUserId: string – 接收者的使用者名稱或電子郵件 ID。
  • tokenIds: string[] – 要傳輸之記號的記號 ID 清單。
  • quantity: number[] – 與記號 ID 陣列對應的要傳輸的記號數量清單。
傳回值:
  • 成功時,會顯示包含每個記號傳輸詳細資訊的訊息。
傳回值範例:
[
    {
        "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    }
]
burnBatch
原始方法名稱:burnBatch
此 POST 方法會停用或燒錄指定的記號。任何具有燒錄機角色的使用者都可以呼叫這個方法。
有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
參數:
  • orgId: string – 目前組織中的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者名稱或電子郵件 ID。
  • tokenIds: string[] – 要燒錄的記號 ID 清單
  • quantity: number[] – 要燒錄的記號數量清單,對應至記號 ID 陣列。
傳回值:
  • 成功時,內含燒錄操作詳細資訊的訊息。
傳回值範例:
[
  {
    "msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: idcqa)"
  },
  {
    "msg": "Successfully burned 5 tokens of tokenId: tokenOne from Account-ID oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
  },
  {
    "msg": "Successfully burned 2 token share of tokenId: FNFT from Account-ID oaccount~87bcb699d507368ee3966cd03ee6d7736ffc55dde8c0f0e16b14866334ac504a (Org-Id: AutoF1377358917, User-Id: idcqa)"
  }
]
createAccount
原始方法名稱:createAccount
此 POST 方法會為指定的使用者建立帳戶,並為記號建立關聯的記號帳戶。必須為任何需要記號的使用者建立帳戶。使用者帳戶會追蹤使用者持有的 NFT 帳戶和有趣的記號帳戶。使用者必須擁有網路中的帳號,才能完成記號相關的作業。此方法只能由鏈碼的 Token Admin 呼叫。

使用者帳戶具有唯一 ID,由 orgId 參數的 SHA-256 雜湊和 userId 參數組成。

使用者可以有多個具有唯一帳戶 ID 的可行權杖帳戶。有趣的記號帳戶 ID 是由 orgId 參數的 SHA-256 雜湊、userId 參數、以波狀符號 (~) 區隔的常數字串 ft,以及代表正由波狀符號 (~) 區隔之有趣帳戶索引的計數器編號所組成。

使用者只能有一個不可執行的權杖帳戶。非可行的記號帳戶 ID 是唯一的,由 orgId 參數的 SHA-256 雜湊、userId 參數以及以波狀符號 (~) 區隔的常數字串 nft 組成。使用者擁有的所有非可行權杖 (不論是全部或小數) 都會連結至此帳戶。

有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "ftAccount": true,
 "nftAccount": true,
 "endorsers": {{endorsers}}
}
參數:
  • orgId – 要建立帳戶之使用者的成員身分服務提供者 (MSP) ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、at 符號 (@) 以及連字號 (-)。
  • userId – 使用者的使用者名稱或電子郵件 ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、at 符號 (@) 以及連字號 (-)。
  • ftAccount: boolean – 若為 true,則會建立有趣的記號帳戶並與使用者帳戶建立關聯。
  • nftAccount: boolean – 若為 true,則會建立與使用者帳戶相關聯的不可行記號帳戶。
傳回值:
  • 成功時,所建立帳戶的 JSON 物件。
傳回值範例:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
  "userId": "user1",
  "orgId": "appdev",
  "totalAccounts": 2,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
createAccountWithEnrollment
原始方法名稱:createAccountWithEnrollment
此 POST 方法會為執行處理之 REST 代理主機中的使用者建立註冊,並在債券市集鏈碼中建立 NFT 帳戶。
有效負載:
{
 "orgId": "orgId value",
 "userId": "userId value"
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,所建立帳戶的 JSON 物件。
傳回值範例:
{
 "blockNumber": 44,
 "encode": "JSON",
 "payload": {
 "accountId": "ouaccount~1930ec223036c0fe2ea97c58fd9a8d2456d13c0fd0c98217ce075ceddb8add02",
 "assetType": "ouaccount",
 "associatedFtAccounts": [],
 "associatedNftAccount": "oaccount~03f8a6949f6c5c453354a4a8eed8503a39766085b476430e95ce305769fba861",
 "orgId": "BondMPTest",
 "totalAccounts": 1,
 "totalFtAccounts": 0,
 "userId": "u14"
 },
 "sourceURL": "bondmptest-oabcs1-iad.blockchain.ocp.example.com:20010",
 "txid": "9fa75a631f0de2ddf2ed85742dcc4d4b97b7afb0d3f9a07988e5cb9120ed633f"
}
createBondToken
原始方法名稱:createBondToken
此 POST 方法會建立記號。每個定義的記號都有自己的建立方法。對於非有趣的記號,此方法的呼叫程式會成為 NFT 的擁有者。如果在記號模型 behaviors 特性中定義 roles 行為,且指定了 minter_role_name,則呼叫者帳戶必須具有 minter 角色。
有效負載:
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"tokenMetadata\":{\"ISIN\":\"ISIN value\",\"Segment\":\"Segment value\",\"Issuer\":\"Issuer value\",\"FaceValue\":999,\"IssueSize\":999,\"CouponRate\":999,\"InterestPaymentType\":\"InterestPaymentType value\",\"InterestFrequency\":\"InterestFrequency value\",\"IssueDate\":\"2023-03-28T15:16:36+00:00\",\"MaturityDate\":\"2023-03-28T15:16:36+00:00\"},\"status\":\"status value\"}",
 "quantity": 1,
 "sameOrgEndorser": true
}
參數:
  • tokenAsset: <Token Class> – 權杖資產。資產的特性是在模型檔案中定義。
  • quantity: number – 要提示的記號數目。此參數的唯一支援值為 1
傳回值:
  • 成功時,所建立帳戶的 JSON 物件。
傳回值範例:
{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
createIDSCUser
原始方法名稱:createIDCSUser
此 POST 方法會在 terraform.tfvars 檔案中由 URL 指定的租用戶中建立一個 Identity Cloud Service 使用者,然後將使用者指派給指定的使用者群組。
有效負載:
{
 "userName": "userName value",
 "firstName": "firstName value",
 "lastName": "lastName value",
 "email": "email value",
 "groupName": "groupName value"
}
參數:
  • userName: string – 使用者的 ID。
  • firstName: string – 使用者的名字。
  • lastName: string – 使用者的姓氏。
  • email: string – 使用者的電子郵件地址。
  • groupName: string – 要指定給使用者的 Identity Cloud Service 群組名稱。
傳回值範例:
{
 "status": "Success",
 "msg": "User user1 is created and assigned to the group BOND_ADMIN"
}
createTokenAccount
原始方法名稱:createTokenAccount
此 POST 方法會建立有趣或不可行的權杖帳戶,以與使用者帳戶關聯。

使用者可以有多個具有唯一帳戶 ID 的可行權杖帳戶。有趣的記號帳戶 ID 是由 orgId 參數的 SHA-256 雜湊、userId 參數、以波狀符號 (~) 區隔的常數字串 ft,以及代表正由波狀符號 (~) 區隔之有趣帳戶索引的計數器編號所組成。

使用者只能有一個不可執行的權杖帳戶。非可行的記號帳戶 ID 是唯一的,由 orgId 參數的 SHA-256 雜湊、userId 參數以及以波狀符號 (~) 區隔的常數字串 nft 組成。使用者擁有的所有非可行權杖 (不論是全部或小數) 都會連結至此帳戶。

此方法只能由鏈碼的 Token Admin 呼叫。

有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenType": "nonfungible",
 "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • tokenType: TokenType – 要建立的記號帳戶類型。唯一支援的記號類型為 nonfungiblefungible
傳回值:
  • 成功時,所建立權杖帳戶的 JSON 物件。
傳回值範例:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 1,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": ""
}
createUserAccount
原始方法名稱:createUserAccount
此 POST 方法會為指定的使用者建立帳戶。必須為任何需要記號的使用者建立帳戶。使用者帳戶會追蹤使用者擁有的 NFT 帳戶和有趣的記號帳戶。使用者必須擁有網路中的帳號,才能完成記號相關的作業。

帳戶 ID 是 orgId 參數和 userId 參數的 SHA-256 雜湊。此方法只能由鏈碼的 Token Admin 呼叫。

有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,所建立使用者帳戶的 JSON 物件。
傳回值範例:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 0,
  "totalFtAccounts": 0,
  "associatedFtAccounts": [],
  "associatedNftAccount": ""
}
deleteAccount
原始方法名稱:deleteAccount
此 POST 方法會刪除記號帳戶。此方法只能由鏈碼的 Token Admin 呼叫。如果在分類帳中找不到帳戶的 accountStatus 值,則此方法會發出錯誤。
有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,代表權杖帳戶狀態的 JSON。
傳回值範例:
{
  "assetType": "oaccountStatus",
  "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
getAccount
原始方法名稱:getAccount
此 GET 方法會傳回指定使用者的權杖帳戶詳細資訊。只有鏈碼的 Token Admin 或帳戶的 Account Owner 才能呼叫此方法。
查詢:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • tokenId?: string – 對於不可行的記號帳戶,字串為空。若為有趣的權杖帳戶,則為權杖 ID。
傳回值:
  • 成功時,包含記號帳戶詳細資訊的 JSON 物件。
傳回值範例
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountBondSummary
原始方法名稱:getAccountBondSummary
此 GET 方法會傳回指定使用者的帳戶摘要,包括購買或兌換權杖的明細,以及其購買與兌換價格。
查詢:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,包含權杖帳戶摘要的 JSON 物件。
傳回值範例
[
 {
   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"bond1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
getAccountBondSummaryWithPagination
原始方法名稱:getAccountBondSummaryWithPagination
此 GET 方法會傳回指定使用者的帳戶摘要,包括購買或兌換權杖的明細,以及其購買與兌換價格。此方法可以根據頁面大小和書籤值傳回分頁結果,也可以依開始時間和結束時間篩選。
查詢:
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • pageSize: number – 傳回之結果的頁面大小。
  • bookmark: string – 傳回之結果的書籤。
傳回值:
  • 成功時,包含權杖帳戶摘要的 JSON 物件。
傳回值範例
[
 {

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"bond1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
getAccountDetailsByUser
原始方法名稱:getAccountDetailsByUser
此 GET 方法會傳回指定使用者的帳戶摘要,以及與使用者關聯之有趣和不可行記號的詳細資訊。只有鏈碼的 Token Admin 或帳戶的 Account Owner 才能呼叫此方法。
查詢:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,JSON 帳戶物件會包含指定使用者的帳戶摘要,以及與使用者相關聯之有趣且不可行變數替代字的詳細資料。對於分數非函數記號,associatedNFTs 區段中的 tokenShare 特性會顯示使用者擁有的共用。
傳回值範例:
{
    "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
    "associatedFTAccounts": [
        {
            "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
            "tokenId": "FT",
            "balance": 50
        }
    ],
    "associatedNFTAccount": {
        "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "associatedNFTs": [
            {
                "nftTokenId": "FNFT",
                "tokenShare": 100
            },
            {
                "nftTokenId": "FNFT2",
                "tokenShare": 110
            },
            {
                "nftTokenId": "NFT"
            }
        ]
    }
}
getAccountStatus
原始方法名稱:getAccountStatus
此 GET 方法會擷取權杖帳戶的目前狀態。鏈碼的 Token Admin 或權杖帳戶擁有者可以呼叫此方法。
查詢:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,代表權杖帳戶狀態的 JSON。
傳回值範例:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
getAccountStatusHistory
原始方法名稱:getAccountStatusHistory
此 GET 方法會擷取帳戶狀態的歷史記錄。鏈碼的 Token Admin 或權杖帳戶擁有者可以呼叫此方法。
查詢:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,會有 JSON 格式的帳戶狀態歷史記錄。
傳回值範例:
[
  {
    "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
    "timeStamp": "2022-12-02T10:39:14.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "suspended"
    }
  },
  {
    "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
    "timeStamp": "2022-12-02T10:37:50.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "active"
    }
  }
]
getAccountTransactionHistory
原始方法名稱:getAccountTransactionHistory
此 GET 方式會傳回科目交易歷史記錄。只有鏈碼的 Token Admin 或帳戶擁有者才能呼叫此方法。
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
[
    {
        "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~7c88c736df38d5622512f1e8dcdd50710eb47c953f1ecb24ac44790a9e2f475b",
        "timestamp": "2023-06-06T14:48:08.000Z",
        "tokenId": "FNFT",
        "transactedAmount": 10,
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "transactionType": "DEBIT",
        "balance": 90
    },
    {
        "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~178e3730bc5bee50d02f1464a4eebf733a051905f651e5789039adb4a3edc114",
        "timestamp": "2023-06-06T14:48:08.000Z",
        "tokenId": "NFT",
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "transactionType": "DEBIT"
    },
    {
        "transactionId": "otransaction~c369929e28e78de06c72d020f1418c9a154a7dd280b2e22ebb4ea4485e249124~a7cefb22ff39ee7e36967be71de27da6798548c872061a62dabc56d88d50b930",
        "timestamp": "2023-06-06T14:47:08.000Z",
        "tokenId": "NFT",
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "transactionType": "MINT"
    },
    {
        "transactionId": "otransaction~114a1bc78d04be48ee6dc140c32c042ee9481cb118959626f090eec744522422~e4eb15d9354f694230df8835ade012100d82aa43672896a2c7125a86e3048f9f",
        "timestamp": "2023-06-05T17:17:57.000Z",
        "tokenId": "FNFT",
        "transactedAmount": 100,
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "transactionType": "MINT",
        "balance": 100
    }
]
getAccountsByRole
原始方法名稱:getAccountsByRole
此 GET 方法會傳回指定角色和記號的所有帳戶 ID 清單。
查詢:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
參數:
  • role: string – 要搜尋之角色的名稱。
  • tokenDetail: JSON – 對於有趣的記號,記號 ID。對於不可行的記號,需要記號名稱。
傳回值範例:
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
原始方法名稱:getAllAccounts
此 GET 方法會傳回所有使用者帳戶的詳細資訊。此方法只能由鏈碼的 Token Admin 呼叫。
查詢:
/getAllAccounts
參數:
傳回值:
  • 成功時,所有帳戶的 JSON 陣列。
傳回值範例:
[
        {
            "assetType": "ouaccount",
            "accountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
            "userId": "user2",
            "orgId": "appdev",
            "totalAccounts": 2,
            "totalFtAccounts": 1,
            "associatedFtAccounts": [
                {
                    "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
                    "tokenId": "loy1"
                }
            ],
            "associatedNftAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371"
        },
        {
            "assetType": "ouaccount",
            "accountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
            "userId": "user1_minter",
            "orgId": "appdev",
            "totalAccounts": 2,
            "totalFtAccounts": 1,
            "associatedFtAccounts": [
                {
                    "accountId": "oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c",
                    "tokenId": "loy1"
                }
            ],
            "associatedNftAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446"
        },
    ]
getAllTokenAdmins
原始方法名稱:getAllTokenAdmins
此 GET 方法會傳回屬於鏈碼之 Token Admin 的所有使用者清單。此方法只能由鏈碼的 Token Admin 呼叫。
查詢:
/getAllTokenAdmins
參數:
傳回值:
  • 成功時,會有 JSON 格式的 admins 陣列,其中包含 orgIduserId 物件。
傳回值範例:
{
  "admins": [
    {
      "orgId": "appdev",
      "userId": "user2"
    },
    {
      "orgId": "appdev",
      "userId": "user1"
    }
  ]
}
getAllTokens
原始方法名稱:getAllTokens
此方法會傳回儲存在狀態資料庫中的所有記號資產。此方法只能由鏈碼的 Token Admin 呼叫。此方法使用 Berkeley DB SQL Rich Query,且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。
/getAllTokens
參數:
傳回值:
  • JSON 格式的所有權杖資產清單。
傳回值範例:
[{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "status value"
}]
getAllTokensByUser
原始方法名稱:getAllTokensByUser
此 GET 方法會傳回指定使用者擁有的所有權杖資產。此方法使用 Berkeley DB SQL Rich Query,且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。只有鏈碼的 Token Admin 或帳戶擁有者才能呼叫此方法。
查詢:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值範例:
[{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "status value"
}]
getAllTokensWithFilters
原始方法名稱:getAllTokensWithFilters
管理員可以呼叫此 GET 方法來擷取依狀態篩選的所有記號。
查詢:
/getAllTokensWithFilters?status=status&pageSize=pageSize&bookmark=bookmark
參數:
  • status: string – 記號的狀態,可以是 CREATEDPOSTED
  • pageSize: number – 傳回之結果的頁面大小。
  • bookmark: string – 傳回之結果的書籤。
傳回值範例:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getTokenApprovalRequestByUser
原始方法名稱:getTokenApprovalRequestByUser
任何帳戶持有人都可以呼叫此 GET 方法,以取得他們所提出之所有權杖核准要求 (贖回要求) 的詳細資訊。
查詢:
/getTokenApprovalRequestByUser?status=status value
參數:
  • status: string – 要求的狀態,可以是 PENDINGREJECTEDAPPROVED
傳回值範例:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenApprovalRequestForUserByStatus
原始方法名稱:getTokenApprovalRequestByUser
任何帳戶持有人都可以呼叫此 GET 方法,以取得他們所提出之所有權杖核准要求 (贖回要求) 的詳細資訊。
查詢:
/getTokenApprovalRequestForUserByStatus?status=status value
參數:
  • status: string – 要求的狀態,可以是 PENDINGREJECTEDAPPROVED
傳回值範例:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenById
原始方法名稱:getTokenById
如果憑證存在於狀態資料庫中,則此 GET 方法會傳回記號物件。如果是分數 NFT,也會傳回擁有者清單。只有鏈碼或記號擁有者的 Token Admin 才能呼叫此方法。
查詢:
/getTokenById?tokenId={{bc-token-id}}
參數:
  • tokenId: string – 要取得之記號的 ID。
傳回值範例:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getTokenHistory
原始方法名稱:getTokenHistory
此 GET 方法會傳回指定記號 ID 的歷史記錄。
查詢:
/getTokenHistory?tokenId={{bc-token-id}}
參數:
  • tokenId: string – 記號的 ID。
傳回值:
  • 成功時,包含記號歷史記錄的 JSON 陣列。
傳回值範例:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getUsersByRole
原始方法名稱:getUsersByRole
此方法會傳回指定角色和記號的所有使用者清單。此方法只能由鏈碼的 Token Admin 呼叫。
查詢:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
參數:
  • role: string – 要搜尋之角色的名稱。
  • tokenDetail: JSON – 對於有趣的記號,記號 ID。對於不可行的記號,需要記號名稱。
傳回值範例:
{
    "users": [
        {
            "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
            "orgId": "appdev",
            "userId": "user2"
        },
        {
            "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
            "orgId": "appdev",
            "userId": "user1"
        }
    ]
}
init
原始方法名稱:init
建立鏈碼時,會呼叫此 POST 方法。每個 Token Admin 都是由 adminList 參數中的 userIdorgId 資訊來識別。userId 是執行處理擁有者或登入執行處理之使用者的使用者名稱或電子郵件 ID。orgId 是目前網路組織中使用者的成員身分服務提供者 (MSP) ID。第一次部署鏈碼時,必須提供 adminList 參數。如果您要升級鏈碼,請傳送空白清單 ([])。如果您是初始部署鏈碼的使用者,您也可以在升級鏈碼時,在 adminList 參數中指定新的管理員。升級時會忽略 adminList 參數中的任何其他資訊。
有效負載:
{
 "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
參數:
  • adminList array – 指定記號管理員清單的 {orgId, userId} 資訊陣列。adminList 陣列是必要參數。
傳回值:
  • 成功時,會顯示不含有效負載的訊息。
傳回值範例:
{
}
isInRole
原始方法名稱:isInRole
此 GET 方法會傳回布林值,指示使用者是否具有指定的角色。記號名稱會指定不可使用的記號。只有鏈碼的 Token Admin 或帳戶的 Account Owner 才能呼叫此方法。指定的使用者必須要有與不合法權杖關聯的權杖帳戶,或是 NFT 角色的不可行權杖帳戶。指定的角色必須存在於權杖的規格檔案中。
查詢:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • role: string – 要搜尋之角色的名稱。
  • tokenDetails: TokenDetail – 指定記號的詳細資訊。對於非可行的記號,請使用下列格式:
    {"tokenName":"artCollection"}
傳回值範例:
{
    "result": true,
    "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa) has minter role"
}
isTokenAdmin
原始方法名稱:isTokenAdmin
如果函數的呼叫程式是 Token Admin,則此 GET 方法會傳回布林值 true,否則會傳回 false。此方法只能由鏈碼的 Token Admin 呼叫。
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 如果呼叫程式是 Token Admin,此方法會傳回 true,否則會傳回 false
傳回值範例:
{"result": true}
mintBatch
原始方法名稱:mintBatch
此 POST 方法會在批次作業中建立 (分鐘) 多個記號。此方法只會建立有趣的記號或分數非有趣的記號。

對於有趣的記號,如果在規格檔案中定義了 minter 角色,則具有 minter 角色的任何使用者都可以呼叫此方法。如果不是,任何使用者都可以使用此方法來提示記號。如果在建立或更新記號時指定了該特性,您就不能超出記號的 max_mint_quantity 特性。

對於非有趣的記號,如果在規格檔案中定義了 minter 角色,則具有 minter 角色的任何使用者都可以呼叫此方法。如果不是,任何使用者都可以使用此方法來提示記號。此外,呼叫者也必須是記號的建立者。部分不可行記號的數量沒有上限,無法加以提示。

您無法使用此方法來鑄造整個不適用的記號。

有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • tokenIds: string[] – 提示記號的記號 ID 清單。
  • quantity: number[] – 對應至記號 ID 陣列的記號數量清單。
傳回值:
  • 成功時,包含提示記號詳細資訊的 JSON 物件。
傳回值範例:
{
    "msg": "Successfully minted batch of tokens for User-Account-Id ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38 (Org-Id: appdev, User-Id: idcqa).",
    "details": [
        {
            "msg": "Successfully minted 100 tokens of fractional tokenId: plot55 to Org-Id: appdev, User-Id: idcqa"
        },
        {
            "msg": "Successfully minted 100 tokens of tokenId: loyalty to Token-Account-Id oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e"
        }
    ]
}
ownerOf
原始方法名稱:ownerOf
此 GET 方法會傳回指定記號 ID 之擁有者的帳戶 ID、組織 ID 和使用者 ID。任何人都可以呼叫這個方法。
查詢:
/ownerOf?tokenId={{bc-token-id}}
參數:
  • tokenId: string – 記號的 ID。
傳回值範例:
[
    {
        "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
        "orgId": "Org1MSP",
        "userId": "admin"
    },
    {
        "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
        "orgId": "Org1MSP",
        "userId": "user"
    }
]
payInterest
原始方法名稱:ownerOf
只有記號建立者或管理員才能呼叫此 POST 方法,以支付在債券記號中賺取的利息。只有記號的利息頻率為每月、每季或每年時,才能呼叫此方法。如果利息頻率為到期,則無法支付利息。利息是由鏈碼根據權杖的優惠券利率計算。購買作業會將 CBDC 權杖從來電者的帳戶轉移至債券擁有者的帳戶。因此,這個方法必須在單元交易的相關資訊環境中執行。此方法也會驗證傳輸程序,確保以正確的 orgIduserId 呼叫適當的 CBDC 鏈碼進行傳輸。orgIduserId 必須對應記號擁有者,且 CBDC 記號傳輸值必須等於連結鏈碼所計算的利息。
有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "CBDCTokenId": "CBDCTokenId value",
 "CBDCFromOrgId": "CBDCFromOrgId value",
 "CBDCFromUserId": "CBDCFromUserId value",
 "CBDCQuantity": 0,
 "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
 "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • tokenId: string – 記號的 ID。
  • orderId: string – 作業的順序 ID。
  • CBDCTokenId: string – CBDC 鏈碼中的記號 ID。
  • CBDCOrgId: string – CBDC 鏈碼中使用者的 MSP ID。
  • CBDCUserId: string – CBDC 鏈碼中使用者的使用者名稱或電子郵件 ID。
  • CBDCQuantity: string – CBDC 鏈碼中要傳輸的記號數量。
  • CBDCRemark: string – CBDC 鏈碼中傳輸的註記,其格式必須為先前顯示的格式。
傳回值範例:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
postBondToken
原始方法名稱:postBondToken
此 POST 方法只能由權杖建立者呼叫。這個方法會提交債券權杖以便在市集中刊登。建立記號時,其狀態一開始會設為 created。此方法會將狀態更新為 posted。使用者可以執行 getAllTokensWithFilter 方法來擷取所有狀態為 posted 的 NFT。
有效負載:
{
 "tokenId": "{{bc-token-id}}",
 "sameOrgEndorser": true
}
參數:
  • tokenId: string – 要張貼之記號的 ID。
傳回值範例:
{
         "isValid":true,
         "payload":{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"created"
         },
         "message":"Successfully updated asset with ID bond1"
      }
purchaseBondToken
原始方法名稱:purchaseBondToken
任何帳戶持有人皆可呼叫此 POST 方法,以購買列出的債券 NFT。採購會將債券 NFT 從建立者的帳戶轉移至來電者的帳戶,並將 CBDC 權杖從來電者的帳戶轉移至建立者的帳戶。因此,方法必須在單元交易的相關資訊環境中執行。此方法也會驗證傳輸程序,確保以正確的 orgIduserId 呼叫適當的 CBDC 鏈碼進行傳輸。orgIduserId 必須對應記號建立者,且 CBDC 記號傳輸值必須等於結合記號的面值乘以購買的數量。
有效負載:
{
 "tokenId": "{{bc-token-id}}",
 "quantity": 1,
 "orderId": "orderId value",
 "additionalFees": 1,
 "CBDCTokenId": "CBDCTokenId value",
 "CBDCFromOrgId": "CBDCFromOrgId value",
 "CBDCFromUserId": "CBDCFromUserId value",
 "CBDCQuantity": 0,
 "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
 "endorsers": {{endorsers}}
}
參數:
  • tokenId: string – 要購買之記號的 ID。
  • orgId: string – 使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • settlementId: string – 作業的結算 ID。
  • CBDCTokenId: string – CBDC 鏈碼中的記號 ID。
  • CBDCOrgId: string – CBDC 鏈碼中使用者的 MSP ID。
  • CBDCUserId: string – CBDC 鏈碼中使用者的使用者名稱或電子郵件 ID。
  • CBDCQuantity: string – CBDC 鏈碼中要傳輸的記號數量。
  • CBDCRemark: string – CBDC 鏈碼中傳輸的註記,其格式必須為先前顯示的格式。
傳回值範例:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
rejectBondRedemption
原始方法名稱:rejectBondRedemption
權杖建立者可以呼叫此 POST 方法來拒絕兌換要求。權杖擁有者可以使用不同的結算 ID 再次提出贖回要求。
有效負載:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "endorsers": {{endorsers}}
}
參數:
  • fromOrgId: string – 使用者的成員身分服務提供者 (MSP) ID。
  • fromUserId: string – 使用者的使用者名稱或電子郵件 ID。
  • settlementId: string – 贖回作業的結算 ID。
  • tokenId: string – 記號的 ID。
傳回值範例:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
removeRole
原始方法名稱:removeRole
此 POST 方法會移除指定之使用者和記號的角色。有趣的記號是由記號 ID 指定。記號名稱會指定不可使用的記號。此方法只能由鏈碼的 Token Admin 呼叫。
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "role": "role value (for example minter / burner)",
 "tokenDetail": "{\"tokenName\":\"tokenName value\"}",
 "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
  • role: string – 要從指定使用者移除的角色名稱。
  • tokenDetails: TokenDetail – 指定記號的詳細資訊。對於非可行的記號,請使用下列格式:
    {"tokenName":"artCollection"}
傳回值範例:
{
  "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
removeTokenAdmin
原始方法名稱:removeTokenAdmin
此 POST 方法會移除使用者作為鏈碼的 Token Admin。此方法只能由鏈碼的 Token Admin 呼叫。您無法將自己移除為 Token Admin
有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "sameOrgEndorser": true
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,包含以鏈碼 Token Admin 身分移除之使用者明細的訊息。
傳回值範例:
{"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"}
requestBondRedemption
原始方法名稱:requestBondRedemption
只有記號擁有者才能呼叫此 POST 方法,以提出在到期後贖回債券記號的要求。此方法也包含依鏈碼計算兌換價格。兌換要求只能針對使用者擁有之債券權杖的整個數量提出。使用者可以根據不同的結算 ID 提出多個贖回要求,但權杖建立者只能核准一個要求。
有效負載:
{
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "additionalFees": 1,
 "endorsers": {{endorsers}}
}
參數:
  • settlementId: string – 贖回作業的結算 ID。
  • tokenId: string – 記號的 ID。
  • orderId: string – 採購作業的訂單 ID。
  • additionalFees: number – 要新增至兌換價格的額外費用。
傳回值範例:
{
         "tokenName":"bond",
         "assetType":"otokenApproval",
         "id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "settlementId":"op4",
         "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "tokenId":"bond1",
         "quantity":1,
         "status":"PENDING",
         "orderId":"op4",
         "redeemPrice":11

}
safeBatchTransferFrom
原始方法名稱:safeBatchTransferFrom
此 POST 方法會完成批次作業,將記號 ID 清單中指定的記號從某個使用者傳輸給另一個使用者。

對於 NFT,因為該方法轉移了 NFT 的所有權,所以 NFT 的發送方必須擁有該記號。

對於分數 NFT,如果使用者 (包括記號的建立者) 傳輸他們擁有的所有共用,則會失去記號的所有權。如果將任何記號的共用傳輸給使用者,則該使用者會自動成為分數 NFT 的其中一個擁有者。

方法的呼叫程式必須是指定的寄件者。

{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
參數:
  • fromOrgId: string – 目前組織中寄件者與記號擁有者的成員身分服務提供者 (MSP) ID。
  • fromUserId: string – 寄件者與記號擁有者的使用者名稱或電子郵件 ID。
  • toOrgId: string – 目前組織中接收者的成員身分服務提供者 (MSP) ID。
  • toUserId: string – 接收者的使用者名稱或電子郵件 ID。
  • tokenIds: string[] – 要傳輸之記號的記號 ID 清單。
  • quantity: number[] – 與記號 ID 陣列對應的要傳輸的記號數量清單。
傳回值:
  • 成功時,會顯示包含每個記號傳輸詳細資訊的訊息。
傳回值範例:
[
    {
        "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    }
]
suspendAccount
原始方法名稱:suspendAccount
此 POST 方法會暫停權杖帳戶。此方法只能由鏈碼的 Token Admin 呼叫。帳戶暫停後,您就無法完成任何更新帳戶的作業。無法暫停已刪除的帳戶。
有效負載:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
參數:
  • orgId: string – 目前組織中使用者的成員身分服務提供者 (MSP) ID。
  • userId: string – 使用者的使用者名稱或電子郵件 ID。
傳回值:
  • 成功時,代表權杖帳戶狀態的 JSON。
傳回值範例:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
updateBondToken
原始方法名稱:updateBondToken
此 POST 方法會更新記號。每個定義的記號都有自己的更新方法。您無法更新變數替代字的變數替代字中繼資料或變數替代字 URI。只有記號擁有者才能呼叫此方法。
有效負載:
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"status\":\"status value\", \"tokenMetadata\":{\"ISIN\":\"ISIN value\",\"Segment\":\"Segment value\",\"Issuer\":\"Issuer value\",\"FaceValue\":999,\"IssueSize\":999,\"CouponRate\":999,\"InterestPaymentType\":\"InterestPaymentType value\",\"InterestFrequency\":\"InterestFrequency value\",\"IssueDate\":\"2023-03-28T15:16:36+00:00\",\"MaturityDate\":\"2023-03-28T15:16:36+00:00\"},\"status\":\"status value\"}",
 "sameOrgEndorser": true
}
參數:
  • tokenAsset: <Token Class> – 權杖資產。資產的特性是在模型檔案中定義。
傳回值:
  • 已順利更新 JSON 格式的權杖資產。
傳回值範例 (整個 NFT
{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
URI
原始方法名稱:URI
此方法會傳回指定記號的 URI。
查詢:
/URI?tokenId={{bc-token-id}}
參數:
  • tokenId: string – 記號的 ID。
傳回值範例:
{
    "tokenUri": "example.com"
}
下表顯示鏈碼 API 名稱與更新的端點之間的對應。如需鏈碼 API 的詳細資訊,請參閱 Scaffolded TypeScript Token Project
已更新的端點 TypeScript 鏈碼 API 名稱 Go chaincode API 名稱 方法類型
activateAccount activateAccount ActivateAccount 原生 ERC-1155 方法
addAdmin addAdmin AddAdmin 原生 ERC-1155 方法
addRole addRole AddRole 原生 ERC-1155 方法
approveBondRedemption approveTokenRedemption ApproveTokenRedemption 已修改
balanceOfBatch balanceOfBatch BalanceOfBatch 原生 ERC-1155 方法
batchTransferFrom batchTransferFrom BatchTransferFrom 原生 ERC-1155 方法
burnBatch burnBatch BurnBatch 原生 ERC-1155 方法
createAccount createAccount CreateAccount 原生 ERC-1155 方法
createAccountWithEnrollment createAccountWithEnrollment CreateAccountWithEnrollment 新增項目
createBondToken createBondToken CreateBondToken 原生 ERC-1155 方法
createIDCSUser createIDCSUser CreateIDCSUser 新增項目
createTokenAccount createTokenAccount CreateTokenAccount 原生 ERC-1155 方法
createUserAccount createUserAccount CreateUserAccount 原生 ERC-1155 方法
deleteAccount deleteAccount DeleteAccount 原生 ERC-1155 方法
getAccount getAccount GetAccount 原生 ERC-1155 方法
getAccountBondSummary getAccountBondSummary GetAccountBondSummary 債券市集法
getAccountBondSummaryWithPagination getAccountBondSummaryWithPagination GetAccountBondSummaryWithPagination 債券市集法
getAccountDetailsByUser getAccountDetailsByUser GetAccountDetailsByUser 原生 ERC-1155 方法
getAccountStatus getAccountStatus GetAccountStatus 原生 ERC-1155 方法
getAccountStatusHistory getAccountStatusHistory GetAccountStatusHistory 原生 ERC-1155 方法
getAccountTransactionHistory getAccountTransactionHistory GetAccountTransactionHistory 原生 ERC-1155 方法
getAccountsByRole getAccountsByRole GetAccountsByRole 原生 ERC-1155 方法
getAllAccounts getAllAccounts GetAllAccounts 原生 ERC-1155 方法
getAllTokenAdmins getAllTokenAdmins GetAllTokenAdmins 原生 ERC-1155 方法
getAllTokens getAllTokens GetAllTokens 原生 ERC-1155 方法
getAllTokensByUser getAllTokensByUser GetAllTokensByUser 原生 ERC-1155 方法
getAllTokensWithFilters getAllTokensWithFilters GetAllTokensWithFilters 債券市集法
getTokenApprovalRequestByUser getTokenApprovalRequestByUser GetTokenApprovalRequestByUser 債券市集法
getTokenApprovalRequestForUserByStatus getTokenApprovalRequestForUserByStatus GetTokenApprovalRequestForUserByStatus 債券市集法
getTokenById getTokenById GetTokenById 原生 ERC-1155 方法
getTokenHistory getTokenHistory GetTokenHistory 原生 ERC-1155 方法
getUsersByRole getUsersByRole GetUsersByRole 原生 ERC-1155 方法
init init Init 原生 ERC-1155 方法
isInRole isInRole IsInRole 原生 ERC-1155 方法
isTokenAdmin isTokenAdmin IsTokenAdmin 原生 ERC-1155 方法
mintBatch mintBatch MintBatch 原生 ERC-1155 方法
ownerOf ownerOf OwnerOf 原生 ERC-1155 方法
payInterest payInterest PayInterest 已修改
postBondToken postToken PostToken 債券市集法
purchaseBondToken purchaseToken PurchaseToken 已修改
rejectBondRedemption rejectTokenRedemption RejectTokenRedemption 債券市集法
removeRole removeRole RemoveRole 原生 ERC-1155 方法
removeTokenAdmin removeTokenAdmin RemoveTokenAdmin 原生 ERC-1155 方法
requestBondRedemption requestTokenRedemption RequestTokenRedemption 債券市集法
safeBatchTransferFrom safeBatchTransferFrom SafeBatchTransferFrom 原生 ERC-1155 方法
suspendAccount suspendAccount SuspendAccount 原生 ERC-1155 方法
updateBondToken updateBondToken UpdateBondToken 原生 ERC-1155 方法
URI URI URI 原生 ERC-1155 方法