Venta al por mayor Paquete de la API del envoltorio de CBDC

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 CBDC mayorista.

El paquete de API de envoltorio utiliza el servicio API Gateway y OCI Functions, que se crean mediante una pila de Resource Manager en Oracle Cloud Infrastructure (OCI), para desplegar rutas de API diseñadas específicamente para la aplicación mayorista CBDC. El paquete de API de envoltorio de CBDC al por mayor se puede descargar desde la consola de Oracle Blockchain Platform e incluye los siguientes componentes.
  • WholesaleCBDCWrapperAPI.zip, 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 OCI para crear los recursos de Oracle necesarios para las API de envoltorio.
  • WholesaleCBDC_WrapperAPI.postman_collection.json, una recopilación de Postman que 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"
    }
]
activateCBDCAccount
Nombre del método original: activateAccount
Este método POST activa una cuenta de token. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada. 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.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
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:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "active"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 194
    }
}
addCBAdmin
Nombre del método original: addTokenAdmin
Este método POST agrega un usuario como Token Admin del código de cadena de token. El método solo puede ser llamado por un Token Admin del código de cadena de token. La primera llamada es del administrador que instancia el código de cadena.
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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "User (Org_Id: CB, User_Id: cb) is already Token Admin."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
addCBAuditor
Nombre del método original: addTokenAuditor
Este método POST agrega auditores de token al código de cadena de token. Este método solo puede ser llamado por el Token Admin del código de cadena.
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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "cd81f6c4c9e7c18ece357dbf5c139ef66ef2d6566be3b14de5f6d0a3fd4bb2f0",
        "payload": {
            "msg": "Successfully added Token Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 196
    }
}
addFIAdmin
Nombre del método original: addOrgAdmin
Este método agrega administradores de organización al código de cadena de token. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:

