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

registerOrg
Nombre del método original: registerOrg
Este método POST registra una organización en el sistema. Este método solo puede ser llamado por un administrador de token.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "orgName": "org_name value",
    "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.
  • orgName: string: (opcional) nombre de la organización.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "assetType": "oorgregistry",
    "org_registry_id": "orgregistry",
    "registered_orgs": [
        {
            "org_id": "Org1MSP",
            "org_name": "Organisation name"
        }
    ]
}
getAllRegisteredOrgs
Nombre del método original: getAllRegisteredOrgs
Este método GET recupera los detalles de todas las organizaciones registradas. Este método solo puede ser llamado por un administrador de token.
Consulta:
/getAllRegisteredOrgs
Parámetros:
  • ninguno
Ejemplo de valor devuelto:
[
    {
        "org_id": "Org1MSP",
        "org_name": "Organisation name"
    }
]
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 la cuenta. Las cuentas eliminadas no se pueden activar.
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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Una vez realizado correctamente, una representación JSON del objeto de estado de cuenta para la cuenta de token especificada.
Ejemplo de valor devuelto:
{
  "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 token del código de cadena.
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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como Token Admin del código de cadena.
Ejemplo de valor devuelto:
{
  "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 un Token Admin del código de cadena. 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 de 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 los tokens no fungibles, utilice el siguiente formato:
    {"tokenName":"artCollection"}
Devuelve:
  • En caso de éxito, se mostrará un mensaje con los detalles de la cuenta.
Ejemplo de valor devuelto:
{
  "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 NFT del bono de la cuenta del propietario (el usuario que emitió la solicitud) a la cuenta del creador y transfiere tokens CBDC del creador del bono a la cuenta del propietario. Por este motivo, 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 y 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 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 membresía (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 rescate.
  • 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 cadena CBDC.
  • CBDCUserId: string: nombre de usuario o ID de correo electrónico del usuario en el código de cadena CBDC.
  • CBDCQuantity: string: cantidad de tokens que se deben transferir 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 devuelto:
{
   "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 IDs de organización, IDs de usuario e IDs de token. Este método solo puede ser llamado por un Token Admin del código de cadena o por propietarios de cuenta. Los propietarios de cuentas solo pueden ver los detalles del saldo de las cuentas de las que son propietarios.
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 devuelto:

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 afiliación (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 el 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 receptor.
  • tokenIds: string[]: lista de ID de token para los tokens que se van a transferir.
  • quantity: number[]: lista de cantidades de tokens que se deben transferir, correspondiente a la matriz de ID de token.
Devuelve:
  • Si se realiza correctamente, se muestra un mensaje con detalles para cada transferencia de token.
Ejemplo de valor devuelto:
[
    {
        "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, que corresponde 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 devuelto:
[
  {
    "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 de 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 los tokens. Este método solo puede ser llamado por un Token Admin del código de cadena.

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 identificadores de cuentas de token fungibles 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 fraccionarios, 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 se creará la cuenta. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos at (@) y guiones (-).
  • userId: nombre de usuario o ID de correo electrónico del usuario. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos at (@) y guiones (-).
  • ftAccount: boolean: si es verdadero, se crea una cuenta de token fungible y se asocia con la cuenta de usuario.
  • nftAccount: boolean: si se define en true, se crea una cuenta de token no fungible y se asocia a la cuenta de usuario.
Devuelve:
  • En caso de éxito, un objeto JSON de la cuenta que se creó.
Ejemplo de valor devuelto:
{
  "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 de NFT en el código de cadena 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • En caso de éxito, un objeto JSON de la cuenta que se creó.
Ejemplo de valor devuelto:
{
 "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 los 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 minter.
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>: el activo de token. Las propiedades del activo se definen en el archivo de modelo.
  • quantity: number: número de tokens que se deben acuñar. El único valor soportado para este parámetro es 1.
Devuelve:
  • En caso de éxito, un objeto JSON de la cuenta que se creó.
Ejemplo de valor devuelto:
{
            "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"
}
createIDCSUser
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 asignará al usuario.
Ejemplo de valor devuelto:
{
 "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 con una cuenta de usuario.

Un usuario puede tener varias cuentas de token fungibles con ID de cuenta únicos. Los identificadores de cuentas de token fungibles 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 fraccionarios, están vinculados a esta cuenta.

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

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 de 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 ha realizado correctamente, se ha creado un objeto JSON de la cuenta de token.
Ejemplo de valor devuelto:
{
  "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 de 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 los tokens.

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

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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • Si se ha realizado correctamente, se ha creado un objeto JSON de la cuenta de usuario.
Ejemplo de valor devuelto:
{
  "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 un Token Admin del código de cadena. 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • En caso de éxito, una representación JSON del estado de la cuenta de token.
Ejemplo de valor devuelto:
{
  "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 cadena 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 de 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:
  • En caso de éxito, un objeto JSON que incluya detalles de cuenta de token.
Ejemplo de valor devuelto
{
    "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 la 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • En caso de éxito, un objeto JSON que incluya el resumen de cuenta de token.
Ejemplo de valor devuelto
[
 {
   "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 la 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 de 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:
  • En caso de éxito, un objeto JSON que incluya el resumen de cuenta de token.
Ejemplo de valor devuelto
[
 {

   "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 al usuario. Este método solo puede ser llamado por un Token Admin del código de cadena 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • En caso de éxito, un objeto de cuenta JSON que incluye un resumen de cuenta para el usuario especificado y detalles de tokens fungibles y no fungibles que están asociados al usuario. Para los tokens fraccionarios no fungibles, la propiedad tokenShare de la sección associatedNFTs muestra el recurso compartido que posee el usuario.
Ejemplo de valor devuelto:
{
    "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 puede ser llamado por el Token Admin del código de cadena o por 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • En caso de éxito, una representación JSON del estado de la cuenta de token.
Ejemplo de valor devuelto:
{
    "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 puede ser llamado por el Token Admin del código de cadena o por 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • En caso de éxito, el historial de estado de la cuenta en formato JSON.
Ejemplo de valor devuelto:
[
  {
    "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 cadena 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de valor devuelto:
[
    {
        "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 token y rol 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 los tokens no fungibles, se necesita el nombre del token.
Ejemplo de valor devuelto:
{
  "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 un Token Admin del código de cadena.
Consulta:
/getAllAccounts
Parámetros:
  • ninguno
Devuelve:
  • En caso de éxito, una matriz JSON de todas las cuentas.
Ejemplo de valor devuelto:
[
        {
            "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 un Token Admin del código de cadenas. Este método solo puede ser llamado por un Token Admin del código de cadena.
Consulta:
/getAllTokenAdmins
Parámetros:
  • ninguno
Devuelve:
  • Una vez realizada correctamente, una matriz admins en formato JSON que contiene objetos orgId y userId.
Ejemplo de valor devuelto:
{
  "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 un Token Admin del código de cadena. Este método utiliza consultas enriquecidas de SQL de base de datos de Berkeley 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 devuelto:
[{
            "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 de SQL de base de datos de Berkeley 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 cadena 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de valor devuelto:
[{
            "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 devuelto:
[{
            "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 han realizado.
Consulta:
/getTokenApprovalRequestByUser?status=status value
Parámetros:
  • status: string: estado de la solicitud, que puede ser PENDING, REJECTED o APPROVED.
Ejemplo de valor devuelto:
[
   {
      "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 han realizado.
Consulta:
/getTokenApprovalRequestForUserByStatus?status=status value
Parámetros:
  • status: string: estado de la solicitud, que puede ser PENDING, REJECTED o APPROVED.
Ejemplo de valor devuelto:
[
   {
      "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 puede ser llamado por un Token Admin del código de cadena 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 devuelto:
[{
            "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 identificador de token especificado.
Consulta:
/getTokenHistory?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Devuelve:
  • En caso de éxito, una matriz de JSON que contiene el historial de tokens.
Ejemplo de valor devuelto:
[{
            "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 un Token Admin del código de cadena.
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 los tokens no fungibles, se necesita el nombre del token.
Ejemplo de valor devuelto:
{
    "users": [
        {
            "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
            "orgId": "appdev",
            "userId": "user2"
        },
        {
            "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
            "orgId": "appdev",
            "userId": "user1"
        }
    ]
}
init
Nombre del método original: init
Este método POST se llama cuando se instancia el código de cadena. 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 del usuario conectado a la instancia. orgId es el ID del proveedor de servicios de afiliación (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 cadena. Si está actualizando el código de cadena, transfiera una lista vacía ([]). Si es el usuario que desplegó inicialmente el código de cadena, también puede especificar nuevos administradores en el parámetro adminList al actualizar el código de cadena. Cualquier otra información en el 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 tokens. La matriz adminList es un parámetro obligatorio.
Devuelve:
  • Una vez realizado correctamente, un mensaje sin carga útil.
Ejemplo de valor devuelto:
{
}
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 cadena o el Account Owner de la cuenta. El usuario especificado debe tener una cuenta de token que esté asociada al token fungible o una cuenta de token no fungible para los roles de 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 de 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 los tokens no fungibles, utilice el siguiente formato:
    {"tokenName":"artCollection"}
Ejemplo de valor devuelto:
{
    "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 un Token Admin del código de cadena.
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de 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 devuelto:
{"result": true}
mintBatch
Nombre del método original: mintBatch
Este método POST crea (minuta) varios tokens en una operación por lotes. Este método crea solo tokens fungibles o tokens fraccionarios no fungibles.

Para los 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. De lo contrario, cualquier usuario puede utilizar este método para acuñar tokens. No puede acuñar 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 minter está definido en el archivo de especificación, cualquier usuario con el rol minter puede llamar a este método. De lo contrario, 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 fraccionarios 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 de 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 se deben acuñar tokens.
  • quantity: number[]: lista de cantidades de tokens que se deben acuñar, que corresponde a la matriz de ID de token.
Devuelve:
  • En caso de éxito, un objeto JSON que incluya detalles sobre los tokens extraídos.
Ejemplo de valor devuelto:
{
    "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 devuelto:
[
    {
        "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 ganados 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 interés se calcula mediante el código de cadena en función del tipo de cupón del token. La operación de compra transfiere tokens CBDC desde la cuenta del emisor de llamada a la cuenta del propietario del bono. Por este motivo, 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 y 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 membresía (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 de 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 cadena CBDC.
  • CBDCUserId: string: nombre de usuario o ID de correo electrónico del usuario en el código de cadena CBDC.
  • CBDCQuantity: string: cantidad de tokens que se deben transferir 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 devuelto:
{
   "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 token. 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 devuelto:
{
         "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 listado. La compra transfiere el bono NFT de la cuenta del creador a la cuenta del emisor de llamada, y transfiere tokens CBDC de la cuenta del emisor de llamada a la cuenta del creador. Por este motivo, 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 y 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, más las tarifas adicionales.
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 membresía (MSP) del usuario.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • settlementId: string: ID de liquidación de 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 cadena CBDC.
  • CBDCUserId: string: nombre de usuario o ID de correo electrónico del usuario en el código de cadena CBDC.
  • CBDCQuantity: string: cantidad de tokens que se deben transferir 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 devuelto:
{
   "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 mediante 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 membresía (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 rescate.
  • tokenId: string: ID del token.
Ejemplo de valor devuelto:
{
   "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 un Token Admin del código de cadena.
{
 "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 de 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 los tokens no fungibles, utilice el siguiente formato:
    {"tokenName":"artCollection"}
Ejemplo de valor devuelto:
{
  "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 cadena. Este método solo puede ser llamado por un Token Admin del código de cadena. 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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • En caso de éxito, un mensaje que incluye detalles del usuario que se ha eliminado como Token Admin del código de cadena.
Ejemplo de valor devuelto:
{"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 generar 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 rescate por el código de cadena. Las solicitudes de canje solo se pueden generar en la cantidad completa del token de bono que posee el usuario. Los usuarios pueden emitir varias solicitudes de canje basadas en 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 rescate.
  • tokenId: string: ID del token.
  • orderId: string: ID de pedido de la operación de compra.
  • additionalFees: number – Las tarifas adicionales para añadir al precio de canje.
Ejemplo de valor devuelto:
{
         "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, dado que el método transfiere la propiedad de la NFT, el remitente de la NFT debe ser el propietario del token.

En el caso de los NFT fraccionarios, si un usuario (incluido el creador del token) transfiere todas las acciones que posee, perderá la propiedad del token. Si cualquier parte de un token se transfiere 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 afiliación (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 el 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 receptor.
  • tokenIds: string[]: lista de ID de token para los tokens que se van a transferir.
  • quantity: number[]: lista de cantidades de tokens que se deben transferir, correspondiente a la matriz de ID de token.
Devuelve:
  • Si se realiza correctamente, se muestra un mensaje con detalles para cada transferencia de token.
Ejemplo de valor devuelto:
[
    {
        "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 un Token Admin del código de cadena. Después de suspender una cuenta, no puede completar ninguna operación que actualice la cuenta. No se puede suspender una cuenta eliminada.
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 de la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Devuelve:
  • En caso de éxito, una representación JSON del estado de la cuenta de token.
Ejemplo de valor devuelto:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
updateBondToken
Nombre del método original: updateBondToken
Este método POST actualiza los tokens. Cada token que se define tiene su propio método de actualización. No puede actualizar los metadatos de token ni el URI de token de tokens no fungibles. Este método solo lo puede llamar el propietario del token.
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>: el activo de token. Las propiedades del activo se definen en el archivo de modelo.
Devuelve:
  • Cuando se realiza correctamente, el activo de token actualizado está en formato JSON.
Ejemplo de valor devuelto (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 devuelto:
{
    "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 cadena TypeScript Nombre de API de código de cadenas de Go 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