La siguiente API se ha modificado para el modelo CBDC mayorista.
-
setApplicationGroups
- Este método define el parámetro
application_groups en los detalles de la cuenta para los grupos de aplicaciones especificados en la API. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
public async setApplicationGroups (org_id: string, user_id: string, token_id: string, application_groups: string[])
- Parámetros:
org_id: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.
user_id: string: nombre de usuario o ID de correo electrónico del usuario.
token_id: string: ID del token.
application_groups: string[]: lista de grupos de aplicaciones a los que pertenece el ID de usuario, que definen las asociaciones del usuario en la aplicación CBDC.
- Ejemplo de valor devuelto:
{
"returnCode": "Success",
"error": "",
"result": {
"txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
"payload": {
"bapAccountVersion": 0,
"assetType": "oaccount",
"account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
"user_id": "admin_user_cb",
"org_id": "CB",
"token_type": "fungible",
"token_id": "",
"token_name": "",
"balance": 0,
"onhold_balance": 0,
"onhold_burn_balance": 0,
"application_groups": [
"System_Admins"
],
"max_daily_amount": 10000,
"daily_amount": 0,
"max_daily_transactions": 100,
"daily_transactions": 0,
"current_date": "2024-12-09T00:00:00.000Z"
},
"encode": "JSON",
"sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
"blockNumber": 188
}
}
-
getAllActiveAccounts
- Este método devuelve todas las cuentas activas que están asociadas con el ID de token especificado. Cualquier usuario puede llamar a este método.
public async getAllActiveAccounts(token_id: string)
- Parámetros:
token_id: string: ID del token.
- Devuelve:
- En caso de éxito, un mensaje que incluye los detalles del usuario. La salida varía según el rol del usuario, como se muestra en los siguientes ejemplos.
- Ejemplo de valor de devolución (administrador de token, auditor de token):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
"non_account_role_name": [
"token_admin"
],
"role_name": null,
"valueJson": {
"bapAccountVersion": 0,
"assetType": "oaccount",
"account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
"user_id": "admin_user_cb",
"org_id": "CB",
"token_type": "fungible",
"token_id": "USD",
"token_name": "cbdc",
"balance": 0,
"onhold_balance": 0,
"onhold_burn_balance": 0,
"application_groups": [
"System_Admins"
],
"max_daily_amount": 10000,
"daily_amount": 0,
"max_daily_transactions": 1000,
"daily_transactions": 0,
"current_date": "2024-11-20T00:00:00.000Z"
}
}
],
"encode": "JSON"
}
}
- Ejemplo de valor devuelto (administrador de la organización, auditor de la organización):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
"non_account_role_name": [
"token_admin"
],
"role_name": null,
"valueJson": {
"account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
"org_id": "CB",
"user_id": "admin_user_cb",
"token_id": "USD",
"max_daily_amount": 10000,
"max_daily_transactions": 1000
}
}
],
"encode": "JSON"
}
}
- Ejemplo de valor devuelto (todos los demás usuarios):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
"non_account_role_name": [
"token_admin"
],
"role_name": null,
"valueJson": {
"account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
"org_id": "CB",
"user_id": "admin_user_cb",
"token_id": "USD",
"max_daily_amount": 10000,
"max_daily_transactions": 1000
}
}
],
"encode": "JSON"
}
}
-
getAllSuspendedAccounts
- Este método devuelve todas las cuentas suspendidas que están asociadas con el ID de token especificado. Cualquier usuario puede llamar a este método.
func (t *Controller) GetAllSuspendedAccounts(token_id string) (interface{}, error)
- Parámetros:
token_id: string: ID del token.
- Devuelve:
- En caso de éxito, un mensaje que incluye los detalles del usuario. La salida varía según el rol del usuario, como se muestra en los siguientes ejemplos.
- Ejemplo de valor de devolución (administrador de token, auditor de token):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
"non_account_role_name": null,
"role_name": null,
"valueJson": {
"assetType": "oaccount",
"bapAccountVersion": 1,
"account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
"user_id": "user1_fi1",
"org_id": "FI1",
"token_type": "fungible",
"token_id": "USD",
"token_name": "cbdc",
"balance": 5,
"onhold_balance": 0,
"onhold_burn_balance": 0,
"application_groups": [
"Org_Users"
],
"max_daily_amount": 10000,
"daily_amount": 0,
"max_daily_transactions": 1000,
"daily_transactions": 0,
"current_date": "2024-11-20T00:00:00.000Z"
}
}
],
"encode": "JSON"
}
}
- Ejemplo de valor devuelto (administrador de la organización, auditor de la organización):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
"non_account_role_name": null,
"role_name": null,
"valueJson": {
"account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
"org_id": "FI1",
"user_id": "user1_fi1",
"token_id": "USD",
"max_daily_amount": 10000,
"max_daily_transactions": 1000
}
}
],
"encode": "JSON"
}
}
- Ejemplo de valor devuelto (todos los demás usuarios):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
"non_account_role_name": null,
"role_name": null,
"valueJson": {
"account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
"org_id": "FI1",
"user_id": "user1_fi1",
"token_id": "USD"
}
}
],
"encode": "JSON"
}
}
-
getBurnQuantity
- Este método devuelve la cantidad total de tokens quemados para una organización especificada. Este método solo puede ser llamado por
Token Admin, Token Auditor o un usuario con el rol de quemador.
public async getBurnQuantity(token_id: string)
- Parámetros:
token_id: string: ID del token.
- Ejemplo de valor devuelto:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": {
"burnt_quantity": 31
},
"encode": "JSON"
}
}
-
getActionHistory
- Este método recupera el historial de aprobaciones o rechazos realizados por el emisor de la llamada para operaciones de menta, quema y transferencia (emisión), incluidos los detalles de la organización y los ID de usuario de las cuentas implicadas (emisor, destinatario y notario).
public async getActionHistory(token_id: string)
- Parámetros:
token_id: string: ID del token.
- Ejemplo de valor devuelto:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
"from_org_id": "CB",
"from_user_id": "retirer_user_cb",
"holding_id": "ohold~cbdc~USD~eaf6",
"holding_status": "REJECT_BURN",
"last_updated_time": "2024-11-26T21:43:22.000Z",
"notary_account_id": null,
"notary_org_id": null,
"notary_user_id": null,
"operation_id": null,
"quantity": 3,
"timetoexpiration": null,
"to_account_id": "",
"to_org_id": null,
"to_user_id": null,
"token_id": "USD",
"token_name": null
},
{
"from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
"from_org_id": "CB",
"from_user_id": "retirer_user_cb",
"holding_id": "ohold~cbdc~USD~0031",
"holding_status": "REJECT_BURN",
"last_updated_time": "2024-11-26T21:43:15.000Z",
"notary_account_id": null,
"notary_org_id": null,
"notary_user_id": null,
"operation_id": null,
"quantity": 2,
"timetoexpiration": null,
"to_account_id": "",
"to_org_id": null,
"to_user_id": null,
"token_id": "USD",
"token_name": null
}
],
"encode": "JSON"
}
}
-
getPendingIssuance
- Este método recupera todas las transacciones de emisión (transferencia) pendientes en las que el emisor de la llamada está asignado como aprobador, incluidos los detalles de la organización y los ID de usuario de las cuentas implicadas (emisor, destinatario y notario). Este método solo se puede llamar mediante un
Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor de la organización especificada o el Notary.
public async getPendingIssuance(token_id: string)
- Parámetros:
token_id: string: ID del token.
- Ejemplo de valor devuelto:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"asset_type": "ONHOLD",
"category": "category value",
"from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"from_org_id": "CB",
"from_user_id": "creator_user_cb",
"holding_id": "ohold~cbdc~USD~8e314",
"notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
"notary_org_id": "CB",
"notary_user_id": "manager_user_cb",
"operation_id": "8e314",
"quantity": 10,
"timetoexpiration": "0",
"to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
"to_org_id": "FI1",
"to_user_id": "officer_user1_fi1",
"token_id": "USD",
"token_name": "cbdc"
},
{
"asset_type": "ONHOLD",
"category": "category value",
"from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
"from_org_id": "CB",
"from_user_id": "issuer_user_cb",
"holding_id": "ohold~cbdc~USD~8e315",
"notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
"notary_org_id": "CB",
"notary_user_id": "manager_user_cb",
"operation_id": "8e315",
"quantity": 10,
"timetoexpiration": "0",
"to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
"to_org_id": "FI1",
"to_user_id": "officer_user1_fi1",
"token_id": "USD",
"token_name": "cbdc"
}
],
"encode": "JSON"
}
}
-
getPendingRequest
- Este método recupera todas las solicitudes pendientes de un tipo especificado en las que el emisor de llamada está asignado como aprobador. Este método solo se puede llamar mediante un
Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor de la organización especificada o el Notary.
public async getPendingRequest(token_id: string, request_type: string)
- Parámetros:
token_id: string: ID del token.
request_type: string: tipo de transacción. Por ejemplo, mint o burn.
- Ejemplo de valor devuelto:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"valueJson": {
"assetType": "ohold",
"holding_id": "ohold~cbdc~USD~op123",
"operation_id": "op123",
"token_id": "USD",
"token_name": "cbdc",
"operation_type": "mint",
"status": "pending",
"from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"to_account_id": "",
"notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
"quantity": 10,
"time_to_expiration": "0",
"category": "category value",
"description": "description value"
}
}
],
"encode": "JSON"
}
}
-
getTotalBalanceByCallerOrgId
- Este método recupera el saldo total de la organización del emisor de la llamada. Se puede llamar mediante
Token Admin, Token Auditor, Org Admin, Org Auditor o cualquier propietario de cuenta.
public async getTotalBalanceByCallerOrgId()
- Parámetros:
token_id: string: ID del token.
- Ejemplo de valor devuelto:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"totalBalance": 704
}
],
"encode": "JSON"
}
}
-
getTransactionWithBlockNumber
- Este método devuelve los detalles de la transacción para el ID de transacción especificado.
public async getTransactionWithBlockNumber(token_id: string, transaction_id: string)
- Parámetros:
token_id: string: ID del token.
transaction_id: string: ID de la transacción.
- Ejemplo de valor devuelto:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"blockNo": 82,
"key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
"metadata": null,
"txnNo": 0,
"value": null,
"valueJson": {
"assetType": "otransaction",
"transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
"token_id": "USD",
"from_account_id": "",
"from_account_balance": 0,
"from_account_onhold_balance": 0,
"to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"to_account_balance": 100,
"to_account_onhold_balance": 0,
"transaction_type": "REQUEST_MINT",
"amount": 200,
"timestamp": "2024-11-20T06:48:42.000Z",
"number_of_sub_transactions": 0,
"holding_id": "",
"sub_transaction": "false",
"description": ""
}
}
],
"encode": "JSON"
}
}