{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a",
        "payload": {
            "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 197
    }
}
addFIAuditor
Nombre del método original: addOrgAuditor
Este método agrega auditores de organización al código de cadena de token. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03",
        "payload": {
            "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 198
    }
}
addRole
Nombre del método original: addRole
Este método agrega el rol al usuario y al token especificados. Los ID de cuenta se forman mediante la creación de un hash SHA-256 del ID de token concatenado, el ID de organización y el ID de usuario. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • role: string: nombre del rol que se va a agregar al usuario especificado.
  • 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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "29ea766dee8e6d273eba3c40a9fea75a1aa85dc3c280d40695f6224c5c52d93c",
        "payload": {
            "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 201
    }
}
approveCBDCCreation
Nombre del método original: approveMint
Los notarios pueden llamar a este método POST para aprobar una solicitud de menta.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID de operación único de la solicitud de moneda que se debe aprobar.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
        "payload": {
            "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 204
    }
}
approveCBDCRetirement
Nombre del método original: approveBurn
Los notarios pueden llamar a este método POST para aprobar una solicitud de grabación.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID de operación único de la solicitud de moneda que se debe aprobar.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8252371040e41753fd843bd086692f4e1ee7d89ffa3a50bfa121c5f1565f922f",
        "payload": {
            "msg": "Successfully burned 1 tokens from account id: oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB, User-Id: retirer_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 209
    }
}
approveHoldCBDCTokens
Nombre del método original: executeHoldTokens
Los notarios llaman a este método para aprobar una retención de tokens, lo que dispara la transferencia de los tokens del pagador al beneficiario en este escenario de negocio. La cantidad de tokens retenidos anteriormente por el propietario del token ahora se transfiere al destinatario. Si el valor quantity es menor que el valor de retención real, el importe restante vuelve a estar disponible para el propietario del token. Si el comportamiento roles se especifica en la sección behaviors del modelo de token y se define el valor notary_role_name, la cuenta del emisor de llamada debe tener un rol de notario. De lo contrario, cualquier persona que llame con una cuenta puede funcionar como notario.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "quantity": 1,
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID de operación único de la solicitud de moneda que se debe aprobar.
  • quantity: number: número de tokens retenidos para transferir.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a",
        "payload": {
            "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 213
    }
}
associateTokenToAccount
Nombre del método original: associateTokenToAccount
Este método POST asocia un ID de cuenta especificado a un token especificado. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
Carga Útil:
{
    "accountId": "account_id value",
    "tokenId": "{{bc-token-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • accountId: string: ID de la cuenta.
  • tokenId: string: ID del token.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090",
            "user_id": "cb12",
            "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": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-11T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 216
    }
}
createAccount
Nombre del método original: createAccount
Este método crea una cuenta para un usuario y token especificados. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. Las cuentas realizan un seguimiento de los saldos, los saldos retenidos y el historial de transacciones. Un ID de cuenta es un juego alfanumérico de caracteres, con el prefijo oaccount~<token asset name>~ y seguido de un hash del nombre de usuario o el ID de correo electrónico (userId) del propietario de la instancia o del usuario que está conectado a la instancia, el ID de proveedor de servicios de afiliación (orgId) del usuario de la organización de red actual. Este método solo puede ser llamado por un Token Admin del código de cadena o por un Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenType": "fungible",
    "applicationGroups": "[\"application_groups value\"]",
    "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
    "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 (-).
  • tokenType: TokenType: tipo de token, que debe ser fungible.
  • applicationGroups: 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.
  • dailyLimits: JSON object: objeto JSON del siguiente tipo.
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    En el ejemplo, el valor max_daily_amount es la cantidad máxima de tokens que se pueden realizar diariamente y el valor max_daily_transactions es el número máximo de transacciones que se pueden completar diariamente.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
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
    }
}
getAllActiveCBDCAccounts
Nombre del método original: getAllActiveAccounts
Este método GET devuelve todas las cuentas activas que están asociadas con el ID de token especificado.
Consulta:
/getAllActiveCBDCAccounts?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Devuelve:
  • Cuando se realiza correctamente, se muestra 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"
  }
}
getAllSuspendedCBDCAccounts
Nombre del método original: getAllSuspendedAccounts
Este método GET devuelve todas las cuentas suspendidas que están asociadas con el ID de token especificado.
Consulta:
/getAllSuspendedCBDCAccounts?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Devuelve:
  • Cuando se realiza correctamente, se muestra 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"
  }
}
getApproverActionHistory
Nombre del método original: getActionHistory
Este método GET 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 involucradas (emisor, destinatario y notario). Este método solo se puede llamar mediante Token Admin, Token Auditor, Org Admin, Org Auditor o el notario.
Consulta:
/getApproverActionHistory?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: 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"
  }
}
getCBDCAccount
Nombre del método original: getAccount
Este método GET devuelve los detalles de la cuenta para un usuario y token especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
Consulta:
/getCBDCAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
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.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "status": "active",
            "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"
    }
}
getCBDCAccountBalance
Nombre del método original: getAccountBalance
Este método GET devuelve el saldo actual de una cuenta y un token especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getCBDCAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
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.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Current Balance is: 100",
            "user_balance": 100
        },
        "encode": "JSON"
    }
}
getCBDCAccountsByUser
Nombre del método original: getAccountsByUser
Este método devuelve una lista de todos los IDs de cuenta para un ID de organización y un ID de usuario especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getCBDCAccountsByUser?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:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                "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": 1000,
                "daily_transactions": 0,
                "current_date": "2024-11-20T00:00:00.000Z"
            },
            {
                "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"
            },
            {
                "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"
    }
}
getCBDCAccountTransactionHistory
Nombre del método original: getAccountTransactionHistory
Este método devuelve una matriz de detalles de historial de transacciones de cuenta para un usuario y token especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getCBDCAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
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.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:37:28.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REJECT_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:32.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "APPROVE_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:18.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:35:46.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            }
        ],
        "encode": "JSON"
    }
}
getAccountTransactionHistoryWithFilters
Nombre del método original: getAccountTransactionHistoryWithFiltersFromRichHistDB
Este método devuelve los detalles del historial de transacciones de la cuenta de la base de datos de historial enriquecido. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getCBDCAccountTransactionHistoryWithFilters?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
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.
  • customEndpoint: punto final de servicio RESTful de la base de datos de historial enriquecido desde la que se recuperará el historial de transacciones.
  • bearerToken: token que se va a utilizar para llamar al punto final RESTful para asegurarse de que la solicitud está autorizada.
  • filters: JSON object: parámetro opcional. Si está vacío, se devuelven todos los registros. La propiedad pageSize determina el número de registros que se devolverán. Si pageSize es 0, el tamaño de página por defecto es 20. La propiedad bookmark determina el índice inicial de los registros que se van a devolver. Las propiedades startTime y endTime se deben especificar en formato RFC-3339.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:37:28.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REJECT_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:32.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "APPROVE_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:18.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:35:46.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            }
        ],
        "encode": "JSON"
    }
}
getCBDCRetiredQuantity
Nombre del método original: getBurnQuantity
Este método GET 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.
/getCBDCRetiredQuantity?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de valor devuelto:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getNetCBDCTokens
Nombre del método original: getNetTokens
Este método GET devuelve el número neto total de tokens disponibles en el sistema para un token especificado. El total neto de tokens es la cantidad de tokens que quedan después de que los tokens se queman. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena, o por un Org Admin o Org Auditor.
/getNetCBDCTokens?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Net supply of token for Token Id: USD is 878 tokens.",
            "quantity": 878
        },
        "encode": "JSON"
    }
}
getOnHoldIds
Nombre del método original: getOnHoldIds
Este método GET devuelve una lista de todos los ID de retención de una cuenta especificada. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
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.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315",
            "holding_ids": [
                "ohold~cbdc~USD~8e3147",
                "ohold~cbdc~USD~8e315"
            ]
        },
        "encode": "JSON"
    }
}
getPendingCBDCIssuance
Nombre del método original: 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 Token Admin o Token Auditor del código de cadena, un Org Admin o Org Auditor, o Notary.
/getPendingCBDCIssuance?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: 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"
  }
}
getPendingCBDCRequest
Nombre del método original: 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 Token Admin o Token Auditor del código de cadena o Notary.
/getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value
Parámetros:
  • tokenId: string: ID del token.
  • requestType: 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
