Ensemble d'API d'encapsuleur de marché des obligations

Oracle Blockchain Platform Digital Assets Edition comprend un ensemble d'API wrapper qui étend l'API REST afin de prendre en charge des opérations propres à un marché NFT d'obligations.

L'ensemble d'API d'encapsulation utilise le service de passerelle d'API et le service des fonctions pour OCI pour déployer des routes d'API spécifiquement pour la gestion du cycle de vie NFT du marché des obligations. L'ensemble d'API d'encapsulation de marché des obligations est téléchargeable à partir de la console Oracle Blockchain Platform et comprend un fichier d'archives qui contient l'ensemble d'API d'encapsulation, y compris les scripts Terraform requis pour le déploiement. Vous déployez ce fichier dans une pile du gestionnaire de ressources sur Oracle Cloud Infrastructure (OCI) pour créer les ressources Oracle nécessaires pour les API d'encapsuleur. Il comprend également une collection Postman qui vous permet de tester les API de wrapper déployées. La collection comprend des demandes préconfigurées avec des points d'extrémité et des données utiles qui correspondent aux API définies dans l'ensemble d'API wrapper.

API d'encapsulation

activateAccount
Nom de la méthode initiale : activateAccount
Cette méthode POST active un compte de jeton. Cette méthode ne peut être appelée que par un administrateur ou un responsable de compte. Les comptes supprimés ne peuvent pas être activés.
Données utiles :
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Paramètres :
  • tokenId: string - ID du jeton.
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de succès, une représentation JSON de l'objet de statut de compte pour le compte de jeton spécifié.
Exemple de valeur renvoyée :
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
addTokenAdmin
Nom de la méthode initiale : addTokenAdmin
Cette méthode POST ajoute d'autres administrateurs au code de chaîne du jeton. Cette méthode ne peut être appelée que par l'administrateur de jeton du code de chaîne.
Données utiles :
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • Au succès, un message comprend les détails de l'utilisateur qui a été ajouté comme Token Admin du code de chaîne.
Exemple de valeur renvoyée :
{
  "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
addRole
Nom de la méthode initiale : addRole
Cette méthode POST ajoute un rôle à un utilisateur et à un jeton spécifiés. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne. Les jetons non fongibles sont spécifiés par le nom du jeton. L'utilisateur spécifié doit avoir un compte de jeton non fongible. Le rôle spécifié doit exister dans le fichier de spécification pour le jeton.
Données utiles :
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "role": "role minter/burner"
    "tokenDetails": "{"tokenName": "token name value"}"
    "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • role: string - Nom du rôle à ajouter à l'utilisateur spécifié.
  • tokenDetails: TokenDetail - Détails qui spécifient le jeton. Pour les jetons non fongibles, utilisez le format suivant :
    {"tokenName":"artCollection"}
Retourne :
  • En cas de réussite, un message avec les détails du compte.
Exemple de valeur renvoyée :
{
  "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
}
approveBondRedemption
Nom de la méthode initiale : approveBondRedemption
Cette méthode POST ne peut être appelée que par le créateur du jeton pour approuver une demande d'échange de jetons de liaison. L'opération d'approbation transfère l'obligation NFT du compte du propriétaire (l'utilisateur qui a soulevé la demande) au compte du créateur, et transfère les jetons CBDC du compte du créateur de l'obligation au compte du propriétaire. Pour cette raison, cette méthode doit être exécutée dans le contexte d'une transaction atomique. La méthode vérifie également le processus de transfert, en veillant à ce que le code de chaîne CBDC approprié soit appelé avec les valeurs orgId et userId appropriées pour le transfert. Les valeurs orgId et userId doivent correspondre au compte du responsable du jeton qui a soulevé la demande d'échange, et la valeur de transfert du jeton CBDC doit être égale au prix d'échange calculé calculé par le code de chaîne lors du déclenchement de la demande d'échange.
Données utiles :
{
   "fromOrgId": "fromOrgId value",
   "fromUserId": "fromUserId value",
   "settlementId": "settlementId value",
   "tokenId": "{{bc-token-id}}",
   "CBDCTokenId": "CBDCTokenId value",
   "CBDCFromOrgId": "CBDCFromOrgId value",
   "CBDCFromUserId": "CBDCFromUserId value",
   "CBDCQuantity": 0,
   "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
   "endorsers": {{endorsers}}
}
Paramètres :
  • fromOrgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur.
  • fromUserId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • settlementId: string - ID règlement pour l'opération d'échange.
  • tokenId: string - ID du jeton.
  • CBDCTokenId: string - ID du jeton dans le code de chaîne CBDC.
  • CBDCOrgId: string - ID MSP de l'utilisateur dans le code de chaîne CBDC.
  • CBDCUserId: string - Nom d'utilisateur ou ID courriel de l'utilisateur dans le code de chaîne CBDC.
  • CBDCQuantity: string - Quantité de jetons à transférer dans le code de chaîne CBDC.
  • CBDCRemark: string - Une remarque pour le transfert dans le code de chaîne CBDC, qui doit être dans le format indiqué précédemment.
Exemple de valeur renvoyée :
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
balanceOfBatch
Nom de la méthode initiale : balanceOfBatch
Cette méthode GET termine une opération par lots qui obtient le solde des comptes de jetons. Les détails du compte sont indiqués dans trois listes distinctes d'ID organisation, d'ID utilisateur et d'ID jeton. Cette méthode ne peut être appelée que par Token Admin du code de chaîne ou par les responsables de compte. Les responsables de compte ne peuvent voir les détails du solde que pour les comptes dont ils sont responsables.
Interrogation :
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
Paramètres :
  • orgIds: string[] - Liste des ID fournisseur de services d'adhésion (MSP) dans l'organisation courante.
  • userIds: string[] - Liste du nom d'utilisateur ou des ID courriel.
  • tokenIds: string[] - Liste des ID jetons.
Exemple de valeur renvoyée :

Dans l'exemple suivant, l'ID jeton FNFT représente un jeton non fongible fractionnaire et l'ID jeton FT représente un jeton fongible.

[
    {
        "orgId": "appdev",
        "userId": "idcqa",
        "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "tokenAccountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "tokenId": "FNFT",
        "balance": 100
    },
    {
        "orgId": "appdev",
        "userId": "idcqa",
        "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "tokenAccountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
        "tokenId": "FT",
        "balance": 50
    },
    {
        "orgId": "appdev",
        "userId": "user1_minter",
        "userAccountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
        "tokenAccountId": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "tokenId": "FNFT",
        "balance": 10
    }
]
batchTransferFrom
Nom de la méthode initiale : batchTransferFrom
Cette méthode POST termine une opération par lots qui transfère les jetons spécifiés dans une liste d'ID jeton d'un utilisateur à un autre.
Données utiles :
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
Paramètres :
  • fromOrgId: string - ID fournisseur de services d'adhésion (MSP) de l'expéditeur et du responsable du jeton dans l'organisation courante.
  • fromUserId: string - Nom d'utilisateur ou ID courriel de l'expéditeur et du responsable du jeton.
  • toOrgId: string - ID fournisseur de services d'adhésion (MSP) du destinataire dans l'organisation courante.
  • toUserId: string - Nom d'utilisateur ou ID courriel du destinataire.
  • tokenIds: string[] - Liste des ID jetons pour les jetons à transférer.
  • quantity: number[] - Liste des quantités de jetons à transférer, correspondant au tableau d'ID jeton.
Retourne :
  • En cas de succès, un message contenant les détails de chaque transfert de jeton.
Exemple de valeur renvoyée :
[
    {
        "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    }
]
burnBatch
Nom de la méthode initiale : burnBatch
Cette méthode POST désactive ou grave les jetons spécifiés. Tout utilisateur ayant le rôle de brûleur peut appeler cette méthode.
Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel.
  • tokenIds: string[] - Liste des ID jetons à graver
  • quantity: number[] - Liste des quantités de jetons à graver, correspondant au tableau d'ID jeton.
Retourne :
  • En cas de succès, un message contenant des détails sur les opérations de gravure.
Exemple de valeur renvoyée :
[
  {
    "msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: idcqa)"
  },
  {
    "msg": "Successfully burned 5 tokens of tokenId: tokenOne from Account-ID oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
  },
  {
    "msg": "Successfully burned 2 token share of tokenId: FNFT from Account-ID oaccount~87bcb699d507368ee3966cd03ee6d7736ffc55dde8c0f0e16b14866334ac504a (Org-Id: AutoF1377358917, User-Id: idcqa)"
  }
]
createAccount
Nom de la méthode initiale : createAccount
Cette méthode POST crée un compte pour un utilisateur spécifié et les comptes de jeton associés pour les jetons. Un compte doit être créé pour tout utilisateur qui aura des jetons à tout moment. Le compte utilisateur suit le compte NFT et les comptes jetons fongibles qu'un utilisateur détient. Les utilisateurs doivent avoir des comptes dans le réseau pour effectuer les opérations liées aux jetons. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne.

Un compte d'utilisateur a un ID unique, qui est formé par un hachage SHA-256 du paramètre orgId et du paramètre userId.

Un utilisateur peut avoir plusieurs comptes de jeton fongibles avec des ID de compte uniques. Les ID compte de jeton fongible sont formés par un hachage SHA-256 du paramètre orgId, du paramètre userId, de la chaîne constante ft séparée par le symbole tilde (~), et d'un numéro de compteur qui signifie l'index du compte fongible en cours de création séparé par le symbole tilde (~).

Un utilisateur ne peut avoir qu'un seul compte de jeton non fongible. Les ID compte de jeton non fongibles sont uniques et sont formés par un hachage SHA-256 du paramètre orgId, du paramètre userId et de la chaîne constante nft séparés par le symbole tilde (~). Tous les jetons non fongibles qu'un utilisateur possède, qu'ils soient entiers ou fractionnaires, sont liés à ce compte.

Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "ftAccount": true,
 "nftAccount": true,
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId - ID fournisseur de services d'adhésion (MSP) de l'utilisateur pour lequel créer le compte. L'ID doit commencer par un caractère alphanumérique et peut inclure des lettres, des chiffres et des caractères spéciaux tels que les traits de soulignement (_), les points (.), les signes (@) et les tirets (-).
  • userId - Nom d'utilisateur ou ID courriel de l'utilisateur. L'ID doit commencer par un caractère alphanumérique et peut inclure des lettres, des chiffres et des caractères spéciaux tels que les traits de soulignement (_), les points (.), les signes (@) et les tirets (-).
  • ftAccount: boolean - Si la valeur est Vrai, un compte de jeton fongible est créé et associé au compte d'utilisateur.
  • nftAccount: boolean - Si la valeur est Vrai, un compte de jeton non fongible est créé et associé au compte d'utilisateur.
Retourne :
  • En cas de réussite, un objet JSON du compte qui a été créé.
Exemple de valeur renvoyée :
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
  "userId": "user1",
  "orgId": "appdev",
  "totalAccounts": 2,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
createAccountWithEnrollment
Nom de la méthode initiale : createAccountWithEnrollment
Cette méthode POST crée une inscription pour un utilisateur au mandataire REST de l'instance et crée un compte NFT dans le code de chaîne du marché des obligations.
Données utiles :
{
 "orgId": "orgId value",
 "userId": "userId value"
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de réussite, un objet JSON du compte qui a été créé.
Exemple de valeur renvoyée :
{
 "blockNumber": 44,
 "encode": "JSON",
 "payload": {
 "accountId": "ouaccount~1930ec223036c0fe2ea97c58fd9a8d2456d13c0fd0c98217ce075ceddb8add02",
 "assetType": "ouaccount",
 "associatedFtAccounts": [],
 "associatedNftAccount": "oaccount~03f8a6949f6c5c453354a4a8eed8503a39766085b476430e95ce305769fba861",
 "orgId": "BondMPTest",
 "totalAccounts": 1,
 "totalFtAccounts": 0,
 "userId": "u14"
 },
 "sourceURL": "bondmptest-oabcs1-iad.blockchain.ocp.example.com:20010",
 "txid": "9fa75a631f0de2ddf2ed85742dcc4d4b97b7afb0d3f9a07988e5cb9120ed633f"
}
createBondToken
Nom de la méthode initiale : createBondToken
Cette méthode POST crée des jetons. Chaque jeton défini a sa propre méthode de création. Pour les jetons non fongibles, l'appelant de cette méthode devient le propriétaire de la NFT. Si le comportement roles est défini dans la propriété behaviors du modèle de jeton et qu'une valeur minter_role_name est spécifiée, le compte de l'appelant doit avoir le rôle d'instance de filtrage.
Données utiles :
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"tokenMetadata\":{\"ISIN\":\"ISIN value\",\"Segment\":\"Segment value\",\"Issuer\":\"Issuer value\",\"FaceValue\":999,\"IssueSize\":999,\"CouponRate\":999,\"InterestPaymentType\":\"InterestPaymentType value\",\"InterestFrequency\":\"InterestFrequency value\",\"IssueDate\":\"2023-03-28T15:16:36+00:00\",\"MaturityDate\":\"2023-03-28T15:16:36+00:00\"},\"status\":\"status value\"}",
 "quantity": 1,
 "sameOrgEndorser": true
}
Paramètres :
  • tokenAsset: <Token Class> - Ressource de jeton. Les propriétés de la ressource sont définies dans le fichier de modèle.
  • quantity: number - Nombre de jetons à menthe. La seule valeur prise en charge pour ce paramètre est 1.
Retourne :
  • En cas de réussite, un objet JSON du compte qui a été créé.
Exemple de valeur renvoyée :
{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
createIDSCUser
Nom de la méthode initiale : createIDCSUser
Cette méthode POST crée un utilisateur Identity Cloud Service dans la location spécifiée par l'URL dans le fichier terraform.tfvars et affecte l'utilisateur au groupe d'utilisateurs spécifié.
Données utiles :
{
 "userName": "userName value",
 "firstName": "firstName value",
 "lastName": "lastName value",
 "email": "email value",
 "groupName": "groupName value"
}
Paramètres :
  • userName: string - ID de l'utilisateur.
  • firstName: string - Prénom de l'utilisateur.
  • lastName: string - Nom de l'utilisateur.
  • email: string - Adresse de courriel de l'utilisateur.
  • groupName: string - Nom du groupe Identity Cloud Service à affecter à l'utilisateur.
Exemple de valeur renvoyée :
{
 "status": "Success",
 "msg": "User user1 is created and assigned to the group BOND_ADMIN"
}
createTokenAccount
Nom de la méthode initiale : createTokenAccount
Cette méthode POST crée un compte de jeton fongible ou non fongible à associer à un compte d'utilisateur.

Un utilisateur peut avoir plusieurs comptes de jeton fongibles avec des ID de compte uniques. Les ID compte de jeton fongible sont formés par un hachage SHA-256 du paramètre orgId, du paramètre userId, de la chaîne constante ft séparée par le symbole tilde (~), et d'un numéro de compteur qui signifie l'index du compte fongible en cours de création séparé par le symbole tilde (~).

Un utilisateur ne peut avoir qu'un seul compte de jeton non fongible. Les ID compte de jeton non fongibles sont uniques et sont formés par un hachage SHA-256 du paramètre orgId, du paramètre userId et de la chaîne constante nft séparés par le symbole tilde (~). Tous les jetons non fongibles qu'un utilisateur possède, qu'ils soient entiers ou fractionnaires, sont liés à ce compte.

Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne.

Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenType": "nonfungible",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • tokenType: TokenType - Type de compte de jeton à créer. Les seuls types de jeton pris en charge sont nonfungible et fungible.
Retourne :
  • En cas de réussite, un objet JSON du compte de jeton créé.
Exemple de valeur renvoyée :
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 1,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": ""
}
createUserAccount
Nom de la méthode initiale : createUserAccount
Cette méthode POST crée un compte pour un utilisateur spécifié. Un compte doit être créé pour tout utilisateur qui aura des jetons à tout moment. Le compte utilisateur suit le compte NFT et les comptes jetons fongibles qu'un utilisateur possède. Les utilisateurs doivent avoir des comptes dans le réseau pour effectuer les opérations liées aux jetons.

Un ID compte est un hachage SHA-256 du paramètre orgId et du paramètre userId. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne.

Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de réussite, un objet JSON du compte d'utilisateur qui a été créé.
Exemple de valeur renvoyée :
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 0,
  "totalFtAccounts": 0,
  "associatedFtAccounts": [],
  "associatedNftAccount": ""
}
deleteAccount
Nom de la méthode initiale : deleteAccount
Cette méthode POST supprime un compte de jeton. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne. Cette méthode génère une erreur si une valeur accountStatus pour le compte est introuvable dans le livre.
Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de succès, une représentation JSON du statut du compte de jeton.
Exemple de valeur renvoyée :
{
  "assetType": "oaccountStatus",
  "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
getAccount
Nom de la méthode initiale : getAccount
Cette méthode GET retourne les détails du compte de jeton pour un utilisateur spécifié. Cette méthode ne peut être appelée que par Token Admin du code de chaîne ou par Account Owner du compte.
Interrogation :
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • tokenId?: string - Pour un compte de jeton non fongible, une chaîne vide. Pour un compte de jeton fongible, l'ID jeton.
Retourne :
  • En cas de réussite, un objet JSON qui inclut les détails du compte de jeton.
Exemple de valeur retournée
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountBondSummary
Nom de la méthode initiale : getAccountBondSummary
Cette méthode GET retourne un sommaire de compte pour l'utilisateur spécifié, y compris les détails des jetons achetés ou échangés et leurs prix d'achat et d'échange.
Interrogation :
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de réussite, un objet JSON qui inclut le sommaire du compte de jeton.
Exemple de valeur retournée
[
 {
   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"bond1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
getAccountBondSummaryWithPagination
Nom de la méthode initiale : getAccountBondSummaryWithPagination
Cette méthode GET retourne un sommaire de compte pour l'utilisateur spécifié, y compris les détails des jetons achetés ou échangés et leurs prix d'achat et d'échange. Cette méthode peut renvoyer des résultats avec pagination basée sur les valeurs de format de page et de signet, et également filtrée par heure de début et heure de fin.
Interrogation :
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • pageSize: number - Taille de page du résultat retourné.
  • bookmark: string - Signet du résultat retourné.
Retourne :
  • En cas de réussite, un objet JSON qui inclut le sommaire du compte de jeton.
Exemple de valeur retournée
[
 {

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"bond1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
getAccountDetailsByUser
Nom de la méthode initiale : getAccountDetailsByUser
Cette méthode GET retourne un sommaire de compte pour un utilisateur spécifié et les détails des jetons fongibles et non fongibles qui sont associés à l'utilisateur. Cette méthode ne peut être appelée que par Token Admin du code de chaîne ou par Account Owner du compte.
Interrogation :
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de succès, un objet de compte JSON qui inclut et récapitule le compte pour l'utilisateur spécifié et les détails des jetons fongibles et non fongibles associés à l'utilisateur. Pour les jetons non fongibles fractionnaires, la propriété tokenShare dans la section associatedNFTs affiche le partage dont l'utilisateur est responsable.
Exemple de valeur renvoyée :
{
    "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
    "associatedFTAccounts": [
        {
            "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
            "tokenId": "FT",
            "balance": 50
        }
    ],
    "associatedNFTAccount": {
        "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "associatedNFTs": [
            {
                "nftTokenId": "FNFT",
                "tokenShare": 100
            },
            {
                "nftTokenId": "FNFT2",
                "tokenShare": 110
            },
            {
                "nftTokenId": "NFT"
            }
        ]
    }
}
getAccountStatus
Nom de la méthode initiale : getAccountStatus
Cette méthode GET extrait le statut courant du compte de jeton. Cette méthode peut être appelée par la chaîne Token Admin du code de chaîne ou par le responsable du compte de jeton.
Interrogation :
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de succès, une représentation JSON du statut du compte de jeton.
Exemple de valeur renvoyée :
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
getAccountStatusHistory
Nom de la méthode initiale : getAccountStatusHistory
Cette méthode GET extrait l'historique du statut du compte. Cette méthode peut être appelée par la chaîne Token Admin du code de chaîne ou par le responsable du compte de jeton.
Interrogation :
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de succès, l'historique des statuts de compte au format JSON.
Exemple de valeur renvoyée :
[
  {
    "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
    "timeStamp": "2022-12-02T10:39:14.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "suspended"
    }
  },
  {
    "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
    "timeStamp": "2022-12-02T10:37:50.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "active"
    }
  }
]
getAccountTransactionHistory
Nom de la méthode initiale : getAccountTransactionHistory
Cette méthode GET retourne l'historique des transactions de compte. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne ou par le responsable du compte.
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Exemple de valeur renvoyée :
[
    {
        "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~7c88c736df38d5622512f1e8dcdd50710eb47c953f1ecb24ac44790a9e2f475b",
        "timestamp": "2023-06-06T14:48:08.000Z",
        "tokenId": "FNFT",
        "transactedAmount": 10,
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "transactionType": "DEBIT",
        "balance": 90
    },
    {
        "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~178e3730bc5bee50d02f1464a4eebf733a051905f651e5789039adb4a3edc114",
        "timestamp": "2023-06-06T14:48:08.000Z",
        "tokenId": "NFT",
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "transactionType": "DEBIT"
    },
    {
        "transactionId": "otransaction~c369929e28e78de06c72d020f1418c9a154a7dd280b2e22ebb4ea4485e249124~a7cefb22ff39ee7e36967be71de27da6798548c872061a62dabc56d88d50b930",
        "timestamp": "2023-06-06T14:47:08.000Z",
        "tokenId": "NFT",
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "transactionType": "MINT"
    },
    {
        "transactionId": "otransaction~114a1bc78d04be48ee6dc140c32c042ee9481cb118959626f090eec744522422~e4eb15d9354f694230df8835ade012100d82aa43672896a2c7125a86e3048f9f",
        "timestamp": "2023-06-05T17:17:57.000Z",
        "tokenId": "FNFT",
        "transactedAmount": 100,
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "transactionType": "MINT",
        "balance": 100
    }
]
getAccountsByRole
Nom de la méthode initiale : getAccountsByRole
Cette méthode GET retourne une liste de tous les ID compte pour un rôle et un jeton spécifiés.
Interrogation :
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Paramètres :
  • role: string - Nom du rôle à rechercher.
  • tokenDetail: JSON - Pour les jetons fongibles, ID jeton. Pour les jetons non fongibles, nom de jeton obligatoire.
Exemple de valeur renvoyée :
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
Nom de la méthode initiale : getAllAccounts
Cette méthode GET retourne les détails de tous les comptes d'utilisateur. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne.
Interrogation :
/getAllAccounts
Paramètres :
  • aucune
Retourne :
  • En cas de succès, un tableau JSON de tous les comptes.
Exemple de valeur renvoyée :
[
        {
            "assetType": "ouaccount",
            "accountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
            "userId": "user2",
            "orgId": "appdev",
            "totalAccounts": 2,
            "totalFtAccounts": 1,
            "associatedFtAccounts": [
                {
                    "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
                    "tokenId": "loy1"
                }
            ],
            "associatedNftAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371"
        },
        {
            "assetType": "ouaccount",
            "accountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
            "userId": "user1_minter",
            "orgId": "appdev",
            "totalAccounts": 2,
            "totalFtAccounts": 1,
            "associatedFtAccounts": [
                {
                    "accountId": "oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c",
                    "tokenId": "loy1"
                }
            ],
            "associatedNftAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446"
        },
    ]
getAllTokenAdmins
Nom de la méthode initiale : getAllTokenAdmins
Cette méthode GET retourne une liste de tous les utilisateurs qui sont un Token Admin du code de chaîne. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne.
Interrogation :
/getAllTokenAdmins
Paramètres :
  • aucune
Retourne :
  • En cas de succès, un tableau admins au format JSON contenant les objets orgId et userId.
Exemple de valeur renvoyée :
{
  "admins": [
    {
      "orgId": "appdev",
      "userId": "user2"
    },
    {
      "orgId": "appdev",
      "userId": "user1"
    }
  ]
}
getAllTokens
Nom de la méthode initiale : getAllTokens
Cette méthode retourne toutes les ressources de jeton enregistrées dans la base de données d'état. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne. Cette méthode utilise des interrogations SQL enrichies Berkeley DB et ne peut être appelée que lorsqu'elle est connectée au réseau Oracle Blockchain Platform distant.
/getAllTokens
Paramètres :
  • aucune
Retourne :
  • Liste de toutes les ressources de jeton au format JSON.
Exemple de valeur renvoyée :
[{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "status value"
}]
getAllTokensByUser
Nom de la méthode initiale : getAllTokensByUser
Cette méthode GET retourne toutes les ressources de jeton appartenant à un utilisateur spécifié. Cette méthode utilise des interrogations SQL enrichies Berkeley DB et ne peut être appelée que lorsqu'elle est connectée au réseau Oracle Blockchain Platform distant. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne ou par le responsable du compte.
Interrogation :
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Exemple de valeur renvoyée :
[{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "status value"
}]
getAllTokensWithFilters
Nom de la méthode initiale : getAllTokensWithFilters
L'administrateur peut appeler cette méthode GET pour extraire tous les jetons filtrés par statut.
Interrogation :
/getAllTokensWithFilters?status=status&pageSize=pageSize&bookmark=bookmark
Paramètres :
  • status: string - Statut du jeton, qui peut être CREATED ou POSTED.
  • pageSize: number - Taille de page du résultat retourné.
  • bookmark: string - Signet du résultat retourné.
Exemple de valeur renvoyée :
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getTokenApprovalRequestByUser
Nom de la méthode initiale : getTokenApprovalRequestByUser
Tout titulaire de compte peut appeler cette méthode GET pour obtenir les détails de toutes les demandes d'approbation de jeton (demandes d'échange) qu'il a effectuées.
Interrogation :
/getTokenApprovalRequestByUser?status=status value
Paramètres :
  • status: string - Statut de la demande, qui peut être PENDING, REJECTED ou APPROVED.
Exemple de valeur renvoyée :
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenApprovalRequestForUserByStatus
Nom de la méthode initiale : getTokenApprovalRequestByUser
Tout titulaire de compte peut appeler cette méthode GET pour obtenir les détails de toutes les demandes d'approbation de jeton (demandes d'échange) qu'il a effectuées.
Interrogation :
/getTokenApprovalRequestForUserByStatus?status=status value
Paramètres :
  • status: string - Statut de la demande, qui peut être PENDING, REJECTED ou APPROVED.
Exemple de valeur renvoyée :
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenById
Nom de la méthode initiale : getTokenById
Cette méthode GET retourne un objet de jeton si le jeton est présent dans la base de données d'état. Pour les NFT fractionnaires, la liste des propriétaires est également retournée. Cette méthode ne peut être appelée que par Token Admin du code de chaîne ou du responsable du jeton.
Interrogation :
/getTokenById?tokenId={{bc-token-id}}
Paramètres :
  • tokenId: string - ID du jeton à obtenir.
Exemple de valeur renvoyée :
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getTokenHistory
Nom de la méthode initiale : getTokenHistory
Cette méthode GET retourne l'historique pour un ID jeton spécifié.
Interrogation :
/getTokenHistory?tokenId={{bc-token-id}}
Paramètres :
  • tokenId: string - ID du jeton.
Retourne :
  • En cas de succès, un tableau JSON contenant l'historique des jetons.
Exemple de valeur renvoyée :
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getUsersByRole
Nom de la méthode initiale : getUsersByRole
Cette méthode retourne une liste de tous les utilisateurs pour un rôle et un jeton spécifiés. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne.
Interrogation :
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Paramètres :
  • role: string - Nom du rôle à rechercher.
  • tokenDetail: JSON - Pour les jetons fongibles, ID jeton. Pour les jetons non fongibles, nom de jeton obligatoire.
Exemple de valeur renvoyée :
{
    "users": [
        {
            "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
            "orgId": "appdev",
            "userId": "user2"
        },
        {
            "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
            "orgId": "appdev",
            "userId": "user1"
        }
    ]
}
init
Nom de la méthode initiale : init
Cette méthode POST est appelée lorsque le code de chaîne est instancié. Chaque valeur Token Admin est identifiée par les informations userId et orgId dans le paramètre adminList. userId est le nom d'utilisateur ou l'ID courriel du responsable de l'instance ou de l'utilisateur qui est connecté à l'instance. orgId est l'ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation de réseau courante. Le paramètre adminList est obligatoire lors du premier déploiement du code de chaîne. Si vous mettez à niveau le code de chaîne, transmettez une liste vide ([]). Si vous êtes l'utilisateur qui a initialement déployé le code de chaîne, vous pouvez également spécifier de nouveaux administrateurs dans le paramètre adminList lors de la mise à niveau du code de chaîne. Toutes les autres informations du paramètre adminList sont ignorées lors des mises à niveau.
Données utiles :
{
 "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
Paramètres :
  • adminList array - Tableau d'informations {orgId, userId} qui spécifie la liste des administrateurs de jetons. Le tableau adminList est un paramètre obligatoire.
Retourne :
  • En cas de succès, un message sans données utiles.
Exemple de valeur renvoyée :
{
}
isInRole
Nom de la méthode initiale : isInRole
Cette méthode GET retourne une valeur booléenne pour indiquer si un utilisateur a un rôle spécifié. Les jetons non fongibles sont spécifiés par le nom du jeton. Cette méthode ne peut être appelée que par Token Admin du code de chaîne ou par Account Owner du compte. L'utilisateur spécifié doit avoir un compte de jeton associé au jeton fongible ou un compte de jeton non fongible pour les rôles NFT. Le rôle spécifié doit exister dans le fichier de spécification pour le jeton.
Interrogation :
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • role: string - Nom du rôle à rechercher.
  • tokenDetails: TokenDetail - Détails qui spécifient le jeton. Pour les jetons non fongibles, utilisez le format suivant :
    {"tokenName":"artCollection"}
Exemple de valeur renvoyée :
{
    "result": true,
    "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa) has minter role"
}
isTokenAdmin
Nom de la méthode initiale : isTokenAdmin
Cette méthode GET retourne la valeur booléenne true si l'appelant de la fonction est Token Admin, sinon elle retourne false. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne.
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • La méthode retourne true si l'appelant est un Token Admin, sinon elle retourne false.
Exemple de valeur renvoyée :
{"result": true}
mintBatch
Nom de la méthode initiale : mintBatch
Cette méthode POST crée (mine) plusieurs jetons dans une opération par lots. Cette méthode ne crée que des jetons fongibles ou des jetons fractionnaires non fongibles.

Pour les jetons fongibles, si le rôle de mineur est défini dans le fichier de spécification, tout utilisateur doté du rôle de mineur peut appeler cette méthode. Sinon, n'importe quel utilisateur peut utiliser cette méthode pour mentonner des jetons. Vous ne pouvez pas extraire plus de la propriété max_mint_quantity du jeton, si cette propriété a été spécifiée lors de la création ou de la mise à jour du jeton.

Pour les jetons non fongibles, si le rôle de mineur est défini dans le fichier de spécification, tout utilisateur doté du rôle de mineur peut appeler cette méthode. Sinon, n'importe quel utilisateur peut utiliser cette méthode pour mentonner des jetons. En outre, l'appelant doit également être le créateur du jeton. Il n'y a pas de limite supérieure à la quantité de jetons fractionnaires non fongibles qui peuvent être frappés.

Vous ne pouvez pas utiliser cette méthode pour extraire un jeton non fongible entier.

Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • tokenIds: string[] - Liste des ID jetons pour lesquels créer des jetons.
  • quantity: number[] - Liste des quantités de jetons à menthe, correspondant au tableau d'ID jeton.
Retourne :
  • En cas de réussite, un objet JSON qui inclut les détails sur les jetons frappés.
Exemple de valeur renvoyée :
{
    "msg": "Successfully minted batch of tokens for User-Account-Id ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38 (Org-Id: appdev, User-Id: idcqa).",
    "details": [
        {
            "msg": "Successfully minted 100 tokens of fractional tokenId: plot55 to Org-Id: appdev, User-Id: idcqa"
        },
        {
            "msg": "Successfully minted 100 tokens of tokenId: loyalty to Token-Account-Id oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e"
        }
    ]
}
ownerOf
Nom de la méthode initiale : ownerOf
Cette méthode GET retourne l'ID compte, l'ID organisation et l'ID utilisateur du responsable de l'ID jeton spécifié. Tout le monde peut appeler cette méthode.
Interrogation :
/ownerOf?tokenId={{bc-token-id}}
Paramètres :
  • tokenId: string - ID du jeton.
Exemple de valeur renvoyée :
[
    {
        "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
        "orgId": "Org1MSP",
        "userId": "admin"
    },
    {
        "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
        "orgId": "Org1MSP",
        "userId": "user"
    }
]
payInterest
Nom de la méthode initiale : ownerOf
Cette méthode POST ne peut être appelée que par le créateur du jeton ou l'administrateur pour payer les intérêts gagnés sur le jeton d'obligation. Cette méthode ne peut être appelée que si la fréquence d'intérêt du jeton est mensuelle, trimestrielle ou annuelle. Les intérêts ne peuvent pas être payés si la fréquence des intérêts est à l'échéance. L'intérêt est calculé par le code de chaîne en fonction du taux de coupon du jeton. L'opération d'achat transfère les jetons CBDC du compte de l'appelant au compte du propriétaire de l'obligation. Pour cette raison, cette méthode doit être exécutée dans le contexte d'une transaction atomique. La méthode vérifie également le processus de transfert, en veillant à ce que le code de chaîne CBDC approprié soit appelé avec les valeurs orgId et userId appropriées pour le transfert. Les valeurs orgId et userId doivent correspondre au responsable du jeton et la valeur de transfert du jeton CBDC doit être égale à l'intérêt calculé par le code de chaîne de la liaison.
Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "CBDCTokenId": "CBDCTokenId value",
 "CBDCFromOrgId": "CBDCFromOrgId value",
 "CBDCFromUserId": "CBDCFromUserId value",
 "CBDCQuantity": 0,
 "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • tokenId: string - ID du jeton.
  • orderId: string - ID commande de l'opération.
  • CBDCTokenId: string - ID du jeton dans le code de chaîne CBDC.
  • CBDCOrgId: string - ID MSP de l'utilisateur dans le code de chaîne CBDC.
  • CBDCUserId: string - Nom d'utilisateur ou ID courriel de l'utilisateur dans le code de chaîne CBDC.
  • CBDCQuantity: string - Quantité de jetons à transférer dans le code de chaîne CBDC.
  • CBDCRemark: string - Une remarque pour le transfert dans le code de chaîne CBDC, qui doit être dans le format indiqué précédemment.
Exemple de valeur renvoyée :
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
postBondToken
Nom de la méthode initiale : postBondToken
Cette méthode POST ne peut être appelée que par un créateur de jeton. La méthode soumet le jeton d'obligation pour l'inscription sur le marché des applications. Lorsqu'un jeton est créé, son statut est initialement réglé à created. Cette méthode met à jour le statut à posted. Les utilisateurs peuvent exécuter la méthode getAllTokensWithFilter pour extraire tous les NFT ayant un statut posted.
Données utiles :
{
 "tokenId": "{{bc-token-id}}",
 "sameOrgEndorser": true
}
Paramètres :
  • tokenId: string - ID du jeton à publier.
Exemple de valeur renvoyée :
{
         "isValid":true,
         "payload":{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"created"
         },
         "message":"Successfully updated asset with ID bond1"
      }
purchaseBondToken
Nom de la méthode initiale : purchaseBondToken
Cette méthode POST peut être appelée par n'importe quel titulaire de compte pour acheter une obligation cotée NFT. L'achat transfère l'obligation NFT du compte du créateur au compte de l'appelant, et transfère les jetons CBDC du compte de l'appelant au compte du créateur. Pour cette raison, la méthode doit être exécutée dans le contexte d'une transaction atomique. La méthode vérifie également le processus de transfert, en veillant à ce que le code de chaîne CBDC approprié soit appelé avec les valeurs orgId et userId appropriées pour le transfert. Les valeurs orgId et userId doivent correspondre au créateur du jeton, et la valeur de transfert du jeton CBDC doit être égale à la valeur faciale du jeton de liaison multipliée par la quantité achetée.
Données utiles :
{
 "tokenId": "{{bc-token-id}}",
 "quantity": 1,
 "orderId": "orderId value",
 "additionalFees": 1,
 "CBDCTokenId": "CBDCTokenId value",
 "CBDCFromOrgId": "CBDCFromOrgId value",
 "CBDCFromUserId": "CBDCFromUserId value",
 "CBDCQuantity": 0,
 "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • tokenId: string - ID du jeton à acheter.
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • settlementId: string - ID règlement de l'opération.
  • CBDCTokenId: string - ID du jeton dans le code de chaîne CBDC.
  • CBDCOrgId: string - ID MSP de l'utilisateur dans le code de chaîne CBDC.
  • CBDCUserId: string - Nom d'utilisateur ou ID courriel de l'utilisateur dans le code de chaîne CBDC.
  • CBDCQuantity: string - Quantité de jetons à transférer dans le code de chaîne CBDC.
  • CBDCRemark: string - Une remarque pour le transfert dans le code de chaîne CBDC, qui doit être dans le format indiqué précédemment.
Exemple de valeur renvoyée :
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
rejectBondRedemption
Nom de la méthode initiale : rejectBondRedemption
Le créateur du jeton peut appeler cette méthode POST pour rejeter la demande d'échange. Les propriétaires de jetons peuvent soumettre à nouveau une demande d'échange en utilisant un autre ID règlement.
Données utiles :
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • fromOrgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur.
  • fromUserId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • settlementId: string - ID règlement pour l'opération d'échange.
  • tokenId: string - ID du jeton.
Exemple de valeur renvoyée :
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
removeRole
Nom de la méthode initiale : removeRole
Cette méthode POST supprime un rôle d'un utilisateur et d'un jeton spécifiés. Les jetons fongibles sont spécifiés par l'ID jeton. Les jetons non fongibles sont spécifiés par le nom du jeton. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne.
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "role": "role value (for example minter / burner)",
 "tokenDetail": "{\"tokenName\":\"tokenName value\"}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
  • role: string - Nom du rôle à supprimer de l'utilisateur spécifié.
  • tokenDetails: TokenDetail - Détails qui spécifient le jeton. Pour les jetons non fongibles, utilisez le format suivant :
    {"tokenName":"artCollection"}
Exemple de valeur renvoyée :
{
  "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
removeTokenAdmin
Nom de la méthode initiale : removeTokenAdmin
Cette méthode POST supprime un utilisateur en tant que Token Admin du code de chaîne. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne. Vous ne pouvez pas vous supprimer en tant que Token Admin.
Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "sameOrgEndorser": true
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de réussite, un message contenant les détails de l'utilisateur qui a été supprimé comme Token Admin du code de chaîne.
Exemple de valeur renvoyée :
{"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"}
requestBondRedemption
Nom de la méthode initiale : requestBondRedemption
Cette méthode POST ne peut être appelée que par le propriétaire du jeton pour émettre une demande de rachat de jetons d'obligations après l'échéance. Cette méthode implique également le calcul du prix d'échange par le code de chaîne. Les demandes d'échange ne peuvent être générées que sur la quantité totale du jeton d'obligation dont l'utilisateur est propriétaire. Les utilisateurs peuvent lancer plusieurs demandes d'échange en fonction de différents ID règlement, mais une seule peut être approuvée par le créateur du jeton.
Données utiles :
{
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "additionalFees": 1,
 "endorsers": {{endorsers}}
}
Paramètres :
  • settlementId: string - ID règlement pour l'opération d'échange.
  • tokenId: string - ID du jeton.
  • orderId: string - ID commande de l'opération d'achat.
  • additionalFees: number - Les frais supplémentaires à ajouter au prix d'échange.
Exemple de valeur renvoyée :
{
         "tokenName":"bond",
         "assetType":"otokenApproval",
         "id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "settlementId":"op4",
         "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "tokenId":"bond1",
         "quantity":1,
         "status":"PENDING",
         "orderId":"op4",
         "redeemPrice":11

}
safeBatchTransferFrom
Nom de la méthode initiale : safeBatchTransferFrom
Cette méthode POST termine une opération par lots qui transfère les jetons spécifiés dans une liste d'ID jeton d'un utilisateur à un autre.

Dans le cas des TNF, puisque la méthode transfère la propriété de la TNF, l'expéditeur de la TNF doit posséder le jeton.

Pour les NFT fractionnaires, si un utilisateur (y compris le créateur du jeton) transfère toutes les actions qu'il possède, il perd la propriété du jeton. Si une part d'un jeton est transférée à un utilisateur, cet utilisateur devient automatiquement l'un des propriétaires de la fraction NFT.

L'appelant de la méthode doit être l'expéditeur spécifié.

{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
Paramètres :
  • fromOrgId: string - ID fournisseur de services d'adhésion (MSP) de l'expéditeur et du responsable du jeton dans l'organisation courante.
  • fromUserId: string - Nom d'utilisateur ou ID courriel de l'expéditeur et du responsable du jeton.
  • toOrgId: string - ID fournisseur de services d'adhésion (MSP) du destinataire dans l'organisation courante.
  • toUserId: string - Nom d'utilisateur ou ID courriel du destinataire.
  • tokenIds: string[] - Liste des ID jetons pour les jetons à transférer.
  • quantity: number[] - Liste des quantités de jetons à transférer, correspondant au tableau d'ID jeton.
Retourne :
  • En cas de succès, un message contenant les détails de chaque transfert de jeton.
Exemple de valeur renvoyée :
[
    {
        "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    }
]
suspendAccount
Nom de la méthode initiale : suspendAccount
Cette méthode POST suspend un compte de jeton. Cette méthode ne peut être appelée que par un élément Token Admin du code de chaîne. Une fois qu'un compte est suspendu, vous ne pouvez pas effectuer d'opérations qui mettent à jour le compte. Un compte supprimé ne peut pas être suspendu.
Données utiles :
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string - ID fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation courante.
  • userId: string - Nom d'utilisateur ou ID courriel de l'utilisateur.
Retourne :
  • En cas de succès, une représentation JSON du statut du compte de jeton.
Exemple de valeur renvoyée :
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
updateBondToken
Nom de la méthode initiale : updateBondToken
Cette méthode POST met à jour les jetons. Chaque jeton défini a sa propre méthode de mise à jour. Vous ne pouvez pas mettre à jour les métadonnées de jeton ou l'URI de jeton des jetons non fongibles. Cette méthode ne peut être appelée que par le propriétaire du jeton.
Données utiles :
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"status\":\"status value\", \"tokenMetadata\":{\"ISIN\":\"ISIN value\",\"Segment\":\"Segment value\",\"Issuer\":\"Issuer value\",\"FaceValue\":999,\"IssueSize\":999,\"CouponRate\":999,\"InterestPaymentType\":\"InterestPaymentType value\",\"InterestFrequency\":\"InterestFrequency value\",\"IssueDate\":\"2023-03-28T15:16:36+00:00\",\"MaturityDate\":\"2023-03-28T15:16:36+00:00\"},\"status\":\"status value\"}",
 "sameOrgEndorser": true
}
Paramètres :
  • tokenAsset: <Token Class> - Ressource de jeton. Les propriétés de la ressource sont définies dans le fichier de modèle.
Retourne :
  • En cas de succès, la ressource de jeton mise à jour au format JSON.
Exemple de valeur de retour (NFT entier)
{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
URI
Nom de la méthode initiale : URI
Cette méthode retourne l'URI d'un jeton spécifié.
Interrogation :
/URI?tokenId={{bc-token-id}}
Paramètres :
  • tokenId: string - ID du jeton.
Exemple de valeur renvoyée :
{
    "tokenUri": "example.com"
}
Le tableau suivant présente le mappage entre les noms d'API de chaîne de code et les points d'extrémité mis à jour. Pour des informations détaillées sur l'API de chaîne de code, voir Projet de jeton TypeScript réparti dans Blockchain App Builder pour Oracle Blockchain Platform.
Point d'extrémité mis à jour Nom de l'API de chaîne de blocs TypeScript Aller au nom de l'API de code de chaîne Type de méthode
activateAccount activateAccount ActivateAccount Méthode native ERC-1155
addAdmin addAdmin AddAdmin Méthode native ERC-1155
addRole addRole AddRole Méthode native ERC-1155
approveBondRedemption approveTokenRedemption ApproveTokenRedemption Modifié
balanceOfBatch balanceOfBatch BalanceOfBatch Méthode native ERC-1155
batchTransferFrom batchTransferFrom BatchTransferFrom Méthode native ERC-1155
burnBatch burnBatch BurnBatch Méthode native ERC-1155
createAccount createAccount CreateAccount Méthode native ERC-1155
createAccountWithEnrollment createAccountWithEnrollment CreateAccountWithEnrollment Ajoutée
createBondToken createBondToken CreateBondToken Méthode native ERC-1155
createIDCSUser createIDCSUser CreateIDCSUser Ajoutée
createTokenAccount createTokenAccount CreateTokenAccount Méthode native ERC-1155
createUserAccount createUserAccount CreateUserAccount Méthode native ERC-1155
deleteAccount deleteAccount DeleteAccount Méthode native ERC-1155
getAccount getAccount GetAccount Méthode native ERC-1155
getAccountBondSummary getAccountBondSummary GetAccountBondSummary Méthode de marché obligataire
getAccountBondSummaryWithPagination getAccountBondSummaryWithPagination GetAccountBondSummaryWithPagination Méthode de marché obligataire
getAccountDetailsByUser getAccountDetailsByUser GetAccountDetailsByUser Méthode native ERC-1155
getAccountStatus getAccountStatus GetAccountStatus Méthode native ERC-1155
getAccountStatusHistory getAccountStatusHistory GetAccountStatusHistory Méthode native ERC-1155
getAccountTransactionHistory getAccountTransactionHistory GetAccountTransactionHistory Méthode native ERC-1155
getAccountsByRole getAccountsByRole GetAccountsByRole Méthode native ERC-1155
getAllAccounts getAllAccounts GetAllAccounts Méthode native ERC-1155
getAllTokenAdmins getAllTokenAdmins GetAllTokenAdmins Méthode native ERC-1155
getAllTokens getAllTokens GetAllTokens Méthode native ERC-1155
getAllTokensByUser getAllTokensByUser GetAllTokensByUser Méthode native ERC-1155
getAllTokensWithFilters getAllTokensWithFilters GetAllTokensWithFilters Méthode de marché obligataire
getTokenApprovalRequestByUser getTokenApprovalRequestByUser GetTokenApprovalRequestByUser Méthode de marché obligataire
getTokenApprovalRequestForUserByStatus getTokenApprovalRequestForUserByStatus GetTokenApprovalRequestForUserByStatus Méthode de marché obligataire
getTokenById getTokenById GetTokenById Méthode native ERC-1155
getTokenHistory getTokenHistory GetTokenHistory Méthode native ERC-1155
getUsersByRole getUsersByRole GetUsersByRole Méthode native ERC-1155
init init Init Méthode native ERC-1155
isInRole isInRole IsInRole Méthode native ERC-1155
isTokenAdmin isTokenAdmin IsTokenAdmin Méthode native ERC-1155
mintBatch mintBatch MintBatch Méthode native ERC-1155
ownerOf ownerOf OwnerOf Méthode native ERC-1155
payInterest payInterest PayInterest Modifié
postBondToken postToken PostToken Méthode de marché obligataire
purchaseBondToken purchaseToken PurchaseToken Modifié
rejectBondRedemption rejectTokenRedemption RejectTokenRedemption Méthode de marché obligataire
removeRole removeRole RemoveRole Méthode native ERC-1155
removeTokenAdmin removeTokenAdmin RemoveTokenAdmin Méthode native ERC-1155
requestBondRedemption requestTokenRedemption RequestTokenRedemption Méthode de marché obligataire
safeBatchTransferFrom safeBatchTransferFrom SafeBatchTransferFrom Méthode native ERC-1155
suspendAccount suspendAccount SuspendAccount Méthode native ERC-1155
updateBondToken updateBondToken UpdateBondToken Méthode native ERC-1155
URI URI URI Méthode native ERC-1155