-
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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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"
}