Pacote API Wrapper do Bond Marketplace

A Edição de Ativos Digitais do Oracle Blockchain Platform inclui um pacote de API wrapper que estende a API REST para oferecer suporte a operações específicas de um marketplace NFT de títulos.

O pacote de API wrapper usa o serviço API Gateway e o OCI Functions para implantar rotas de API especificamente para gerenciar o ciclo de vida NFT do mercado de títulos. O pacote de API wrapper do mercado de títulos pode ser baixado na console do Oracle Blockchain Platform e inclui um arquivo compactado que contém o pacote de API wrapper, incluindo os scripts do Terraform necessários para implantação. Você implanta esse arquivo em uma pilha do Resource Manager no OCI (Oracle Cloud Infrastructure) para criar os recursos necessários da Oracle para as APIs do encapsulador. Ele também inclui uma coleção Postman que permite testar as APIs do wrapper implantadas. A coleta inclui solicitações pré-configuradas com pontos finais e payloads que correspondem às APIs definidas no pacote de API do wrapper.

APIs Wrapper

activateAccount
Nome do método original: activateAccount
Este método POST ativa uma conta de token. Este método pode ser chamado apenas por um administrador ou proprietário da conta. As contas excluídas não podem ser ativadas.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parâmetros:
  • tokenId: string – O ID do token.
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Com êxito, uma representação JSON do objeto de status da conta para a conta de token especificada.
Exemplo de valor de retorno:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
addTokenAdmin
Nome do método original: addTokenAdmin
Este método POST adiciona outros administradores ao chaincode de token. Este método pode ser chamado apenas pelo administrador de token do chaincode.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um Token Admin do chaincode.
Exemplo de valor de retorno:
{
  "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
addRole
Nome do método original: addRole
Este método POST adiciona uma atribuição a um usuário e token especificados. Este método pode ser chamado somente por um Token Admin do chaincode. Tokens não fungíveis são especificados pelo nome do token. O usuário especificado deve ter uma conta de token não fungível. A atribuição especificada deve existir no arquivo de especificação do token.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "role": "role minter/burner"
    "tokenDetails": "{"tokenName": "token name value"}"
    "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • role: string – O nome da atribuição a ser adicionada ao usuário especificado.
  • tokenDetails: TokenDetail – Os detalhes que especificam o token. Para tokens não fungíveis, use o seguinte formato:
    {"tokenName":"artCollection"}
Retorna:
  • Em caso de êxito, uma mensagem com detalhes da conta.
Exemplo de valor de retorno:
{
  "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
}
approveBondRedemption
Nome do método original: approveBondRedemption
Esse método POST só pode ser chamado pelo criador do token para aprovar uma solicitação de resgate de tokens de títulos. A operação de aprovação transfere o NFT do título da conta do proprietário (o usuário que gerou a solicitação) para a conta do criador e transfere tokens CBDC do criador do título para a conta do proprietário. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os orgId e userId corretos para a transferência. O orgId e o userId devem corresponder à conta do proprietário do token que gerou a solicitação de resgate, e o valor de transferência do token CBDC deve ser igual ao preço de resgate calculado que foi calculado pelo chaincode ao gerar a solicitação de resgate.
Payload:
{
   "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}}
}
Parâmetros:
  • fromOrgId: string – O ID do provedor de serviços de associação (MSP) do usuário.
  • fromUserId: string – O nome de usuário ou o ID de e-mail do usuário.
  • settlementId: string – O ID da liquidação da operação de resgate.
  • tokenId: string – O ID do token.
  • CBDCTokenId: string – O ID do token no chaincode do CBDC.
  • CBDCOrgId: string – O ID do MSP do usuário no chaincode do CBDC.
  • CBDCUserId: string – O nome do usuário ou o ID do e-mail do usuário no chaincode do CBDC.
  • CBDCQuantity: string – A quantidade de tokens a serem transferidos no chaincode do CBDC.
  • CBDCRemark: string – Uma observação para a transferência no chaincode do CBDC, que deve estar no formato mostrado anteriormente.
Exemplo de valor de retorno:
{
   "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
Nome do método original: balanceOfBatch
Este método GET conclui uma operação de lote que obtém o saldo de contas de token. Os detalhes da conta são especificados em três listas separadas de IDs de organização, IDs usuário e IDs token. Esse método só pode ser chamado por um Token Admin do chaincode ou por proprietários de contas. Os proprietários da conta só podem ver os detalhes do saldo das contas que possuem.
Consulta:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
Parâmetros:
  • orgIds: string[] – Uma lista dos IDs do prestador de serviço de associação (MSP) na organização atual.
  • userIds: string[] – Uma lista do nome de usuário ou IDs de e-mail.
  • tokenIds: string[] – Uma lista dos IDs de token.
Exemplo de valor de retorno:

No exemplo a seguir, o ID de token FNFT representa um token não fungível fracionário e o ID de token FT representa um token fungível.

[
    {
        "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
Nome do método original: batchTransferFrom
Este método POST conclui uma operação em batch que transfere tokens especificados em uma lista de IDs de token de um usuário para outro.
Payload:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
Parâmetros:
  • fromOrgId: string – O ID do provedor de serviços de associação (MSP) do remetente e do proprietário do token na organização atual.
  • fromUserId: string – O nome do usuário ou o ID do e-mail do remetente e do proprietário do token.
  • toOrgId: string – O ID do prestador de serviço de associação (MSP) do destinatário na organização atual.
  • toUserId: string – O nome do usuário ou o ID do e-mail do destinatário.
  • tokenIds: string[] – Uma lista de IDs de token para os tokens a serem transferidos.
  • quantity: number[] – A lista de quantidades de tokens a serem transferidos, correspondente ao array do ID do token.
Retorna:
  • Com êxito, uma mensagem com detalhes para cada transferência de token.
Exemplo de valor de retorno:
[
    {
        "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
Nome do método original: burnBatch
Este método POST desativa ou queima os tokens especificados. Qualquer usuário com a função de gravador pode chamar esse método.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) na organização atual.
  • userId: string – O nome do usuário ou o ID do e-mail.
  • tokenIds: string[] – A lista de IDs de token a serem gravados
  • quantity: number[] – A lista de quantidades de tokens a serem gravados, correspondente ao array do ID do token.
Retorna:
  • Em caso de sucesso, uma mensagem com detalhes sobre as operações de gravação.
Exemplo de valor de retorno:
[
  {
    "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
Nome do método original: createAccount
Este método POST cria uma conta para um usuário especificado e contas de token associadas para tokens. Uma conta deve ser criada para qualquer usuário que terá tokens a qualquer momento. A conta de usuário rastreia a conta NFT e as contas de token fungíveis que um usuário mantém. Os usuários devem ter contas na rede para concluir operações relacionadas a token. Este método pode ser chamado somente por um Token Admin do chaincode.

Uma conta de usuário tem um ID exclusivo, que é formado por um hash SHA-256 do parâmetro orgId e do parâmetro userId.

Um usuário pode ter várias contas de token fungíveis com IDs de conta exclusivos. Os IDs de conta de token fungível são formados por um hash SHA-256 do parâmetro orgId, o parâmetro userId, a string constante ft separada pelo símbolo til (~) e um número de contador que significa o índice da conta fungível que está sendo criada separada pelo símbolo til (~).

Um usuário pode ter apenas uma conta de token não fungível. Os IDs de conta de token não fungíveis são exclusivos e são formados por um hash SHA-256 do parâmetro orgId, do parâmetro userId e da string constante nft separada pelo símbolo til (~). Todos os tokens não fungíveis que um usuário possui, sejam inteiros ou fracionários, estão vinculados a essa conta.

Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "ftAccount": true,
 "nftAccount": true,
 "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId – O ID do provedor de serviços de associação (MSP) do usuário para o qual a conta será criada. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).
  • userId – O nome do usuário ou o ID do e-mail do usuário. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).
  • ftAccount: boolean – Se verdadeiro, uma conta de token fungível será criada e associada à conta do usuário.
  • nftAccount: boolean – Se verdadeiro, uma conta de token não fungível será criada e associada à conta do usuário.
Retorna:
  • Com êxito, um objeto JSON da conta que foi criado.
Exemplo de valor de retorno:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
  "userId": "user1",
  "orgId": "appdev",
  "totalAccounts": 2,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
createAccountWithEnrollment
Nome do método original: createAccountWithEnrollment
Esse método POST cria uma inscrição para um usuário no proxy REST da instância e cria uma conta NFT no chaincode do mercado de títulos.
Payload:
{
 "orgId": "orgId value",
 "userId": "userId value"
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Com êxito, um objeto JSON da conta que foi criado.
Exemplo de valor de retorno:
{
 "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
Nome do método original: createBondToken
Este método POST cria tokens. Cada token definido tem seu próprio método de criação. Para tokens não fungíveis, o chamador desse método se torna o proprietário do NFT. Se o comportamento roles for definido na propriedade behaviors do modelo de token e um minter_role_name for especificado, a conta do chamador deverá ter a atribuição de minter.
Payload:
{
 "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
}
Parâmetros:
  • tokenAsset: <Token Class> – O ativo de token. As propriedades do ativo são definidas no arquivo de modelo.
  • quantity: number – O número de tokens a serem cunhados. O único valor suportado para esse parâmetro é 1.
Retorna:
  • Com êxito, um objeto JSON da conta que foi criado.
Exemplo de valor de retorno:
{
            "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
Nome do método original: createIDCSUser
Esse método POST cria um usuário do Identity Cloud Service na tenancy especificada pelo URL no arquivo terraform.tfvars e designa o usuário ao grupo de usuários especificado.
Payload:
{
 "userName": "userName value",
 "firstName": "firstName value",
 "lastName": "lastName value",
 "email": "email value",
 "groupName": "groupName value"
}
Parâmetros:
  • userName: string – O ID do usuário.
  • firstName: string – O nome do usuário.
  • lastName: string – O sobrenome do usuário.
  • email: string – O endereço de e-mail do usuário.
  • groupName: string – O nome do grupo do Identity Cloud Service a ser designado ao usuário.
Exemplo de valor de retorno:
{
 "status": "Success",
 "msg": "User user1 is created and assigned to the group BOND_ADMIN"
}
createTokenAccount
Nome do método original: createTokenAccount
Este método POST cria uma conta de token fungível ou não fungível para associar a uma conta de usuário.

Um usuário pode ter várias contas de token fungíveis com IDs de conta exclusivos. Os IDs de conta de token fungível são formados por um hash SHA-256 do parâmetro orgId, o parâmetro userId, a string constante ft separada pelo símbolo til (~) e um número de contador que significa o índice da conta fungível que está sendo criada separada pelo símbolo til (~).

Um usuário pode ter apenas uma conta de token não fungível. Os IDs de conta de token não fungíveis são exclusivos e são formados por um hash SHA-256 do parâmetro orgId, do parâmetro userId e da string constante nft separada pelo símbolo til (~). Todos os tokens não fungíveis que um usuário possui, sejam inteiros ou fracionários, estão vinculados a essa conta.

Este método pode ser chamado somente por um Token Admin do chaincode.

Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenType": "nonfungible",
 "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • tokenType: TokenType – O tipo de conta de token a ser criada. Os únicos tipos de token suportados são nonfungible e fungible.
Retorna:
  • Com êxito, um objeto JSON da conta de token que foi criada.
Exemplo de valor de retorno:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 1,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": ""
}
createUserAccount
Nome do método original: createUserAccount
Este método POST cria uma conta para um usuário especificado. Uma conta deve ser criada para qualquer usuário que terá tokens a qualquer momento. A conta de usuário rastreia a conta NFT e as contas de token fungíveis que um usuário tem. Os usuários devem ter contas na rede para concluir operações relacionadas a token.

Um ID de conta é um hash SHA-256 do parâmetro orgId e do parâmetro userId. Este método pode ser chamado somente por um Token Admin do chaincode.

Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Com êxito, um objeto JSON da conta de usuário que foi criado.
Exemplo de valor de retorno:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 0,
  "totalFtAccounts": 0,
  "associatedFtAccounts": [],
  "associatedNftAccount": ""
}
deleteAccount
Nome do método original: deleteAccount
Este método POST exclui uma conta de token. Este método pode ser chamado somente por um Token Admin do chaincode. Este método lançará um erro se um valor accountStatus para a conta não for encontrado no razão.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Com êxito, uma representação JSON do status da conta de token.
Exemplo de valor de retorno:
{
  "assetType": "oaccountStatus",
  "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
getAccount
Nome do método original: getAccount
Este método GET retorna detalhes da conta de token para um usuário especificado. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo Account Owner da conta.
Consulta:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • tokenId?: string – Para uma conta de token não fungível, uma string vazia. Para uma conta de token fungível, o ID do token.
Retorna:
  • Em caso de sucesso, um objeto JSON que inclui detalhes da conta de token.
Exemplo de Valor de Retorno
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountBondSummary
Nome do método original: getAccountBondSummary
Este método GET retorna um resumo da conta para o usuário especificado, incluindo detalhes de tokens comprados ou resgatados e seus preços de compra e resgate.
Consulta:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Em caso de sucesso, um objeto JSON que inclui o resumo da conta de token.
Exemplo de Valor de Retorno
[
 {
   "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
Nome do método original: getAccountBondSummaryWithPagination
Este método GET retorna um resumo da conta para o usuário especificado, incluindo detalhes de tokens comprados ou resgatados e seus preços de compra e resgate. Esse método pode retornar resultados com paginação com base nos valores de tamanho de página e marcador e também filtrado por hora de início e hora de término.
Consulta:
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • pageSize: number – O tamanho da página do resultado retornado.
  • bookmark: string – O marcador do resultado retornado.
Retorna:
  • Em caso de sucesso, um objeto JSON que inclui o resumo da conta de token.
Exemplo de Valor de Retorno
[
 {

   "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
Nome do método original: getAccountDetailsByUser
Este método GET retorna um resumo de conta para um usuário especificado e detalhes de tokens fungíveis e não fungíveis associados ao usuário. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo Account Owner da conta.
Consulta:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Em caso de sucesso, um objeto de conta JSON que inclui e resume a conta do usuário especificado e detalhes de tokens fungíveis e não fungíveis associados ao usuário. Para tokens não fungíveis fracionários, a propriedade tokenShare na seção associatedNFTs mostra o compartilhamento que o usuário possui.
Exemplo de valor de retorno:
{
    "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
Nome do método original: getAccountStatus
Este método GET recupera o status atual da conta de token. Esse método pode ser chamado pelo Token Admin do chaincode ou pelo proprietário da conta do token.
Consulta:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Com êxito, uma representação JSON do status da conta de token.
Exemplo de valor de retorno:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
getAccountStatusHistory
Nome do método original: getAccountStatusHistory
Este método GET recupera o histórico do status da conta. Esse método pode ser chamado pelo Token Admin do chaincode ou pelo proprietário da conta do token.
Consulta:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Com êxito, o histórico de status da conta no formato JSON.
Exemplo de valor de retorno:
[
  {
    "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
Nome do método original: getAccountTransactionHistory
Este método GET retorna o histórico de transações da conta. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo proprietário da conta.
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Exemplo de valor de retorno:
[
    {
        "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
Nome do método original: getAccountsByRole
Esse método GET retorna uma lista de todos os IDs de conta para uma atribuição e um token especificados.
Consulta:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Parâmetros:
  • role: string – O nome da função a ser pesquisada.
  • tokenDetail: JSON – Para tokens fungíveis, o ID do token. Para tokens não fungíveis, o nome do token obrigatório.
Exemplo de valor de retorno:
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
Nome do método original: getAllAccounts
Este método GET retorna detalhes de todas as contas de usuário. Este método pode ser chamado somente por um Token Admin do chaincode.
Consulta:
/getAllAccounts
Parâmetros:
  • nenhuma
Retorna:
  • Com sucesso, um array JSON de todas as contas.
Exemplo de valor de retorno:
[
        {
            "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
Nome do método original: getAllTokenAdmins
Este método GET retorna uma lista de todos os usuários que são um Token Admin do chaincode. Este método pode ser chamado somente por um Token Admin do chaincode.
Consulta:
/getAllTokenAdmins
Parâmetros:
  • nenhuma
Retorna:
  • Em caso de sucesso, um array admins no formato JSON que contém objetos orgId e userId.
Exemplo de valor de retorno:
{
  "admins": [
    {
      "orgId": "appdev",
      "userId": "user2"
    },
    {
      "orgId": "appdev",
      "userId": "user1"
    }
  ]
}
getAllTokens
Nome do método original: getAllTokens
Esse método retorna todos os ativos de token salvos no banco de dados de estado. Este método pode ser chamado somente por um Token Admin do chaincode. Esse método usa consultas ricas em SQL de BD Berkeley e só pode ser chamado quando conectado à rede remota do Oracle Blockchain Platform.
/getAllTokens
Parâmetros:
  • nenhuma
Retorna:
  • Uma lista de todos os ativos de token no formato JSON.
Exemplo de valor de retorno:
[{
            "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
Nome do método original: getAllTokensByUser
Este método GET retorna todos os ativos de token pertencentes a um usuário especificado. Esse método usa consultas ricas em SQL de BD Berkeley e só pode ser chamado quando conectado à rede remota do Oracle Blockchain Platform. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo proprietário da conta.
Consulta:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Exemplo de valor de retorno:
[{
            "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
Nome do método original: getAllTokensWithFilters
O administrador pode chamar esse método GET para extrair todos os tokens filtrados por status.
Consulta:
/getAllTokensWithFilters?status=status&pageSize=pageSize&bookmark=bookmark
Parâmetros:
  • status: string – O status do token, que pode ser CREATED ou POSTED.
  • pageSize: number – O tamanho da página do resultado retornado.
  • bookmark: string – O marcador do resultado retornado.
Exemplo de valor de retorno:
[{
            "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
Nome do método original: getTokenApprovalRequestByUser
Qualquer titular de conta pode chamar esse método GET para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
Consulta:
/getTokenApprovalRequestByUser?status=status value
Parâmetros:
  • status: string – O status da solicitação, que pode ser PENDING, REJECTED ou APPROVED.
Exemplo de valor de retorno:
[
   {
      "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
Nome do método original: getTokenApprovalRequestByUser
Qualquer titular de conta pode chamar esse método GET para obter os detalhes de todas as solicitações de aprovação de token (solicitações de resgate) que fizeram.
Consulta:
/getTokenApprovalRequestForUserByStatus?status=status value
Parâmetros:
  • status: string – O status da solicitação, que pode ser PENDING, REJECTED ou APPROVED.
Exemplo de valor de retorno:
[
   {
      "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
Nome do método original: getTokenById
Esse método GET retornará um objeto de token se o token estiver presente no banco de dados de estado. Para NFTs fracionários, a lista de proprietários também é retornada. Esse método só pode ser chamado por um Token Admin do chaincode ou do proprietário do token.
Consulta:
/getTokenById?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token a ser obtido.
Exemplo de valor de retorno:
[{
            "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
Nome do método original: getTokenHistory
Este método GET retorna o histórico de um ID de token especificado.
Consulta:
/getTokenHistory?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Retorna:
  • Em caso de sucesso, um array JSON que contém o histórico de token.
Exemplo de valor de retorno:
[{
            "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
Nome do método original: getUsersByRole
Esse método retorna uma lista de todos os usuários para uma atribuição e um token especificados. Este método pode ser chamado somente por um Token Admin do chaincode.
Consulta:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Parâmetros:
  • role: string – O nome da função a ser pesquisada.
  • tokenDetail: JSON – Para tokens fungíveis, o ID do token. Para tokens não fungíveis, o nome do token obrigatório.
Exemplo de valor de retorno:
{
    "users": [
        {
            "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
            "orgId": "appdev",
            "userId": "user2"
        },
        {
            "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
            "orgId": "appdev",
            "userId": "user1"
        }
    ]
}
init
Nome do método original: init
Esse método POST é chamado quando o chaincode é instanciado. Cada Token Admin é identificado pelas informações userId e orgId no parâmetro adminList. O userId é o nome do usuário ou o ID do e-mail do proprietário da instância ou do usuário que está conectado à instância. O orgId é o ID do provedor de serviços de associação (MSP) do usuário na organização de rede atual. O parâmetro adminList é obrigatório na primeira vez que você implanta o chaincode. Se você estiver atualizando o chaincode, passe uma lista vazia ([]). Se você for o usuário que implantou inicialmente o chaincode, também poderá especificar novos administradores no parâmetro adminList quando estiver fazendo upgrade do chaincode. Qualquer outra informação no parâmetro adminList é ignorada durante os upgrades.
Payload:
{
 "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
Parâmetros:
  • adminList array – Um array de informações {orgId, userId} que especifica a lista de administradores de token. O array adminList é um parâmetro obrigatório.
Retorna:
  • Em caso de sucesso, uma mensagem sem payload.
Exemplo de valor de retorno:
{
}
isInRole
Nome do método original: isInRole
Este método GET retorna um valor booliano para indicar se um usuário tem uma atribuição especificada. Tokens não fungíveis são especificados pelo nome do token. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo Account Owner da conta. O usuário especificado deve ter uma conta de token associada ao token fungível ou uma conta de token não fungível para atribuições NFT. A atribuição especificada deve existir no arquivo de especificação do token.
Consulta:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • role: string – O nome da função a ser pesquisada.
  • tokenDetails: TokenDetail – Os detalhes que especificam o token. Para tokens não fungíveis, use o seguinte formato:
    {"tokenName":"artCollection"}
Exemplo de valor de retorno:
{
    "result": true,
    "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa) has minter role"
}
isTokenAdmin
Nome do método original: isTokenAdmin
Esse método GET retornará o valor booliano true se o chamador da função for Token Admin; caso contrário, ele retornará false. Este método pode ser chamado somente por um Token Admin do chaincode.
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • O método retornará true se o chamador for Token Admin; caso contrário, retornará false.
Exemplo de valor de retorno:
{"result": true}
mintBatch
Nome do método original: mintBatch
Este método POST cria (mints) vários tokens em uma operação em lote. Este método cria apenas tokens fungíveis ou tokens fracionários não fungíveis.

Para tokens fungíveis, se a função de minter for definida no arquivo de especificação, qualquer usuário com a função de minter poderá chamar esse método. Caso contrário, qualquer usuário poderá usar esse método para gerar tokens. Você não poderá cunhar mais do que a propriedade max_mint_quantity do token, se essa propriedade tiver sido especificada quando o token foi criado ou atualizado.

Para tokens não fungíveis, se a função de minter for definida no arquivo de especificação, qualquer usuário com a função de minter poderá chamar esse método. Caso contrário, qualquer usuário poderá usar esse método para gerar tokens. Além disso, o chamador também deve ser o criador do token. Não há limite superior para a quantidade de tokens fracionários não fungíveis que podem ser cunhados.

Você não pode usar esse método para gerar um token não fungível inteiro.

Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • tokenIds: string[] – A lista de IDs de token para os tokens de mint.
  • quantity: number[] – A lista de quantidades de tokens para mint, correspondente ao array do ID do token.
Retorna:
  • Em caso de sucesso, um objeto JSON que inclui detalhes sobre os tokens cunhados.
Exemplo de valor de retorno:
{
    "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
Nome do método original: ownerOf
Este método GET retorna o ID da conta, o ID da organização e o ID do usuário do proprietário do ID do token especificado. Qualquer um pode chamar esse método.
Consulta:
/ownerOf?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Exemplo de valor de retorno:
[
    {
        "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
        "orgId": "Org1MSP",
        "userId": "admin"
    },
    {
        "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
        "orgId": "Org1MSP",
        "userId": "user"
    }
]
payInterest
Nome do método original: ownerOf
Esse método POST só pode ser chamado pelo criador ou administrador do token para pagar os juros ganhos no token do título. Esse método só poderá ser chamado se a frequência de juros do token for mensal, trimestral ou anual. Os juros não podem ser pagos se a frequência dos juros estiver no vencimento. Os juros são calculados pelo chaincode com base na taxa de cupom do token. A operação de compra transfere tokens CBDC da conta do chamador para a conta do proprietário do título. Por causa disso, esse método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os orgId e userId corretos para a transferência. O orgId e o userId devem corresponder ao proprietário do token, e o valor de transferência do token CBDC deve ser igual aos juros calculados pelo código de cadeia de títulos.
Payload:
{
 "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}}
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • tokenId: string – O ID do token.
  • orderId: string – O ID da ordem da operação.
  • CBDCTokenId: string – O ID do token no chaincode do CBDC.
  • CBDCOrgId: string – O ID do MSP do usuário no chaincode do CBDC.
  • CBDCUserId: string – O nome do usuário ou o ID do e-mail do usuário no chaincode do CBDC.
  • CBDCQuantity: string – A quantidade de tokens a serem transferidos no chaincode do CBDC.
  • CBDCRemark: string – Uma observação para a transferência no chaincode do CBDC, que deve estar no formato mostrado anteriormente.
Exemplo de valor de retorno:
{
   "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
Nome do método original: postBondToken
Esse método POST só pode ser chamado por um criador de token. O método envia o token de título para listagem no mercado. Quando um token é criado, seu status é inicialmente definido como created. Esse método atualiza o status para posted. Os usuários podem executar o método getAllTokensWithFilter para recuperar todos os NFTs com um status posted.
Payload:
{
 "tokenId": "{{bc-token-id}}",
 "sameOrgEndorser": true
}
Parâmetros:
  • tokenId: string – O ID do token a ser publicado.
Exemplo de valor de retorno:
{
         "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
Nome do método original: purchaseBondToken
Este método POST pode ser chamado por qualquer titular de conta para comprar um NFT de títulos listados. A compra transfere o NFT do título da conta do criador para a conta do chamador e transfere tokens CBDC da conta do chamador para a conta do criador. Por causa disso, o método deve ser executado no contexto de uma transação atômica. O método também verifica o processo de transferência, garantindo que o chaincode CBDC apropriado seja chamado com os orgId e userId corretos para a transferência. O orgId e o userId devem corresponder ao criador do token, e o valor de transferência do token CBDC deve ser igual ao valor nominal do token do título multiplicado pela quantidade que está sendo comprada.
Payload:
{
 "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}}
}
Parâmetros:
  • tokenId: string – O ID do token a ser comprado.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • settlementId: string – O ID da liquidação da operação.
  • CBDCTokenId: string – O ID do token no chaincode do CBDC.
  • CBDCOrgId: string – O ID do MSP do usuário no chaincode do CBDC.
  • CBDCUserId: string – O nome do usuário ou o ID do e-mail do usuário no chaincode do CBDC.
  • CBDCQuantity: string – A quantidade de tokens a serem transferidos no chaincode do CBDC.
  • CBDCRemark: string – Uma observação para a transferência no chaincode do CBDC, que deve estar no formato mostrado anteriormente.
Exemplo de valor de retorno:
{
   "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
Nome do método original: rejectBondRedemption
O criador do token pode chamar esse método POST para rejeitar a solicitação de resgate. Os proprietários de token podem gerar uma solicitação de resgate novamente usando um ID de liquidação diferente.
Payload:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "endorsers": {{endorsers}}
}
Parâmetros:
  • fromOrgId: string – O ID do provedor de serviços de associação (MSP) do usuário.
  • fromUserId: string – O nome de usuário ou o ID de e-mail do usuário.
  • settlementId: string – O ID da liquidação da operação de resgate.
  • tokenId: string – O ID do token.
Exemplo de valor de retorno:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
removeRole
Nome do método original: removeRole
Este método POST remove uma atribuição de um usuário e token especificados. Os tokens fungíveis são especificados pelo ID do token. Tokens não fungíveis são especificados pelo nome do token. Este método pode ser chamado somente por um Token Admin do chaincode.
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "role": "role value (for example minter / burner)",
 "tokenDetail": "{\"tokenName\":\"tokenName value\"}",
 "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • role: string – O nome da atribuição a ser removida do usuário especificado.
  • tokenDetails: TokenDetail – Os detalhes que especificam o token. Para tokens não fungíveis, use o seguinte formato:
    {"tokenName":"artCollection"}
Exemplo de valor de retorno:
{
  "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
removeTokenAdmin
Nome do método original: removeTokenAdmin
Este método POST remove um usuário como um Token Admin do chaincode. Este método pode ser chamado somente por um Token Admin do chaincode. Você não pode se remover como um Token Admin.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Em caso de êxito, uma mensagem que inclui detalhes do usuário que foi removido como Token Admin do chaincode.
Exemplo de valor de retorno:
{"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"}
requestBondRedemption
Nome do método original: requestBondRedemption
Este método POST pode ser chamado apenas pelo proprietário do token para apresentar um pedido de resgate de tokens de títulos após o vencimento. Este método também envolve o cálculo do preço de resgate pelo chaincode. As solicitações de resgate só podem ser geradas na quantidade total do token de título que o usuário possui. Os usuários podem gerar várias solicitações de resgate com base em diferentes IDs de liquidação, mas apenas uma pode ser aprovada pelo criador do token.
Payload:
{
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "additionalFees": 1,
 "endorsers": {{endorsers}}
}
Parâmetros:
  • settlementId: string – O ID da liquidação da operação de resgate.
  • tokenId: string – O ID do token.
  • orderId: string – O ID do pedido da operação de compra.
  • additionalFees: number – As taxas adicionais para adicionar ao preço de resgate.
Exemplo de valor de retorno:
{
         "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
Nome do método original: safeBatchTransferFrom
Este método POST conclui uma operação em batch que transfere tokens especificados em uma lista de IDs de token de um usuário para outro.

Para NFTs, como o método transfere a propriedade do NFT, o remetente do NFT deve possuir o token.

Para NFTs fracionários, se um usuário (incluindo o criador do token) transferir todos os compartilhamentos que possui, ele perderá a propriedade do token. Se qualquer compartilhamento de um token for transferido para um usuário, esse usuário se tornará automaticamente um dos proprietários do NFT fracionado.

O chamador do método deve ser o remetente especificado.

{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
Parâmetros:
  • fromOrgId: string – O ID do provedor de serviços de associação (MSP) do remetente e do proprietário do token na organização atual.
  • fromUserId: string – O nome do usuário ou o ID do e-mail do remetente e do proprietário do token.
  • toOrgId: string – O ID do prestador de serviço de associação (MSP) do destinatário na organização atual.
  • toUserId: string – O nome do usuário ou o ID do e-mail do destinatário.
  • tokenIds: string[] – Uma lista de IDs de token para os tokens a serem transferidos.
  • quantity: number[] – A lista de quantidades de tokens a serem transferidos, correspondente ao array do ID do token.
Retorna:
  • Com êxito, uma mensagem com detalhes para cada transferência de token.
Exemplo de valor de retorno:
[
    {
        "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
Nome do método original: suspendAccount
Este método POST suspende uma conta de token. Este método pode ser chamado somente por um Token Admin do chaincode. Depois que uma conta for suspensa, você não poderá concluir nenhuma operação que atualize a conta. Uma conta excluída não pode ser suspensa.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
Retorna:
  • Com êxito, uma representação JSON do status da conta de token.
Exemplo de valor de retorno:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
updateBondToken
Nome do método original: updateBondToken
Este método POST atualiza tokens. Cada token definido tem seu próprio método de atualização. Você não pode atualizar metadados de token ou o URI de token de tokens não fungíveis. Esse método só pode ser chamado pelo proprietário do token.
Payload:
{
 "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
}
Parâmetros:
  • tokenAsset: <Token Class> – O ativo de token. As propriedades do ativo são definidas no arquivo de modelo.
Retorna:
  • Com êxito, o ativo de token atualizado no formato JSON.
Exemplo de Valor de Retorno (NFT Inteiro)
{
            "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
Nome do método original: URI
Esse método retorna o URI de um token especificado.
Consulta:
/URI?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Exemplo de valor de retorno:
{
    "tokenUri": "example.com"
}
A tabela a seguir mostra o mapeamento entre os nomes da API chaincode e os pontos finais atualizados. Para obter informações detalhadas sobre a API chaincode, consulte Scaffolded TypeScript Token Project no Blockchain App Builder for Oracle Blockchain Platform.
Ponto final atualizado TypeScript nome da API de chaincode Ir para nome da API de chaincode Tipo de método
activateAccount activateAccount ActivateAccount Método ERC-1155 nativo
addAdmin addAdmin AddAdmin Método ERC-1155 nativo
addRole addRole AddRole Método ERC-1155 nativo
approveBondRedemption approveTokenRedemption ApproveTokenRedemption Modificado
balanceOfBatch balanceOfBatch BalanceOfBatch Método ERC-1155 nativo
batchTransferFrom batchTransferFrom BatchTransferFrom Método ERC-1155 nativo
burnBatch burnBatch BurnBatch Método ERC-1155 nativo
createAccount createAccount CreateAccount Método ERC-1155 nativo
createAccountWithEnrollment createAccountWithEnrollment CreateAccountWithEnrollment Adicionado
createBondToken createBondToken CreateBondToken Método ERC-1155 nativo
createIDCSUser createIDCSUser CreateIDCSUser Adicionado
createTokenAccount createTokenAccount CreateTokenAccount Método ERC-1155 nativo
createUserAccount createUserAccount CreateUserAccount Método ERC-1155 nativo
deleteAccount deleteAccount DeleteAccount Método ERC-1155 nativo
getAccount getAccount GetAccount Método ERC-1155 nativo
getAccountBondSummary getAccountBondSummary GetAccountBondSummary Método de mercado de títulos
getAccountBondSummaryWithPagination getAccountBondSummaryWithPagination GetAccountBondSummaryWithPagination Método de mercado de títulos
getAccountDetailsByUser getAccountDetailsByUser GetAccountDetailsByUser Método ERC-1155 nativo
getAccountStatus getAccountStatus GetAccountStatus Método ERC-1155 nativo
getAccountStatusHistory getAccountStatusHistory GetAccountStatusHistory Método ERC-1155 nativo
getAccountTransactionHistory getAccountTransactionHistory GetAccountTransactionHistory Método ERC-1155 nativo
getAccountsByRole getAccountsByRole GetAccountsByRole Método ERC-1155 nativo
getAllAccounts getAllAccounts GetAllAccounts Método ERC-1155 nativo
getAllTokenAdmins getAllTokenAdmins GetAllTokenAdmins Método ERC-1155 nativo
getAllTokens getAllTokens GetAllTokens Método ERC-1155 nativo
getAllTokensByUser getAllTokensByUser GetAllTokensByUser Método ERC-1155 nativo
getAllTokensWithFilters getAllTokensWithFilters GetAllTokensWithFilters Método de mercado de títulos
getTokenApprovalRequestByUser getTokenApprovalRequestByUser GetTokenApprovalRequestByUser Método de mercado de títulos
getTokenApprovalRequestForUserByStatus getTokenApprovalRequestForUserByStatus GetTokenApprovalRequestForUserByStatus Método de mercado de títulos
getTokenById getTokenById GetTokenById Método ERC-1155 nativo
getTokenHistory getTokenHistory GetTokenHistory Método ERC-1155 nativo
getUsersByRole getUsersByRole GetUsersByRole Método ERC-1155 nativo
init init Init Método ERC-1155 nativo
isInRole isInRole IsInRole Método ERC-1155 nativo
isTokenAdmin isTokenAdmin IsTokenAdmin Método ERC-1155 nativo
mintBatch mintBatch MintBatch Método ERC-1155 nativo
ownerOf ownerOf OwnerOf Método ERC-1155 nativo
payInterest payInterest PayInterest Modificado
postBondToken postToken PostToken Método de mercado de títulos
purchaseBondToken purchaseToken PurchaseToken Modificado
rejectBondRedemption rejectTokenRedemption RejectTokenRedemption Método de mercado de títulos
removeRole removeRole RemoveRole Método ERC-1155 nativo
removeTokenAdmin removeTokenAdmin RemoveTokenAdmin Método ERC-1155 nativo
requestBondRedemption requestTokenRedemption RequestTokenRedemption Método de mercado de títulos
safeBatchTransferFrom safeBatchTransferFrom SafeBatchTransferFrom Método ERC-1155 nativo
suspendAccount suspendAccount SuspendAccount Método ERC-1155 nativo
updateBondToken updateBondToken UpdateBondToken Método ERC-1155 nativo
URI URI URI Método ERC-1155 nativo