Nombre del método original: getTotalBalanceByCallerOrgId
Este método recupera el saldo total de la organización del emisor de la llamada. Este método solo puede ser llamado por un Token Admin, Token Auditor, Org Admin, Org Auditor o cualquier propietario de cuenta.
/getTotalCBDCBalanceByCallerOrgId
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de valor devuelto:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "totalBalance": 704
          }
      ],
      "encode": "JSON"
  }
}
getTotalCreatedCBDCTokens
Nombre del método original: getTotalMintedTokens
Este método devuelve el número total de tokens acuñados para un token especificado. Este método solo se puede llamar mediante Token Admin, Token Auditor, Org Admin o Org Auditor.
Consulta:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Total minted token for Token Id: USD is 910 tokens.",
            "quantity": 910
        },
        "encode": "JSON"
    }
}
getTransactionWithBlockNumber
Nombre del método original: getTransactionWithBlockNumber
Este método GET devuelve los detalles de la transacción para el ID de transacción especificado.
Consulta:
/getTransactionWithBlockNumber?tokenId={{bc-token-id}}&transactionId=transaction_id value
Parámetros:
  • tokenId: string: ID del token.
  • transactionId: 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"
  }
}
getUserByCBDCAccountId
Nombre del método original: getUserByAccountId
Este método devuelve los detalles del usuario (orgId, userId y tokenId) para una cuenta especificada. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena, o por un Org Admin o Org Auditor de la organización especificada.
Consulta:
/getUserByCBDCAccountId?accountId=account_id value
Parámetros:
  • accountId: string: ID de la cuenta.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "token_id": "USD",
            "user_id": "admin_user_cb",
            "org_id": "CB"
        },
        "encode": "JSON"
    }
}
getUsersByRole
Nombre del método original: getUsersByRole
Este método GET devuelve una lista de todos los usuarios para un token y rol especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadena.
Consulta:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)
Parámetros:
  • tokenId: string: ID del token.
  • role: string: nombre del rol que se va a buscar.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "users": [
                {
                    "token_id": "USD",
                    "user_id": "creator_user_cb",
                    "org_id": "CB"
                },
                {
                    "token_id": "USD",
                    "user_id": "cb4",
                    "org_id": "CB"
                }
            ]
        },
        "encode": "JSON"
    }
}
holdCBDCTokens
Nombre del método original: holdTokens
Este método crea una retención en nombre del propietario de los tokens con la cuenta to_account_id. Se especifica una cuenta de notario, que es responsable de completar o liberar la retención. Cuando se crea la retención, el saldo de token especificado del pagador se retiene. Un saldo retenido no se puede transferir hasta que la retención se haya completado o liberado. El emisor de la llamada de este método debe tener una cuenta ya creada.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.
  • 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.
  • notaryOrgId: string: ID del proveedor de servicios de membresía (MSP) del notario en la organización actual.
  • notaryUserId: string: nombre de usuario o ID de correo electrónico del notario.
  • quantity: number: número de tokens que se deben retener.
  • timeToExpiration: hora a la que caduca la retención. Especifique 0 para una retención permanente. De lo contrario, utilice el formato RFC-3339. Por ejemplo, 2021-06-02T12:46:06Z.
  • infoDetails: JSON: descripción y categoría, como se muestra en el siguiente ejemplo.
    {
       "category" : "category input",
       "description" : "description input"
    }
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062",
        "payload": {
            "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 211
    }
}
init
Nombre del método original: init
Este método se llama cuando se despliega el código de cadena. La información de usuario se guarda como el Token Admin del código de cadena.
Carga Útil:
{
    "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]"
}
Parámetros:
  • adminList array: matriz de información {user_id, org_id} que especifica la lista de administradores de tokens. La matriz adminList es un parámetro obligatorio.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807",
        "payload": "",
        "encode": "UTF-8",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 263
    }
}
initializeCBDCToken
Nombre del método original: initializeCBDCToken
Este método crea un token e inicializa las propiedades del token. El activo y sus propiedades 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.
Carga Útil:
{
    "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\",\"Currency_Name\":\"Currency_Name value\"}",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenAsset: <Token Class>: el activo de token se transfiere como parámetro a este método. Las propiedades del activo de token se describen en el archivo de modelo.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Devuelve:
  • En caso de éxito, una representación JSON del activo de token que se creó.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8",
        "payload": {
            "assetType": "otoken",
            "events": false,
            "token_id": "t1",
            "token_name": "cbdc",
            "token_desc": "token_desc value",
            "token_standard": "ttf+",
            "token_type": "fungible",
            "token_unit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "holdable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner",
                "notary_role_name": "notary",
                "mint_approver_role_name": "notary",
                "burn_approver_role_name": "notary"
            },
            "mintable": {
                "max_mint_quantity": 1000,
                "mint_approval_required": true
            },
            "burnable": {
                "burn_approval_required": true
            },
            "divisible": {
                "decimal": 2
            },
            "currency_name": "currency_name value",
            "token_to_currency_ratio": 999
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 267
    }
}
rejectCBDCCreation
Nombre del método original: rejectMint
Este método puede ser llamado por un notario de minter para rechazar una solicitud de acuñación.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token para rechazar la extracción.
  • operationId: string: ID de operación único que representa la solicitud de moneda.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
        "payload": {
            "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 205
    }
}
rejectCBDCRetirement
Nombre del método original: rejectBurn
Este método puede ser llamado por un notario para rechazar una solicitud de grabación.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token que se va a rechazar para la quema.
  • operationId: string: el ID de operación único que representa la solicitud de grabación.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "474a08183986c84fe321aa925670539db3b1bc90b02fa65956ad8c771fff5bbe",
        "payload": {
            "msg": "Successfully rejected burn request with Operation Id 'burn1234' to burn 10 tokens of token id USD"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 210
    }
}
rejectHoldCBDCTokens
Nombre del método original: releaseHoldTokens
Este método POST libera una retención de tokens. La transferencia no se ha completado y todos los tokens retenidos están disponibles de nuevo para el propietario original. Este método puede ser llamado por el ID AccountOwner con el rol notary dentro del límite de tiempo especificado o por el pagador, el beneficiario o el notario después del límite de tiempo especificado.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380",
        "payload": {
            "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 214
    }
}
removeCBAdmin
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. Un administrador no puede eliminarse a sí mismo.
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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739",
        "payload": {
            "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 218
    }
}
removeCBAuditor
Nombre del método original: removeTokenAuditor
Este método POST elimina un usuario como Token Auditor del código de cadena. 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}}",
    "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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b",
        "payload": {
            "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 219
    }
}
removeFIAdmin
Nombre del método original: removeOrgAdmin
Este método POST elimina un usuario como Org Admin del código de cadena. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597",
        "payload": {
            "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 220
    }
}
removeFIAuditor
Nombre del método original: removeOrgAuditor
Este método POST elimina un usuario como Org Auditor del código de cadena. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
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.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306",
        "payload": {
            "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 221
    }
}
removeRole
Nombre del método original: removeRole
Este método elimina un rol de un usuario y token especificados. Este método solo puede ser llamado por un Token Admin del código de cadena o por un Org Admin de la organización especificada.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • role: string: nombre del rol que se va a eliminar del usuario especificado. Los comportamientos mintable y burnable corresponden a las propiedades minter_role_name y burner_role_name del archivo de especificación. Del mismo modo, el rol notary corresponde a la propiedad notary_role_name del archivo de especificación.
  • 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.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Devuelve:
  • En caso de éxito, se mostrará un mensaje con los detalles de la cuenta.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "274f0d0a2c4c3929817fb85b2e857519695c3c238ccf9903b084b87e9be7ee12",
        "payload": {
            "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 200
    }
}
requestCBDCCreation
Nombre del método original: requestMint
Este método puede ser llamado por un minter para enviar una solicitud al notario minter para crear una cantidad especificada de tokens.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token que se debe acuñar.
  • operationId: string: ID de operación único que representa la solicitud de moneda.
  • notaryOrgId: string – El ID del proveedor de servicios de membresía (MSP) del notario menor que procesará la solicitud.
  • notaryUserId: string: nombre de usuario o ID de correo electrónico del notario menor que procesará la solicitud.
  • quantity: number: cantidad de tokens que se deben acuñar.
  • timeToExpiration: el tiempo después del cual caduca la solicitud de extracción y ya no es válida.
  • infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
        "payload": {
            "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 202
    }
}
requestCBDCRetirement
Nombre del método original: requestBurn
Este método puede ser llamado por un quemador para enviar una solicitud al notario para destruir una cantidad especificada de tokens.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token que se va a grabar.
  • operationId: string: el ID de operación único que representa la solicitud de grabación.
  • notaryOrgId: string – El ID del proveedor de servicios de membresía (MSP) del notario del quemador que procesará la solicitud.
  • notaryUserId: string: nombre de usuario o ID de correo electrónico del notario del quemador que procesará la solicitud.
  • quantity: number: cantidad de tokens que se queman.
  • timeToExpiration: el tiempo después del cual caduca la solicitud de grabación y ya no es válida.
  • infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "0adb57ca9776c8760468c40465e0f0d37472f0b4b32fd02561ef28b3f7b28cf1",
        "payload": {
            "msg": "AccountId oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB , User-Id: retirer_user_cb) has successfully submitted request to burn 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 206
    }
}
setApplicationGroups
Nombre del método original: setApplicationGroups
Este método POST se utiliza para definir el parámetro application_groups en los detalles de cuenta para los grupos de aplicaciones especificados. Este método solo puede ser llamado por un Token Admin del código de cadena o por un Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "applicationGroups": "[\"application_groups 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.
  • tokenId: string: ID del token.
  • applicationGroups: string[]: lista de grupos de aplicaciones a los que pertenece el ID de usuario, que define las asociaciones del usuario en la aplicación CBDC.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Devuelve:
  • En caso de éxito, un mensaje de éxito con la cantidad de tokens quemados y el ID de cuenta.
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
    }
}
setMaxDailyAmount
Nombre del método original: setMaxDailyAmount
Este método POST se utiliza para definir el parámetro maxDailyAmount en los detalles de la cuenta para el importe especificado. Este método solo puede ser llamado por un Token Admin del código de cadena o por un Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyAmount": 1,
    "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.
  • tokenId: string: ID del token.
  • maxDailyAmount: number: valor de importe diario máximo para la cuenta especificada, que define el importe máximo que se puede realizar a diario.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975",
        "payload": {
            "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",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 222
    }
}
setMaxDailyTransactionCount
Nombre del método original: setMaxDailyTransactionCount
Este método POST se utiliza para definir el parámetro maxDailyTransactions en los detalles de la cuenta para el importe especificado. Este método solo puede ser llamado por un Token Admin del código de cadena o por un Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyTransactions": 1,
    "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.
  • tokenId: string: ID del token.
  • maxDailyTransactions: number: valor de importe máximo diario para la cuenta especificada, que define el número máximo de transacciones permitidas por día.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9",
        "payload": {
            "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",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 223
    }
}
suspendCBDCAccount
Nombre del método original: suspendAccount
Este método suspende una cuenta de token fungible. Devuelve un error si no se encuentra un valor accountStatus en la contabilidad. Este método solo puede ser llamado por un Token Admin del código de cadena o por un Org Admin de la organización especificada.
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.
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "suspended"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 195
    }
}
transferCBDCTokens
Nombre del método original: transferTokens
Este método transfiere tokens del emisor de llamada a una cuenta especificada. El emisor de llamada del método debe tener una cuenta. La cantidad debe estar dentro de los valores decimales especificados por el parámetro decimal del comportamiento divisible en el archivo de especificación.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "quantity": 1,
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor (beneficiario) de la organización actual.
  • toUserId: string: nombre de usuario o ID de correo electrónico del receptor.
  • quantity: number: número de tokens que se van a transferir.
  • infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • endorsers: string[]: matriz de los pares (por ejemplo, peer1, peer2) que deben respaldar la transacción.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7",
        "payload": {
            "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 224
    }
}

