Package API de wrapper de place de marché obligataire

Oracle Blockchain Platform Digital Assets Edition inclut un package d'API de wrapper qui étend l'API REST pour prendre en charge les opérations propres à un marché NFT d'obligations.

Le package d'API de wrapper utilise le service API Gateway et OCI Functions pour déployer des acheminements d'API spécifiquement pour gérer le cycle de vie NFT de Bond Marketplace. Le package d'API wrapper de bond marketplace peut être téléchargé à partir de la console Oracle Blockchain Platform. Il inclut un fichier d'archive contenant le package d'API wrapper, y compris les scripts Terraform requis pour le déploiement. Vous déployez ce fichier vers une pile Resource Manager sur Oracle Cloud Infrastructure (OCI) afin de créer les ressources Oracle nécessaires pour les API de wrapper. Elle inclut également une collection Postman qui vous permet de tester les API de wrapper déployées. La collection inclut des demandes préconfigurées avec des adresses et des charges utiles correspondant aux API définies dans le package d'API de wrapper.

API de wrapper

activateAccount
Nom de la méthode d'origine : activateAccount
Cette méthode POST active un compte de jeton. Cette méthode ne peut être appelée que par un administrateur ou un propriétaire de compte. Les comptes supprimés ne peuvent pas être activés.
Charge utile:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Paramètres :
  • tokenId: string : ID du jeton.
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, 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 d'origine : addTokenAdmin
Cette méthode POST ajoute d'autres administrateurs au code chaîne de jeton. Cette méthode ne peut être appelée que par l'administrateur de jeton du code chaîne.
Charge utile:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, message qui inclut les détails de l'utilisateur ajouté en tant que Token Admin du code chaîne.
Exemple de valeur renvoyée :
{
  "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
addRole
Nom de la méthode d'origine : 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 Token Admin du code 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 du jeton.
Charge utile:
{
    "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 du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique 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"}
Renvoie :
  • En cas de succès, 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 d'origine : 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 le NFT d'obligation du compte du propriétaire (l'utilisateur qui a émis la demande) vers le compte du créateur et transfère les jetons CBDC du créateur de l'obligation vers le 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 s'assurant que le code chaîne CBDC approprié est appelé avec les valeurs orgId et userId correctes pour le transfert. orgId et userId doivent correspondre au compte du propriétaire du jeton qui a déclenché la demande d'échange, et la valeur de transfert du jeton CBDC doit être égale au prix d'échange calculé qui a été calculé par le code chaîne lors de la génération de la demande d'échange.
Charge utile:
{
   "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 du fournisseur de services d'adhésion de l'utilisateur.
  • fromUserId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • settlementId: string – ID de règlement pour l'opération de rachat.
  • tokenId: string : ID du jeton.
  • CBDCTokenId: string : ID du jeton dans le code chaîne CBDC.
  • CBDCOrgId: string : ID MSP de l'utilisateur dans le code chaîne CBDC.
  • CBDCUserId: string : nom d'utilisateur ou ID de courriel de l'utilisateur dans le code chaîne CBDC.
  • CBDCQuantity: string : quantité de jetons à transférer dans le code chaîne CBDC.
  • CBDCRemark: string : remarque pour le transfert dans le code chaîne CBDC, qui doit être au 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 d'origine : balanceOfBatch
Cette méthode GET termine une opération par lots qui obtient le solde des comptes de jeton. Les détails du compte sont indiqués dans trois listes distinctes d'ID d'organisation, d'ID d'utilisateur et d'ID de jeton. Cette méthode ne peut être appelée que par un Token Admin du code chaîne ou par les propriétaires de compte. Les titulaires de compte ne peuvent voir les détails du solde que pour les comptes dont ils sont propriétaires.
Interroger :
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
Paramètres :
  • orgIds: string[] : liste des ID de fournisseur de services d'adhésion dans l'organisation actuelle.
  • userIds: string[] : liste du nom d'utilisateur ou des ID de courriel.
  • tokenIds: string[] : liste des ID de jeton.
Exemple de valeur renvoyée :

Dans l'exemple suivant, l'ID de jeton FNFT représente un jeton non fongible fractionnaire et l'ID de 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 d'origine : batchTransferFrom
Cette méthode POST termine une opération par lots qui transfère les jetons spécifiés dans une liste d'ID de jeton d'un utilisateur à un autre.
Charge utile:
{
 "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 du fournisseur de services d'adhésion de l'expéditeur et du propriétaire du jeton dans l'organisation actuelle.
  • fromUserId: string : nom d'utilisateur ou ID de courriel de l'expéditeur et du propriétaire du jeton.
  • toOrgId: string : ID du fournisseur de services d'adhésion du destinataire dans l'organisation actuelle.
  • toUserId: string : nom d'utilisateur ou ID courriel du destinataire.
  • tokenIds: string[] : liste des ID de jeton pour les jetons à transférer.
  • quantity: number[] : liste des quantités de jetons à transférer, correspondant au tableau d'ID de jeton.
Renvoie :
  • 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 d'origine : burnBatch
Cette méthode POST désactive ou brûle les jetons spécifiés. Tout utilisateur doté du rôle de brûleur peut appeler cette méthode.
Charge utile:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou ID de courriel.
  • tokenIds: string[] : liste des ID de jeton à graver
  • quantity: number[] : liste des quantités de jetons à graver, correspondant au tableau d'ID de jeton.
Renvoie :
  • En cas de succès, 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 d'origine : 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 assure le suivi du compte NFT et des comptes de jetons fongibles qu'un utilisateur détient. Les utilisateurs doivent disposer de comptes sur le réseau pour effectuer les opérations liées aux jetons. Cette méthode ne peut être appelée que par un Token Admin du code chaîne.

Un compte utilisateur possède un ID unique, 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 de compte de jeton fongibles sont formés par un hachage SHA-256 du paramètre orgId, le paramètre userId, la chaîne constante ft séparée par le symbole tilde (~) et un nombre de compteur qui signifie l'index du compte fongible créé séparé par le symbole tilde (~).

Un utilisateur ne peut avoir qu'un seul compte de jeton non fongible. Les ID de 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.

Charge utile:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "ftAccount": true,
 "nftAccount": true,
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId : ID du fournisseur de services d'adhésion 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 des traits de soulignement (_), des points (.), des signes arobase (@) et des tirets (-).
  • userId : nom d'utilisateur ou adresse électronique 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 des traits de soulignement (_), des points (.), des signes arobase (@) et des tirets (-).
  • ftAccount: boolean : si la valeur est True, un compte de jeton fongible est créé et associé au compte utilisateur.
  • nftAccount: boolean : si la valeur est True, un compte de jeton non fongible est créé et associé au compte utilisateur.
Renvoie :
  • En cas de succès, objet JSON du compte 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 d'origine : createAccountWithEnrollment
Cette méthode POST crée une inscription pour un utilisateur dans le proxy REST de l'instance, et crée un compte NFT dans le code chaîne du marché des obligations.
Charge utile:
{
 "orgId": "orgId value",
 "userId": "userId value"
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, objet JSON du compte 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 d'origine : createBondToken
Cette méthode POST crée des jetons. Chaque jeton défini possède sa propre méthode de création. Pour les jetons non fongibles, l'appelant de cette méthode devient le propriétaire du 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 indiquée, le compte appelant doit avoir le rôle minter.
Charge utile:
{
 "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.
Renvoie :
  • En cas de succès, objet JSON du compte 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 d'origine : createIDCSUser
Cette méthode POST crée un utilisateur Identity Cloud Service dans la location indiquée par l'URL dans le fichier terraform.tfvars et affecte l'utilisateur au groupe d'utilisateurs indiqué.
Charge utile:
{
 "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 électronique 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 d'origine : createTokenAccount
Cette méthode POST crée un compte de jeton fongible ou non fongible à associer à un compte utilisateur.

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

Un utilisateur ne peut avoir qu'un seul compte de jeton non fongible. Les ID de 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 Token Admin du code chaîne.

Charge utile:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenType": "nonfungible",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • tokenType: TokenType : type de compte de jeton à créer. Les seuls types de jeton pris en charge sont nonfungible et fungible.
Renvoie :
  • En cas de succès, 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 d'origine : 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 assure le suivi du compte NFT et des comptes de jetons fongibles dont dispose un utilisateur. Les utilisateurs doivent disposer de comptes sur le réseau pour effectuer les opérations liées aux jetons.

Un ID de 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 Token Admin du code chaîne.

Charge utile:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, objet JSON du compte utilisateur 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 d'origine : deleteAccount
Cette méthode POST supprime un compte de jeton. Cette méthode ne peut être appelée que par un Token Admin du code chaîne. Cette méthode génère une erreur si une valeur accountStatus pour le compte est introuvable dans le livre.
Charge utile:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, 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 d'origine : getAccount
Cette méthode GET renvoie les détails du compte de jeton pour un utilisateur spécifié. Cette méthode peut uniquement être appelée par Token Admin du code chaîne ou par Account Owner du compte.
Interroger :
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • tokenId?: string : pour un compte de jeton non fongible, une chaîne vide. Pour un compte de jeton fongible, ID de jeton.
Renvoie :
  • En cas de succès, objet JSON qui inclut les détails du compte de jeton.
Exemple de valeur renvoyée
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountBondSummary
Nom de la méthode d'origine : getAccountBondSummary
Cette méthode GET renvoie une synthèse 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.
Interroger :
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, objet JSON qui inclut le récapitulatif du compte de jeton.
Exemple de valeur renvoyé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 d'origine : getAccountBondSummaryWithPagination
Cette méthode GET renvoie une synthèse 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 une pagination basée sur les valeurs de taille de page et de signet, et également filtrée par heure de début et heure de fin.
Interroger :
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • pageSize: number : taille de page du résultat renvoyé.
  • bookmark: string : marque-page du résultat renvoyé.
Renvoie :
  • En cas de succès, objet JSON qui inclut le récapitulatif du compte de jeton.
Exemple de valeur renvoyé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 d'origine : getAccountDetailsByUser
Cette méthode GET renvoie un récapitulatif de compte pour un utilisateur spécifié et les détails des jetons fongibles et non fongibles associés à l'utilisateur. Cette méthode peut uniquement être appelée par Token Admin du code chaîne ou par Account Owner du compte.
Interroger :
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, objet de compte JSON qui inclut et résume 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 de la section associatedNFTs affiche le partage dont l'utilisateur est propriétaire.
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 d'origine : getAccountStatus
Cette méthode GET extrait l'état actuel du compte de jeton. Cette méthode peut être appelée par Token Admin du code chaîne ou par le propriétaire du compte de jeton.
Interroger :
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, 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 d'origine : getAccountStatusHistory
Cette méthode GET extrait l'historique du statut du compte. Cette méthode peut être appelée par Token Admin du code chaîne ou par le propriétaire du compte de jeton.
Interroger :
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, historique du statut du 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 d'origine : getAccountTransactionHistory
Cette méthode GET renvoie l'historique des transactions du compte. Cette méthode peut être appelée uniquement par un élément Token Admin du code chaîne ou par le propriétaire du compte.
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique 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 d'origine : getAccountsByRole
Cette méthode GET renvoie la liste de tous les ID de compte pour un rôle et un jeton spécifiés.
Interroger :
/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 de jeton. Pour les jetons non fongibles, le nom de jeton requis.
Exemple de valeur renvoyée :
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
Nom de la méthode d'origine : getAllAccounts
Cette méthode GET renvoie les détails de tous les comptes utilisateur. Cette méthode ne peut être appelée que par un Token Admin du code chaîne.
Interroger :
/getAllAccounts
Paramètres :
  • Aucun élément
Renvoie :
  • En cas de succès, 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 d'origine : getAllTokenAdmins
Cette méthode GET renvoie la liste de tous les utilisateurs qui sont un Token Admin du code chaîne. Cette méthode ne peut être appelée que par un Token Admin du code chaîne.
Interroger :
/getAllTokenAdmins
Paramètres :
  • Aucun élément
Renvoie :
  • En cas de succès, 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 d'origine : getAllTokens
Cette méthode renvoie 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 Token Admin du code chaîne. Cette méthode utilise des requêtes Berkeley DB SQL riches et ne peut être appelée que lorsqu'elle est connectée au réseau Oracle Blockchain Platform distant.
/getAllTokens
Paramètres :
  • Aucun élément
Renvoie :
  • 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 d'origine : getAllTokensByUser
Cette méthode GET renvoie toutes les ressources de jeton appartenant à un utilisateur spécifié. Cette méthode utilise des requêtes Berkeley DB SQL riches et ne peut être appelée que lorsqu'elle est connectée au réseau Oracle Blockchain Platform distant. Cette méthode peut être appelée uniquement par un élément Token Admin du code chaîne ou par le propriétaire du compte.
Interroger :
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique 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 d'origine : getAllTokensWithFilters
L'administrateur peut appeler cette méthode GET pour extraire tous les jetons filtrés par statut.
Interroger :
/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 renvoyé.
  • bookmark: string : marque-page du résultat renvoyé.
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 d'origine : 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 de remboursement) qu'il a effectuées.
Interroger :
/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 d'origine : 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 de remboursement) qu'il a effectuées.
Interroger :
/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 d'origine : getTokenById
Cette méthode GET renvoie 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 renvoyée. Cette méthode peut uniquement être appelée par Token Admin du code chaîne ou par le propriétaire du jeton.
Interroger :
/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 d'origine : getTokenHistory
Cette méthode GET renvoie l'historique d'un ID de jeton spécifié.
Interroger :
/getTokenHistory?tokenId={{bc-token-id}}
Paramètres :
  • tokenId: string : ID du jeton.
Renvoie :
  • En cas de succès, 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 d'origine : getUsersByRole
Cette méthode renvoie la 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 Token Admin du code chaîne.
Interroger :
/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 de jeton. Pour les jetons non fongibles, le nom de jeton requis.
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 d'origine : init
Cette méthode POST est appelée lorsque le code chaîne est instancié. Chaque Token Admin est identifié par les informations userId et orgId dans le paramètre adminList. userId est le nom utilisateur ou l'ID courriel du propriétaire de l'instance ou de l'utilisateur connecté à l'instance. orgId est l'ID de fournisseur de services d'adhésion de l'utilisateur dans l'organisation réseau en cours. Le paramètre adminList est obligatoire lors du premier déploiement du code chaîne. Si vous mettez à niveau le code chaîne, transmettez une liste vide ([]). Si vous êtes l'utilisateur qui a initialement déployé le code chaîne, vous pouvez également indiquer de nouveaux administrateurs dans le paramètre adminList lors de la mise à niveau du code chaîne. Toute autre information du paramètre adminList est ignorée lors des mises à niveau.
Charge utile:
{
 "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
Paramètres :
  • adminList array : tableau d'informations {orgId, userId} qui indique la liste des administrateurs de jeton. Le tableau adminList est un paramètre obligatoire.
Renvoie :
  • En cas de succès, message sans charge utile.
Exemple de valeur renvoyée :
{
}
isInRole
Nom de la méthode d'origine : isInRole
Cette méthode GET renvoie 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 peut uniquement être appelée par Token Admin du code chaîne ou par Account Owner du compte. L'utilisateur spécifié doit disposer d'un compte de jeton associé au jeton fongible ou d'un compte de jeton non fongible pour les rôles NFT. Le rôle spécifié doit exister dans le fichier de spécification du jeton.
Interroger :
/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 du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique 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 d'origine : isTokenAdmin
Cette méthode GET renvoie la valeur booléenne true si l'appelant de la fonction est Token Admin, sinon elle renvoie false. Cette méthode ne peut être appelée que par un Token Admin du code chaîne.
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • La méthode renvoie true si l'appelant est Token Admin, sinon elle renvoie false.
Exemple de valeur renvoyée :
{"result": true}
mintBatch
Nom de la méthode d'origine : mintBatch
Cette méthode POST crée (affecte) plusieurs jetons dans une opération par lots. Cette méthode crée uniquement des jetons fongibles ou des jetons non fongibles fractionnaires.

Pour les jetons fongibles, si le rôle minter est défini dans le fichier de spécification, tout utilisateur disposant du rôle minter peut appeler cette méthode. Sinon, n'importe quel utilisateur peut utiliser cette méthode pour frapper des jetons. Vous ne pouvez pas dépasser 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 minter est défini dans le fichier de spécification, tout utilisateur disposant du rôle minter peut appeler cette méthode. Sinon, n'importe quel utilisateur peut utiliser cette méthode pour frapper 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 frapper un jeton non fongible entier.

Charge utile:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • tokenIds: string[] : liste des ID de jeton pour lesquels les jetons ment.
  • quantity: number[] : liste des quantités de jetons à menthe, correspondant au tableau d'ID de jeton.
Renvoie :
  • En cas de succès, objet JSON qui inclut des détails sur les jetons extraits.
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 d'origine : ownerOf
Cette méthode GET renvoie l'ID de compte, l'ID d'organisation et l'ID utilisateur du propriétaire de l'ID de jeton spécifié. N'importe qui peut appeler cette méthode.
Interroger :
/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 d'origine : ownerOf
Cette méthode POST ne peut être appelée que par le créateur ou l'administrateur du jeton 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 à échéance. Les intérêts sont calculés par le code 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 vers le 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 s'assurant que le code chaîne CBDC approprié est appelé avec les valeurs orgId et userId correctes pour le transfert. orgId et userId doivent correspondre au propriétaire du jeton, et la valeur de transfert du jeton CBDC doit être égale à l'intérêt calculé par le code chaîne de liaison.
Charge utile:
{
 "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 du fournisseur de services d'adhésion de l'utilisateur.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • tokenId: string : ID du jeton.
  • orderId: string : ID de commande de l'opération.
  • CBDCTokenId: string : ID du jeton dans le code chaîne CBDC.
  • CBDCOrgId: string : ID MSP de l'utilisateur dans le code chaîne CBDC.
  • CBDCUserId: string : nom d'utilisateur ou ID de courriel de l'utilisateur dans le code chaîne CBDC.
  • CBDCQuantity: string : quantité de jetons à transférer dans le code chaîne CBDC.
  • CBDCRemark: string : remarque pour le transfert dans le code chaîne CBDC, qui doit être au 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 d'origine : 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 inscription sur le marché. Lorsqu'un jeton est créé, son statut est initialement défini sur created. Cette méthode met à jour le statut sur posted. Les utilisateurs peuvent exécuter la méthode getAllTokensWithFilter pour extraire tous les NFT avec un statut posted.
Charge utile:
{
 "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 d'origine : 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 s'assurant que le code chaîne CBDC approprié est appelé avec les valeurs orgId et userId correctes pour le transfert. orgId et userId doivent correspondre au créateur du jeton, et la valeur de transfert du jeton CBDC doit être égale à la valeur nominale du jeton d'obligation multipliée par la quantité achetée.
Charge utile:
{
 "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 du fournisseur de services d'adhésion de l'utilisateur.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • settlementId: string : ID de règlement de l'opération.
  • CBDCTokenId: string : ID du jeton dans le code chaîne CBDC.
  • CBDCOrgId: string : ID MSP de l'utilisateur dans le code chaîne CBDC.
  • CBDCUserId: string : nom d'utilisateur ou ID de courriel de l'utilisateur dans le code chaîne CBDC.
  • CBDCQuantity: string : quantité de jetons à transférer dans le code chaîne CBDC.
  • CBDCRemark: string : remarque pour le transfert dans le code chaîne CBDC, qui doit être au 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 d'origine : rejectBondRedemption
Le créateur du jeton peut appeler cette méthode POST pour rejeter la demande d'échange. Les propriétaires de jetons peuvent relancer une demande d'échange en utilisant un ID de règlement différent.
Charge utile:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • fromOrgId: string : ID du fournisseur de services d'adhésion de l'utilisateur.
  • fromUserId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • settlementId: string – ID de règlement pour l'opération de rachat.
  • 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 d'origine : 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 de 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 Token Admin du code 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 du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
  • role: string : nom du rôle à enlever 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 d'origine : removeTokenAdmin
Cette méthode POST supprime un utilisateur en tant que Token Admin du code chaîne. Cette méthode ne peut être appelée que par un Token Admin du code chaîne. Vous ne pouvez pas vous enlever en tant que Token Admin.
Charge utile:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "sameOrgEndorser": true
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, message qui inclut les détails de l'utilisateur qui a été enlevé en tant que Token Admin du code chaîne.
Exemple de valeur renvoyée :
{"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"}
requestBondRedemption
Nom de la méthode d'origine : requestBondRedemption
Cette méthode POST ne peut être appelée que par le propriétaire du jeton pour lancer 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 chaîne. Les demandes d'échange ne peuvent être émises que sur la totalité du jeton d'obligation dont l'utilisateur est propriétaire. Les utilisateurs peuvent émettre plusieurs demandes d'échange en fonction de différents ID de règlement, mais un seul peut être approuvé par le créateur du jeton.
Charge utile:
{
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "additionalFees": 1,
 "endorsers": {{endorsers}}
}
Paramètres :
  • settlementId: string – ID de règlement pour l'opération de rachat.
  • tokenId: string : ID du jeton.
  • orderId: string : ID de commande de l'opération d'achat.
  • additionalFees: number – Les frais supplémentaires à ajouter au prix de rachat.
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 d'origine : safeBatchTransferFrom
Cette méthode POST termine une opération par lots qui transfère les jetons spécifiés dans une liste d'ID de jeton d'un utilisateur à un autre.

Pour les NFT, comme la méthode transfère la propriété du NFT, l'expéditeur du NFT doit posséder le jeton.

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

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 du fournisseur de services d'adhésion de l'expéditeur et du propriétaire du jeton dans l'organisation actuelle.
  • fromUserId: string : nom d'utilisateur ou ID de courriel de l'expéditeur et du propriétaire du jeton.
  • toOrgId: string : ID du fournisseur de services d'adhésion du destinataire dans l'organisation actuelle.
  • toUserId: string : nom d'utilisateur ou ID courriel du destinataire.
  • tokenIds: string[] : liste des ID de jeton pour les jetons à transférer.
  • quantity: number[] : liste des quantités de jetons à transférer, correspondant au tableau d'ID de jeton.
Renvoie :
  • 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 d'origine : suspendAccount
Cette méthode POST suspend un compte de jeton. Cette méthode ne peut être appelée que par un Token Admin du code chaîne. Une fois qu'un compte est suspendu, vous ne pouvez effectuer aucune opération mettant à jour le compte. Un compte supprimé ne peut pas être suspendu.
Charge utile:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
Paramètres :
  • orgId: string : ID du fournisseur de services d'adhésion de l'utilisateur dans l'organisation actuelle.
  • userId: string : nom d'utilisateur ou adresse électronique de l'utilisateur.
Renvoie :
  • En cas de succès, 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 d'origine : updateBondToken
Cette méthode POST met à jour les jetons. Chaque jeton défini possède sa propre méthode de mise à jour. Vous ne pouvez pas mettre à jour les métadonnées de jeton ou l'URI de jeton de jetons non fongibles. Cette méthode ne peut être appelée que par le propriétaire du jeton.
Charge utile:
{
 "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.
Renvoie :
  • 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 d'origine : URI
Cette méthode renvoie l'URI d'un jeton spécifié.
Interroger :
/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 mapping entre les noms d'API de code chaîne et les adresses mises à jour. Pour plus d'informations sur l'API de code chaîne, reportez-vous à Projet de jeton TypeScript échafaudé dans Blockchain App Builder pour Oracle Blockchain Platform.
Adresse mise à jour Nom d'API de code chaîne TypeScript Accéder au nom d'API de code chaîne Type de méthode
activateAccount activateAccount ActivateAccount Méthode ERC-1155 native
addAdmin addAdmin AddAdmin Méthode ERC-1155 native
addRole addRole AddRole Méthode ERC-1155 native
approveBondRedemption approveTokenRedemption ApproveTokenRedemption Modifié
balanceOfBatch balanceOfBatch BalanceOfBatch Méthode ERC-1155 native
batchTransferFrom batchTransferFrom BatchTransferFrom Méthode ERC-1155 native
burnBatch burnBatch BurnBatch Méthode ERC-1155 native
createAccount createAccount CreateAccount Méthode ERC-1155 native
createAccountWithEnrollment createAccountWithEnrollment CreateAccountWithEnrollment Ajoutée
createBondToken createBondToken CreateBondToken Méthode ERC-1155 native
createIDCSUser createIDCSUser CreateIDCSUser Ajoutée
createTokenAccount createTokenAccount CreateTokenAccount Méthode ERC-1155 native
createUserAccount createUserAccount CreateUserAccount Méthode ERC-1155 native
deleteAccount deleteAccount DeleteAccount Méthode ERC-1155 native
getAccount getAccount GetAccount Méthode ERC-1155 native
getAccountBondSummary getAccountBondSummary GetAccountBondSummary Méthode de marché obligataire
getAccountBondSummaryWithPagination getAccountBondSummaryWithPagination GetAccountBondSummaryWithPagination Méthode de marché obligataire
getAccountDetailsByUser getAccountDetailsByUser GetAccountDetailsByUser Méthode ERC-1155 native
getAccountStatus getAccountStatus GetAccountStatus Méthode ERC-1155 native
getAccountStatusHistory getAccountStatusHistory GetAccountStatusHistory Méthode ERC-1155 native
getAccountTransactionHistory getAccountTransactionHistory GetAccountTransactionHistory Méthode ERC-1155 native
getAccountsByRole getAccountsByRole GetAccountsByRole Méthode ERC-1155 native
getAllAccounts getAllAccounts GetAllAccounts Méthode ERC-1155 native
getAllTokenAdmins getAllTokenAdmins GetAllTokenAdmins Méthode ERC-1155 native
getAllTokens getAllTokens GetAllTokens Méthode ERC-1155 native
getAllTokensByUser getAllTokensByUser GetAllTokensByUser Méthode ERC-1155 native
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 ERC-1155 native
getTokenHistory getTokenHistory GetTokenHistory Méthode ERC-1155 native
getUsersByRole getUsersByRole GetUsersByRole Méthode ERC-1155 native
init init Init Méthode ERC-1155 native
isInRole isInRole IsInRole Méthode ERC-1155 native
isTokenAdmin isTokenAdmin IsTokenAdmin Méthode ERC-1155 native
mintBatch mintBatch MintBatch Méthode ERC-1155 native
ownerOf ownerOf OwnerOf Méthode ERC-1155 native
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 ERC-1155 native
removeTokenAdmin removeTokenAdmin RemoveTokenAdmin Méthode ERC-1155 native
requestBondRedemption requestTokenRedemption RequestTokenRedemption Méthode de marché obligataire
safeBatchTransferFrom safeBatchTransferFrom SafeBatchTransferFrom Méthode ERC-1155 native
suspendAccount suspendAccount SuspendAccount Méthode ERC-1155 native
updateBondToken updateBondToken UpdateBondToken Méthode ERC-1155 native
URI URI URI Méthode ERC-1155 native