Paquete de API de envoltorio de Bond Marketplace

Oracle Blockchain Platform Digital Assets Edition incluye un paquete de API de envoltorio que amplía la API de REST para admitir operaciones específicas de un mercado de NFT de bonos.

El paquete de API de envoltorio utiliza el servicio API Gateway y OCI Functions para desplegar rutas de API específicamente para gestionar el ciclo de vida de NFT del mercado de bonos. El paquete de API de envoltorio del mercado de bonos se puede descargar desde la consola de Oracle Blockchain Platform e incluye un archivo de almacenamiento que contiene el paquete de API de envoltorio que incluye los scripts de Terraform necesarios para el despliegue. Este archivo se despliega en una pila de Resource Manager en Oracle Cloud Infrastructure (OCI) para crear los recursos de Oracle necesarios para las API de envoltorio. También incluye una recopilación de Postman que le permite probar las API de envoltorio desplegadas. La recopilación incluye solicitudes preconfiguradas con puntos finales y cargas útiles que corresponden a las API definidas en el paquete de API de envoltorio.

API de envoltorio

activateAccount
Nombre del método original: activateAccount
Este método POST activa una cuenta de token. Este método solo puede ser llamado por un administrador o propietario de cuenta. No se pueden activar las cuentas suprimidas.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Una representación JSON del objeto de estado de cuenta para la cuenta de token especificada.
Ejemplo de Valor de Devolución:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
addTokenAdmin
Nombre del método original: addTokenAdmin
Este método POST agrega otros administradores al código de cadena de token. Este método solo puede ser llamado por el administrador de tokens del código de cadenas.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como Token Admin del código de cadenas.
Ejemplo de Valor de Devolución:
{
  "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
addRole
Nombre del método original: addRole
Este método POST agrega un rol a un usuario y token especificados. Este método solo puede ser llamado por Token Admin del código de cadenas. Los tokens no fungibles se especifican mediante el nombre del token. El usuario especificado debe tener una cuenta de token no fungible. El rol especificado debe existir en el archivo de especificación para el token.
Carga Útil:
{
    "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: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • role: string: nombre del rol que se va a agregar al usuario especificado.
  • tokenDetails: TokenDetail: detalles que especifican el token. Para tokens no fungibles, utilice el siguiente formato:
    {"tokenName":"artCollection"}
Devuelve:
  • Si se realiza correctamente, un mensaje con los detalles de la cuenta.
Ejemplo de Valor de Devolución:
{
  "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
}
approveBondRedemption
Nombre del método original: approveBondRedemption
Este método POST solo puede ser llamado por el creador del token para aprobar una solicitud para el canje de tokens de bonos. La operación de aprobación transfiere el bono NFT de la cuenta del propietario (el usuario que presentó la solicitud) a la cuenta del creador, y transfiere tokens CBDC del creador del bono a la cuenta del propietario. Debido a esto, este método se debe ejecutar en el contexto de una transacción atómica. El método también verifica el proceso de transferencia, lo que garantiza que se llame al código de cadena CBDC adecuado con los valores orgId y userId correctos para la transferencia. orgId y userId deben corresponder a la cuenta del propietario del token que ha generado la solicitud de canje, y el valor de transferencia del token de CBDC debe ser igual al precio de canje calculado que ha calculado el código de cadena al generar la solicitud de canje.
Carga Útil:
{
   "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: ID del proveedor de servicios de miembros (MSP) del usuario.
  • fromUserId: string: nombre de usuario o ID de correo electrónico del usuario.
  • settlementId: string: ID de liquidación para la operación de canje.
  • tokenId: string: ID del token.
  • CBDCTokenId: string: ID del token en el código de cadena CBDC.
  • CBDCOrgId: string: ID de MSP del usuario en el código de cadenas CBDC.
  • CBDCUserId: string: nombre de usuario o ID de correo electrónico del usuario en el código de cadenas CBDC.
  • CBDCQuantity: string: cantidad de tokens que se transferirán en el código de cadena CBDC.
  • CBDCRemark: string: comentario para la transferencia en el código de cadena CBDC, que debe tener el formato mostrado anteriormente.
Ejemplo de Valor de Devolución:
{
   "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
Nombre del método original: balanceOfBatch
Este método GET completa una operación por lotes que obtiene el saldo de las cuentas de token. Los detalles de la cuenta se especifican en tres listas separadas de ID de organización, ID de usuario e ID de token. Este método solo lo puede llamar un Token Admin del código de cadenas o los propietarios de la cuenta. Los propietarios de cuentas solo pueden ver los detalles de saldo de las cuentas de su propiedad.
Consulta:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
Parámetros:
  • orgIds: string[]: lista de los ID de proveedor de servicios de afiliación (MSP) de la organización actual.
  • userIds: string[]: lista del nombre de usuario o los ID de correo electrónico.
  • tokenIds: string[]: lista de los ID de token.
Ejemplo de Valor de Devolución:

En el siguiente ejemplo, el ID de token FNFT representa un token no fungible fraccional y el ID de token FT representa un token fungible.

[
    {
        "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
Nombre del método original: batchTransferFrom
Este método POST completa una operación por lotes que transfiere tokens especificados en una lista de ID de token de un usuario a otro usuario.
Carga Útil:
{
 "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: ID del proveedor de servicios de membresía (MSP) del remitente y el propietario del token en la organización actual.
  • fromUserId: string: nombre de usuario o ID de correo electrónico del remitente y propietario del token.
  • toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.
  • toUserId: string: nombre de usuario o ID de correo electrónico del destinatario.
  • tokenIds: string[]: lista de ID de token para los tokens que se van a transferir.
  • quantity: number[]: lista de cantidades de tokens que se transferirán, correspondiente a la matriz de ID de token.
Devuelve:
  • Si se realiza correctamente, un mensaje con detalles para cada transferencia de token.
Ejemplo de Valor de Devolución:
[
    {
        "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
Nombre del método original: burnBatch
Este método POST desactiva o quema los tokens especificados. Cualquier usuario con el rol de quemador puede llamar a este método.
Carga Útil:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de membresía (MSP) en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico.
  • tokenIds: string[]: lista de los ID de token que se van a grabar
  • quantity: number[]: lista de cantidades de tokens que se van a grabar, correspondiente a la matriz de ID de token.
Devuelve:
  • En caso de éxito, un mensaje con detalles sobre las operaciones de grabación.
Ejemplo de Valor de Devolución:
[
  {
    "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
Nombre del método original: createAccount
Este método POST crea una cuenta para un usuario especificado y cuentas de token asociadas para tokens. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. La cuenta de usuario realiza un seguimiento de la cuenta NFT y las cuentas de token fungibles que tiene un usuario. Los usuarios deben tener cuentas en la red para completar las operaciones relacionadas con tokens. Este método solo puede ser llamado por Token Admin del código de cadenas.

Una cuenta de usuario tiene un ID único, formado por un hash SHA-256 del parámetro orgId y el parámetro userId.

Un usuario puede tener varias cuentas de token fungibles con ID de cuenta únicos. Los ID de cuenta de token fungible están formados por un hash SHA-256 del parámetro orgId, el parámetro userId, la cadena constante ft separada por el símbolo tilde (~) y un número de contador que significa el índice de la cuenta fungible que se está creando separado por el símbolo tilde (~).

Un usuario solo puede tener una cuenta de token no fungible. Los ID de cuenta de token no fungibles son únicos y están formados por un hash SHA-256 del parámetro orgId, el parámetro userId y la cadena constante nft separados por el símbolo tilde (~). Todos los tokens no fungibles que posee un usuario, ya sean completos o fraccionales, están vinculados a esta cuenta.

Carga Útil:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "ftAccount": true,
 "nftAccount": true,
 "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: ID del proveedor de servicios de afiliación (MSP) del usuario para el que crear la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).
  • userId: nombre de usuario o ID de correo electrónico del usuario. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).
  • ftAccount: boolean: si es verdadero, se crea una cuenta de token fungible y se asocia a la cuenta de usuario.
  • nftAccount: boolean: si es true, se crea una cuenta de token no fungible y se asocia a la cuenta de usuario.
Devuelve:
  • Si se realiza correctamente, se crea un objeto JSON de la cuenta.
Ejemplo de Valor de Devolución:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
  "userId": "user1",
  "orgId": "appdev",
  "totalAccounts": 2,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
createAccountWithEnrollment
Nombre del método original: createAccountWithEnrollment
Este método POST crea una inscripción para un usuario en el proxy REST de la instancia y crea una cuenta NFT en el código de cadenas del mercado de bonos.
Carga Útil:
{
 "orgId": "orgId value",
 "userId": "userId value"
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se realiza correctamente, se crea un objeto JSON de la cuenta.
Ejemplo de Valor de Devolución:
{
 "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
Nombre del método original: createBondToken
Este método POST crea tokens. Cada token definido tiene su propio método de creación. Para tokens no fungibles, el emisor de llamada de este método se convierte en el propietario de la NFT. Si se define el comportamiento roles en la propiedad behaviors del modelo de token y se especifica minter_role_name, la cuenta del emisor de llamada debe tener el rol menor.
Carga Útil:
{
 "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>: activo de token. Las propiedades del activo se definen en el archivo de modelo.
  • quantity: number: número de tokens que acuñar. El único valor soportado para este parámetro es 1.
Devuelve:
  • Si se realiza correctamente, se crea un objeto JSON de la cuenta.
Ejemplo de Valor de Devolución:
{
            "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
Nombre del método original: createIDCSUser
Este método POST crea un usuario de Identity Cloud Service en el arrendamiento especificado por la URL en el archivo terraform.tfvars y asigna el usuario al grupo de usuarios especificado.
Carga Útil:
{
 "userName": "userName value",
 "firstName": "firstName value",
 "lastName": "lastName value",
 "email": "email value",
 "groupName": "groupName value"
}
Parámetros:
  • userName: string: ID del usuario.
  • firstName: string: nombre del usuario.
  • lastName: string: apellido del usuario.
  • email: string: dirección de correo electrónico del usuario.
  • groupName: string: nombre del grupo de Identity Cloud Service que se va a asignar al usuario.
Ejemplo de Valor de Devolución:
{
 "status": "Success",
 "msg": "User user1 is created and assigned to the group BOND_ADMIN"
}
createTokenAccount
Nombre del método original: createTokenAccount
Este método POST crea una cuenta de token fungible o no fungible para asociarla a una cuenta de usuario.

Un usuario puede tener varias cuentas de token fungibles con ID de cuenta únicos. Los ID de cuenta de token fungible están formados por un hash SHA-256 del parámetro orgId, el parámetro userId, la cadena constante ft separada por el símbolo tilde (~) y un número de contador que significa el índice de la cuenta fungible que se está creando separado por el símbolo tilde (~).

Un usuario solo puede tener una cuenta de token no fungible. Los ID de cuenta de token no fungibles son únicos y están formados por un hash SHA-256 del parámetro orgId, el parámetro userId y la cadena constante nft separados por el símbolo tilde (~). Todos los tokens no fungibles que posee un usuario, ya sean completos o fraccionales, están vinculados a esta cuenta.

Este método solo puede ser llamado por Token Admin del código de cadenas.

Carga Útil:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenType": "nonfungible",
 "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • tokenType: TokenType: tipo de cuenta de token que se va a crear. Los únicos tipos de token soportados son nonfungible y fungible.
Devuelve:
  • Si se realiza correctamente, se crea un objeto JSON de la cuenta de token.
Ejemplo de Valor de Devolución:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 1,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": ""
}
createUserAccount
Nombre del método original: createUserAccount
Este método POST crea una cuenta para un usuario especificado. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. La cuenta de usuario realiza un seguimiento de la cuenta NFT y las cuentas de token fungibles que tiene un usuario. Los usuarios deben tener cuentas en la red para completar las operaciones relacionadas con tokens.

Un ID de cuenta es un hash SHA-256 del parámetro orgId y del parámetro userId. Este método solo puede ser llamado por Token Admin del código de cadenas.

Carga Útil:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se realiza correctamente, se crea un objeto JSON de la cuenta de usuario.
Ejemplo de Valor de Devolución:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 0,
  "totalFtAccounts": 0,
  "associatedFtAccounts": [],
  "associatedNftAccount": ""
}
deleteAccount
Nombre del método original: deleteAccount
Este método POST suprime una cuenta de token. Este método solo puede ser llamado por Token Admin del código de cadenas. Este método devuelve un error si no se encuentra un valor accountStatus para la cuenta en el libro mayor.
Carga Útil:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
Ejemplo de Valor de Devolución:
{
  "assetType": "oaccountStatus",
  "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
getAccount
Nombre del método original: getAccount
Este método GET devuelve los detalles de la cuenta de token para un usuario especificado. Este método solo puede ser llamado por un Token Admin del código de cadenas o el Account Owner de la cuenta.
Consulta:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • tokenId?: string: para una cuenta de token no fungible, una cadena vacía. Para una cuenta de token fungible, el ID de token.
Devuelve:
  • Si se realiza correctamente, un objeto JSON que incluye detalles de cuenta de token.
Ejemplo de Valor de Devolución
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountBondSummary
Nombre del método original: getAccountBondSummary
Este método GET devuelve un resumen de cuenta para el usuario especificado, incluidos los detalles de los tokens comprados o canjeados y sus precios de compra y canje.
Consulta:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se realiza correctamente, un objeto JSON que incluye el resumen de cuenta de token.
Ejemplo de Valor de Devolución
[
 {
   "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
Nombre del método original: getAccountBondSummaryWithPagination
Este método GET devuelve un resumen de cuenta para el usuario especificado, incluidos los detalles de los tokens comprados o canjeados y sus precios de compra y canje. Este método puede devolver resultados con paginación basada en valores de tamaño de página y marcador, y también filtrada por hora de inicio y hora de finalización.
Consulta:
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • pageSize: number: tamaño de página del resultado devuelto.
  • bookmark: string: marcador del resultado devuelto.
Devuelve:
  • Si se realiza correctamente, un objeto JSON que incluye el resumen de cuenta de token.
Ejemplo de Valor de Devolución
[
 {

   "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
Nombre del método original: getAccountDetailsByUser
Este método GET devuelve un resumen de cuenta para un usuario especificado y detalles de tokens fungibles y no fungibles que están asociados con el usuario. Este método solo puede ser llamado por un Token Admin del código de cadenas o el Account Owner de la cuenta.
Consulta:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Cuando se realiza correctamente, un objeto de cuenta JSON que incluye un resumen de cuenta para el usuario especificado y detalles de tokens fungibles y no fungibles asociados con el usuario. Para tokens fraccionales no fungibles, la propiedad tokenShare de la sección associatedNFTs muestra el recurso compartido que posee el usuario.
Ejemplo de Valor de Devolución:
{
    "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
Nombre del método original: getAccountStatus
Este método GET recupera el estado actual de la cuenta de token. Este método lo puede llamar el Token Admin del código de cadenas o el propietario de la cuenta de token.
Consulta:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
Ejemplo de Valor de Devolución:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
getAccountStatusHistory
Nombre del método original: getAccountStatusHistory
Este método GET recupera el historial del estado de la cuenta. Este método lo puede llamar el Token Admin del código de cadenas o el propietario de la cuenta de token.
Consulta:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se realiza correctamente, el historial de estado de la cuenta en formato JSON.
Ejemplo de Valor de Devolución:
[
  {
    "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
Nombre del método original: getAccountTransactionHistory
Este método GET devuelve el historial de transacciones de la cuenta. Este método solo lo puede llamar un Token Admin del código de cadenas o el propietario de la cuenta.
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de Valor de Devolución:
[
    {
        "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
Nombre del método original: getAccountsByRole
Este método GET devuelve una lista de todos los ID de cuenta para un rol y token especificados.
Consulta:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Parámetros:
  • role: string: nombre del rol que se va a buscar.
  • tokenDetail: JSON: para tokens fungibles, el ID de token. Para tokens no fungibles, el nombre de token necesario.
Ejemplo de Valor de Devolución:
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
Nombre del método original: getAllAccounts
Este método GET devuelve detalles de todas las cuentas de usuario. Este método solo puede ser llamado por Token Admin del código de cadenas.
Consulta:
/getAllAccounts
Parámetros:
  • ninguno
Devuelve:
  • En caso de éxito, una matriz JSON de todas las cuentas.
Ejemplo de Valor de Devolución:
[
        {
            "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
Nombre del método original: getAllTokenAdmins
Este método GET devuelve una lista de todos los usuarios que son Token Admin del código de cadenas. Este método solo puede ser llamado por Token Admin del código de cadenas.
Consulta:
/getAllTokenAdmins
Parámetros:
  • ninguno
Devuelve:
  • Cuando se realiza correctamente, una matriz admins en formato JSON que contiene objetos orgId y userId.
Ejemplo de Valor de Devolución:
{
  "admins": [
    {
      "orgId": "appdev",
      "userId": "user2"
    },
    {
      "orgId": "appdev",
      "userId": "user1"
    }
  ]
}
getAllTokens
Nombre del método original: getAllTokens
Este método devuelve todos los activos de token que se guardan en la base de datos de estado. Este método solo puede ser llamado por Token Admin del código de cadenas. Este método utiliza consultas enriquecidas SQL de Berkeley DB y solo se puede llamar cuando se conecta a la red remota de Oracle Blockchain Platform.
/getAllTokens
Parámetros:
  • ninguno
Devuelve:
  • Lista de todos los activos de token en formato JSON.
Ejemplo de Valor de Devolución:
[{
            "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
Nombre del método original: getAllTokensByUser
Este método GET devuelve todos los activos de token que son propiedad de un usuario especificado. Este método utiliza consultas enriquecidas SQL de Berkeley DB y solo se puede llamar cuando se conecta a la red remota de Oracle Blockchain Platform. Este método solo lo puede llamar un Token Admin del código de cadenas o el propietario de la cuenta.
Consulta:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de Valor de Devolución:
[{
            "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
Nombre del método original: getAllTokensWithFilters
El administrador puede llamar a este método GET para recuperar todos los tokens filtrados por estado.
Consulta:
/getAllTokensWithFilters?status=status&pageSize=pageSize&bookmark=bookmark
Parámetros:
  • status: string: estado del token, que puede ser CREATED o POSTED.
  • pageSize: number: tamaño de página del resultado devuelto.
  • bookmark: string: marcador del resultado devuelto.
Ejemplo de Valor de Devolución:
[{
            "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
Nombre del método original: getTokenApprovalRequestByUser
Cualquier titular de cuenta puede llamar a este método GET para obtener los detalles de todas las solicitudes de aprobación de tokens (solicitudes de canje) que ha realizado.
Consulta:
/getTokenApprovalRequestByUser?status=status value
Parámetros:
  • status: string: estado de la solicitud, que puede ser PENDING, REJECTED o APPROVED.
Ejemplo de Valor de Devolución:
[
   {
      "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
Nombre del método original: getTokenApprovalRequestByUser
Cualquier titular de cuenta puede llamar a este método GET para obtener los detalles de todas las solicitudes de aprobación de tokens (solicitudes de canje) que ha realizado.
Consulta:
/getTokenApprovalRequestForUserByStatus?status=status value
Parámetros:
  • status: string: estado de la solicitud, que puede ser PENDING, REJECTED o APPROVED.
Ejemplo de Valor de Devolución:
[
   {
      "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
Nombre del método original: getTokenById
Este método GET devuelve un objeto de token si el token está presente en la base de datos de estado. Para las NFT fraccionadas, también se devuelve la lista de propietarios. Este método solo lo puede llamar un Token Admin del código de cadenas o el propietario del token.
Consulta:
/getTokenById?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token que se va a obtener.
Ejemplo de Valor de Devolución:
[{
            "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
Nombre del método original: getTokenHistory
Este método GET devuelve el historial de un ID de token especificado.
Consulta:
/getTokenHistory?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Devuelve:
  • Si se realiza correctamente, una matriz JSON que contiene el historial de tokens.
Ejemplo de Valor de Devolución:
[{
            "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
Nombre del método original: getUsersByRole
Este método devuelve una lista de todos los usuarios para un rol y token especificados. Este método solo puede ser llamado por Token Admin del código de cadenas.
Consulta:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Parámetros:
  • role: string: nombre del rol que se va a buscar.
  • tokenDetail: JSON: para tokens fungibles, el ID de token. Para tokens no fungibles, el nombre de token necesario.
Ejemplo de Valor de Devolución:
{
    "users": [
        {
            "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
            "orgId": "appdev",
            "userId": "user2"
        },
        {
            "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
            "orgId": "appdev",
            "userId": "user1"
        }
    ]
}
init
Nombre del método original: init
Se llama a este método POST cuando se crea una instancia del código de cadenas. Cada Token Admin se identifica mediante la información userId y orgId en el parámetro adminList. userId es el nombre de usuario o el ID de correo electrónico del propietario de la instancia o el usuario que está conectado a la instancia. orgId es el ID del proveedor de servicios de miembros (MSP) del usuario en la organización de red actual. El parámetro adminList es obligatorio la primera vez que despliegue el código de cadenas. Si está actualizando el código de cadenas, transfiera una lista vacía ([]). Si es el usuario que desplegó inicialmente el código de cadenas, también puede especificar nuevos administradores en el parámetro adminList al actualizar el código de cadenas. Cualquier otra información del parámetro adminList se ignora durante las actualizaciones.
Carga Útil:
{
 "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
Parámetros:
  • adminList array: matriz de información {orgId, userId} que especifica la lista de administradores de token. La matriz adminList es un parámetro obligatorio.
Devuelve:
  • Si se realiza correctamente, un mensaje sin carga útil.
Ejemplo de Valor de Devolución:
{
}
isInRole
Nombre del método original: isInRole
Este método GET devuelve un valor booleano para indicar si un usuario tiene un rol especificado. Los tokens no fungibles se especifican mediante el nombre del token. Este método solo puede ser llamado por un Token Admin del código de cadenas o el Account Owner de la cuenta. El usuario especificado debe tener una cuenta de token asociada con el token fungible o una cuenta de token no fungible para los roles NFT. El rol especificado debe existir en el archivo de especificación para el 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: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • role: string: nombre del rol que se va a buscar.
  • tokenDetails: TokenDetail: detalles que especifican el token. Para tokens no fungibles, utilice el siguiente formato:
    {"tokenName":"artCollection"}
Ejemplo de Valor de Devolución:
{
    "result": true,
    "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa) has minter role"
}
isTokenAdmin
Nombre del método original: isTokenAdmin
Este método GET devuelve el valor booleano true si el emisor de llamada de la función es Token Admin; de lo contrario, devuelve false. Este método solo puede ser llamado por Token Admin del código de cadenas.
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • El método devuelve true si el emisor de llamada es Token Admin; de lo contrario, devuelve false.
Ejemplo de Valor de Devolución:
{"result": true}
mintBatch
Nombre del método original: mintBatch
Este método POST crea (minta) varios tokens en una operación por lotes. Este método crea solo tokens fungibles o tokens fraccionales no fungibles.

En el caso de tokens fungibles, si el rol minter está definido en el archivo de especificación, cualquier usuario con el rol minter puede llamar a este método. Si no es así, cualquier usuario puede utilizar este método para acuñar tokens. No puede importar más que la propiedad max_mint_quantity del token si esa propiedad se especificó cuando se creó o actualizó el token.

Para los tokens no fungibles, si el rol mínimo está definido en el archivo de especificación, cualquier usuario con el rol mínimo puede llamar a este método. Si no es así, cualquier usuario puede utilizar este método para acuñar tokens. Además, el emisor de llamada también debe ser el creador del token. No hay límite superior para la cantidad de tokens fraccionales no fungibles que se pueden acuñar.

No puede utilizar este método para acuñar un token no fungible completo.

Carga Útil:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • tokenIds: string[]: lista de ID de token para los que acuñar tokens.
  • quantity: number[]: lista de cantidades de tokens para acuñar, correspondiente a la matriz de ID de token.
Devuelve:
  • En caso de éxito, un objeto JSON que incluye detalles sobre los tokens acuñados.
Ejemplo de Valor de Devolución:
{
    "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
Nombre del método original: ownerOf
Este método GET devuelve el ID de cuenta, el ID de organización y el ID de usuario del propietario del ID de token especificado. Cualquiera puede llamar a este método.
Consulta:
/ownerOf?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
[
    {
        "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
        "orgId": "Org1MSP",
        "userId": "admin"
    },
    {
        "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
        "orgId": "Org1MSP",
        "userId": "user"
    }
]
payInterest
Nombre del método original: ownerOf
Este método POST solo puede ser llamado por el creador o administrador del token para pagar los intereses obtenidos en el token del bono. Este método solo se puede llamar si la frecuencia de interés del token es mensual, trimestral o anual. No se puede pagar el interés si la frecuencia de interés está al vencimiento. El código de cadenas calcula el interés en función del tipo de cupón del token. La operación de compra transfiere tokens CBDC de la cuenta del emisor de la llamada a la cuenta del propietario del bono. Debido a esto, este método se debe ejecutar en el contexto de una transacción atómica. El método también verifica el proceso de transferencia, lo que garantiza que se llame al código de cadena CBDC adecuado con los valores orgId y userId correctos para la transferencia. orgId y userId deben corresponder al propietario del token, y el valor de transferencia del token CBDC debe ser igual al interés calculado por el código de cadena de bonos.
Carga Útil:
{
 "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: ID del proveedor de servicios de miembros (MSP) del usuario.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • tokenId: string: ID del token.
  • orderId: string: ID de orden para la operación.
  • CBDCTokenId: string: ID del token en el código de cadena CBDC.
  • CBDCOrgId: string: ID de MSP del usuario en el código de cadenas CBDC.
  • CBDCUserId: string: nombre de usuario o ID de correo electrónico del usuario en el código de cadenas CBDC.
  • CBDCQuantity: string: cantidad de tokens que se transferirán en el código de cadena CBDC.
  • CBDCRemark: string: comentario para la transferencia en el código de cadena CBDC, que debe tener el formato mostrado anteriormente.
Ejemplo de Valor de Devolución:
{
   "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
Nombre del método original: postBondToken
Este método POST solo puede ser llamado por un creador de tokens. El método envía el token de bono para su inclusión en el mercado. Cuando se crea un token, su estado se define inicialmente en created. Este método actualiza el estado a posted. Los usuarios pueden ejecutar el método getAllTokensWithFilter para recuperar todos los NFT con el estado posted.
Carga Útil:
{
 "tokenId": "{{bc-token-id}}",
 "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token que se va a publicar.
Ejemplo de Valor de Devolución:
{
         "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
Nombre del método original: purchaseBondToken
Este método POST puede ser llamado por cualquier titular de cuenta para comprar un bono NFT. La compra transfiere el bono NFT de la cuenta del creador a la cuenta del emisor de la llamada y transfiere tokens CBDC de la cuenta del emisor de la llamada a la cuenta del creador. Debido a esto, el método se debe ejecutar en el contexto de una transacción atómica. El método también verifica el proceso de transferencia, lo que garantiza que se llame al código de cadena CBDC adecuado con los valores orgId y userId correctos para la transferencia. orgId y userId deben corresponder al creador del token, y el valor de transferencia del token CBDC debe ser igual al valor nominal del token de bono multiplicado por la cantidad que se compra.
Carga Útil:
{
 "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: ID del token que se va a comprar.
  • orgId: string: ID del proveedor de servicios de miembros (MSP) del usuario.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • settlementId: string: ID de liquidación para la operación.
  • CBDCTokenId: string: ID del token en el código de cadena CBDC.
  • CBDCOrgId: string: ID de MSP del usuario en el código de cadenas CBDC.
  • CBDCUserId: string: nombre de usuario o ID de correo electrónico del usuario en el código de cadenas CBDC.
  • CBDCQuantity: string: cantidad de tokens que se transferirán en el código de cadena CBDC.
  • CBDCRemark: string: comentario para la transferencia en el código de cadena CBDC, que debe tener el formato mostrado anteriormente.
Ejemplo de Valor de Devolución:
{
   "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
Nombre del método original: rejectBondRedemption
El creador del token puede llamar a este método POST para rechazar la solicitud de canje. Los propietarios de tokens pueden volver a generar una solicitud de canje utilizando un ID de liquidación diferente.
Carga Útil:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "endorsers": {{endorsers}}
}
Parámetros:
  • fromOrgId: string: ID del proveedor de servicios de miembros (MSP) del usuario.
  • fromUserId: string: nombre de usuario o ID de correo electrónico del usuario.
  • settlementId: string: ID de liquidación para la operación de canje.
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
removeRole
Nombre del método original: removeRole
Este método POST elimina un rol de un usuario y token especificados. Los tokens fungibles se especifican mediante el ID de token. Los tokens no fungibles se especifican mediante el nombre del token. Este método solo puede ser llamado por Token Admin del código de cadenas.
{
 "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: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • role: string: nombre del rol que se va a eliminar del usuario especificado.
  • tokenDetails: TokenDetail: detalles que especifican el token. Para tokens no fungibles, utilice el siguiente formato:
    {"tokenName":"artCollection"}
Ejemplo de Valor de Devolución:
{
  "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
removeTokenAdmin
Nombre del método original: removeTokenAdmin
Este método POST elimina un usuario como Token Admin del código de cadenas. Este método solo puede ser llamado por Token Admin del código de cadenas. No puede eliminarse como Token Admin.
Carga Útil:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se eliminó como Token Admin del código de cadenas.
Ejemplo de Valor de Devolución:
{"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"}
requestBondRedemption
Nombre del método original: requestBondRedemption
Este método POST solo puede ser llamado por el propietario del token para presentar una solicitud para el canje de tokens de bonos después del vencimiento. Este método también implica el cálculo del precio de canje por el código de cadenas. Las solicitudes de canje solo se pueden generar en toda la cantidad del token de bono que posee el usuario. Los usuarios pueden generar varias solicitudes de canje en función de diferentes ID de liquidación, pero solo uno puede ser aprobado por el creador del token.
Carga Útil:
{
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "additionalFees": 1,
 "endorsers": {{endorsers}}
}
Parámetros:
  • settlementId: string: ID de liquidación para la operación de canje.
  • tokenId: string: ID del token.
  • orderId: string: ID de pedido de la operación de compra.
  • additionalFees: number – Las tarifas adicionales que se añaden al precio de canje.
Ejemplo de Valor de Devolución:
{
         "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
Nombre del método original: safeBatchTransferFrom
Este método POST completa una operación por lotes que transfiere tokens especificados en una lista de ID de token de un usuario a otro usuario.

Para las NFT, debido a que el método transfiere la propiedad de la NFT, el remitente de la NFT debe ser propietario del token.

Para las NFT fraccionadas, si un usuario (incluido el creador del token) transfiere todos los recursos compartidos que posee, entonces pierde la propiedad del token. Si se transfiere cualquier parte de un token a un usuario, ese usuario se convierte automáticamente en uno de los propietarios de la NFT fraccional.

El emisor de llamada del método debe ser el remitente 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: ID del proveedor de servicios de membresía (MSP) del remitente y el propietario del token en la organización actual.
  • fromUserId: string: nombre de usuario o ID de correo electrónico del remitente y propietario del token.
  • toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.
  • toUserId: string: nombre de usuario o ID de correo electrónico del destinatario.
  • tokenIds: string[]: lista de ID de token para los tokens que se van a transferir.
  • quantity: number[]: lista de cantidades de tokens que se transferirán, correspondiente a la matriz de ID de token.
Devuelve:
  • Si se realiza correctamente, un mensaje con detalles para cada transferencia de token.
Ejemplo de Valor de Devolución:
[
    {
        "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
Nombre del método original: suspendAccount
Este método POST suspende una cuenta de token. Este método solo puede ser llamado por Token Admin del código de cadenas. Después de suspender una cuenta, no puede completar ninguna operación que actualice la cuenta. No se puede suspender una cuenta suprimida.
Carga Útil:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
Ejemplo de Valor de Devolución:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
updateBondToken
Nombre del método original: updateBondToken
Este método POST actualiza tokens. Cada token definido tiene su propio método de actualización. No puede actualizar los metadatos de token ni el URI de token de tokens no fungibles. Sólo el propietario del token puede llamar a este método.
Carga Útil:
{
 "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>: activo de token. Las propiedades del activo se definen en el archivo de modelo.
Devuelve:
  • Si se realiza correctamente, el activo de token actualizado en formato JSON.
Ejemplo de valor de devolución (NFT completo)
{
            "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
Nombre del método original: URI
Este método devuelve el URI de un token especificado.
Consulta:
/URI?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
{
    "tokenUri": "example.com"
}
En la siguiente tabla se muestra la asignación entre los nombres de API de código de cadena y los puntos finales actualizados. Para obtener información detallada sobre la API de código de cadenas, consulte Proyecto de token TypeScript andamiaje en Blockchain App Builder para Oracle Blockchain Platform.
Punto final actualizado Nombre de API de código de cadenas TypeScript Ir a nombre de API de código de cadenas Tipo de Método
activateAccount activateAccount ActivateAccount Método nativo ERC-1155
addAdmin addAdmin AddAdmin Método nativo ERC-1155
addRole addRole AddRole Método nativo ERC-1155
approveBondRedemption approveTokenRedemption ApproveTokenRedemption Modificado
balanceOfBatch balanceOfBatch BalanceOfBatch Método nativo ERC-1155
batchTransferFrom batchTransferFrom BatchTransferFrom Método nativo ERC-1155
burnBatch burnBatch BurnBatch Método nativo ERC-1155
createAccount createAccount CreateAccount Método nativo ERC-1155
createAccountWithEnrollment createAccountWithEnrollment CreateAccountWithEnrollment Agregada
createBondToken createBondToken CreateBondToken Método nativo ERC-1155
createIDCSUser createIDCSUser CreateIDCSUser Agregada
createTokenAccount createTokenAccount CreateTokenAccount Método nativo ERC-1155
createUserAccount createUserAccount CreateUserAccount Método nativo ERC-1155
deleteAccount deleteAccount DeleteAccount Método nativo ERC-1155
getAccount getAccount GetAccount Método nativo ERC-1155
getAccountBondSummary getAccountBondSummary GetAccountBondSummary Método de mercado de bonos
getAccountBondSummaryWithPagination getAccountBondSummaryWithPagination GetAccountBondSummaryWithPagination Método de mercado de bonos
getAccountDetailsByUser getAccountDetailsByUser GetAccountDetailsByUser Método nativo ERC-1155
getAccountStatus getAccountStatus GetAccountStatus Método nativo ERC-1155
getAccountStatusHistory getAccountStatusHistory GetAccountStatusHistory Método nativo ERC-1155
getAccountTransactionHistory getAccountTransactionHistory GetAccountTransactionHistory Método nativo ERC-1155
getAccountsByRole getAccountsByRole GetAccountsByRole Método nativo ERC-1155
getAllAccounts getAllAccounts GetAllAccounts Método nativo ERC-1155
getAllTokenAdmins getAllTokenAdmins GetAllTokenAdmins Método nativo ERC-1155
getAllTokens getAllTokens GetAllTokens Método nativo ERC-1155
getAllTokensByUser getAllTokensByUser GetAllTokensByUser Método nativo ERC-1155
getAllTokensWithFilters getAllTokensWithFilters GetAllTokensWithFilters Método de mercado de bonos
getTokenApprovalRequestByUser getTokenApprovalRequestByUser GetTokenApprovalRequestByUser Método de mercado de bonos
getTokenApprovalRequestForUserByStatus getTokenApprovalRequestForUserByStatus GetTokenApprovalRequestForUserByStatus Método de mercado de bonos
getTokenById getTokenById GetTokenById Método nativo ERC-1155
getTokenHistory getTokenHistory GetTokenHistory Método nativo ERC-1155
getUsersByRole getUsersByRole GetUsersByRole Método nativo ERC-1155
init init Init Método nativo ERC-1155
isInRole isInRole IsInRole Método nativo ERC-1155
isTokenAdmin isTokenAdmin IsTokenAdmin Método nativo ERC-1155
mintBatch mintBatch MintBatch Método nativo ERC-1155
ownerOf ownerOf OwnerOf Método nativo ERC-1155
payInterest payInterest PayInterest Modificado
postBondToken postToken PostToken Método de mercado de bonos
purchaseBondToken purchaseToken PurchaseToken Modificado
rejectBondRedemption rejectTokenRedemption RejectTokenRedemption Método de mercado de bonos
removeRole removeRole RemoveRole Método nativo ERC-1155
removeTokenAdmin removeTokenAdmin RemoveTokenAdmin Método nativo ERC-1155
requestBondRedemption requestTokenRedemption RequestTokenRedemption Método de mercado de bonos
safeBatchTransferFrom safeBatchTransferFrom SafeBatchTransferFrom Método nativo ERC-1155
suspendAccount suspendAccount SuspendAccount Método nativo ERC-1155
updateBondToken updateBondToken UpdateBondToken Método nativo ERC-1155
URI URI URI Método nativo ERC-1155