El paquete de API de envoltorio también incluye la API createCBDCAccount, que combina API de código de cadena y API de consola de Oracle Blockchain Platform en un único punto final para la creación de cuentas.

createCBDCAccount
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "applicationGroups": "[\"applicationGroups value\"]",
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary / tokenAdmin / tokenAuditor / orgAdmin / orgAuditor)",
    "dailyLimits": "{\"max_daily_amount\":1000, \"max_daily_transactions\":100}"
}
Parámetros de Carga Útil:
  • 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 (-).
  • applicationGroups: grupos de aplicaciones a los que pertenecerá la cuenta. Por ejemplo, System_Admins.
  • tokenId: ID del token asociado a la cuenta. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y los caracteres especiales guion bajo (_) y guion (-). No puede superar los 16 caracteres de longitud.
  • role: el rol debe ser uno de los siguientes valores: minter, burner, notary, tokenAdmin, tokenAuditor, orgAdmin o orgAuditor.
  • dailyLimits: dos campos numéricos que definen los límites de transacción diaria: max_daily_amount y max_daily_transactions.
Ejemplo de valor devuelto:
"payload": {
 "msg": "Account created successfully and 'minter' role added to Account Id: oaccount~4a86f2843c2b0105c97a77202bd9aba519c81dcef27eccc1d89125ae32770700 (Org-Id: CB, User-Id: creator_user_cb)"
 "accountDetails":
      {           
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~ce5c56d2068ce31b82136c8eea110a80b9251595d361db70924c4e989032a1be",
            "user_id": "creator_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Creators"
            ],
            "max_daily_amount": 1000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-10-06T00:00:00.000Z"
     }
 }

La API createCBDCAccount completa las siguientes operaciones en secuencia.

  1. Crea un ID de inscripción para el usuario en Oracle Blockchain Platform. El ID de inscripción que se crea es el mismo que el ID de usuario, con algunas limitaciones. El ID solo puede contener caracteres alfanuméricos, guiones (-) y guiones bajos (_). Si el ID de usuario contiene otros caracteres especiales, se sustituyen por caracteres de subrayado (_). Por ejemplo, si el ID de usuario es adam.fripp@example.com, el ID de inscripción que se crea es adam_fripp_example_com. Si la inscripción ya existe para el ID de usuario especificado, no se crea otra inscripción.
  2. Crea una cuenta en el libro mayor con los detalles proporcionados en la carga útil.
  3. Asocia la nueva cuenta al token especificado en la carga útil.
  4. Asigna el rol especificado en la carga útil al usuario.

Para garantizar la coherencia y evitar datos incompletos, si falla alguno de los pasos siguientes, se elimina el ID de inscripción que se creó en el primer paso.