Skip to main content

Crear Tipo de Token

Este endpoint permite crear un nuevo tipo de token, agregando la cantidad de tokens a emitir, los meses de vigencia y demás características de configuración del mismo.


Endpoint

POST /api/inmutable/public/tokens

Headers

HeaderTipoRequeridoDescripción
SecretstringClave secreta de la aplicación.
ApplicationIdstringIdentificador único de la aplicación.

Body (application/json)

{
"name": "TokenExample",
"tokenID": "12345",
"description": "Este es un token de ejemplo para ilustrar el formulario.",
"symbol": "FACT_MOBILE",
"tokenType": "SBT",
"issueUnlimitedTokens": false,
"numberOfTokensIssued": 200,
"activateTokenExpiration": true,
"monthsOfTokenValidity": 3,
"allowPublicValidation": true,
"activateUnlimitedValidations": true,
"publicQuantityPermittedValidations": 0,
"tokenCanBurn": false,
"tokenValidationCost": 0.0,
"active": true,
"dataType": "application/pdf",
"country": "GT"
}
ParámetroTipoRequeridoDescripción
activateTokenExpirationbooleanActivar fecha de vencimiento administrativa para los tokens emitidos.
monthsOfTokenValidityintegerNoCantidad de meses que el token tendrá vigencia posterior a su emisión.
tokenTypestringTipo de Token (SBT No se podrán transferir una vez emitidos y NFT se podrán transferir una vez emitidos)
issueUnlimitedTokensbooleanActivar emisión ilimitada de Tokens (Una vez creado no se podrá modificar)
numberOfTokensIssuedintegerNoCantidad de Tokens a Emitir
allowPublicValidationbooleanActivar la validación pública realizada por terceros
activateUnlimitedValidationsbooleanSiActivar validaciones públicas ilimitadas
publicQuantityPermittedValidationsintegerNoCantidad de validaciones públicas permitidas solo si no serán ilimitadas.
tokenValidationCostfloatCosto de validación de los tokens por otras entidades.
dataTypestringTipo de Dato o Archivo que se enviará (.pdf, .doc. .xlsx. .png, .jpg, .json, .xml, .txt, number or string)

Respuesta Esperada

{
"publicQuantityPermittedValidations":1,
"tokenValidationCost":1,
"pricePerTokenIssued":0.06,
"dataType":"application/pdf",
"network":"Besu",
"status":"SUCCESS",
"country":"GT",
"contractAddress":"0x9b3E1f42a8897BEeDfC703b0bbE55A61cd0Df9f2",
"deployerAddress":"0x1267664837e8C9Ee13FF2B2C60CAb197c53fbcd4"
}


Ejemplos de Código

Shell

curl --request POST \
--url https://api-dev.inmutable.app/api/inmutable/public/tokens \
--header 'Content-Type: application/json' \
--header 'ApplicationId: <Your-Application-Id>' \
--header 'Secret: <Your-Secret-Key>' \
--data '{
"name": "TokenExample",
"tokenID": "12345",
"description": "Este es un token de ejemplo para ilustrar el formulario.",
"symbol": "FACT_MOBILE",
"tokenType": "SBT",
"issueUnlimitedTokens": false,
"numberOfTokensIssued": 200,
"activateTokenExpiration": true,
"monthsOfTokenValidity": 3,
"allowPublicValidation": true,
"activateUnlimitedValidations": true,
"publicQuantityPermittedValidations": 0,
"tokenCanBurn": false,
"tokenValidationCost": 0.0,
"active": true,
"dataType": "application/pdf",
"country": "GT"
}'

Node.js

const axios = require('axios');

const data = {
"name": "TokenExample",
"tokenID": "12345",
"description": "Este es un token de ejemplo para ilustrar el formulario.",
"symbol": "FACT_MOBILE",
"tokenType": "SBT",
"issueUnlimitedTokens": false,
"numberOfTokensIssued": 200,
"activateTokenExpiration": true,
"monthsOfTokenValidity": 3,
"allowPublicValidation": true,
"activateUnlimitedValidations": true,
"publicQuantityPermittedValidations": 0,
"tokenCanBurn": false,
"tokenValidationCost": 0.0,
"active": true,
"dataType": "application/pdf",
"country": "GT"
};

axios.post('https://api-dev.inmutable.app/api/inmutable/public/tokens', data, {
headers: {
'Content-Type': 'application/json',
'ApplicationId': '<Your-Application-Id>',
'Secret': '<Your-Secret-Key>',
},
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

Python

import requests

url = 'https://api-dev.inmutable.app/api/inmutable/public/tokens'
headers = {
'Content-Type': 'application/json',
'ApplicationId': '<Your-Application-Id>',
'Secret': '<Your-Secret-Key>',
}
data = {
"name": "TokenExample",
"tokenID": "12345",
"description": "Este es un token de ejemplo para ilustrar el formulario.",
"symbol": "FACT_MOBILE",
"tokenType": "SBT",
"issueUnlimitedTokens": false,
"numberOfTokensIssued": 200,
"activateTokenExpiration": true,
"monthsOfTokenValidity": 3,
"allowPublicValidation": true,
"activateUnlimitedValidations": true,
"publicQuantityPermittedValidations": 0,
"tokenCanBurn": false,
"tokenValidationCost": 0.0,
"active": true,
"dataType": "application/pdf",
"country": "GT"
}

response = requests.post(url, headers=headers, json=data)

print(response.json())

C#

using System;
using System.Net.Http;
using System.Threading.Tasks;

var client = new HttpClient();
var url = "https://api-dev.inmutable.app/api/inmutable/public/tokens";

var json = @"
{
""name"": ""TokenExample"",
""tokenID"": ""12345"",
""description"": ""Este es un token de ejemplo para ilustrar el formulario."",
""symbol"": ""FACT_MOBILE"",
""tokenType"": ""SBT"",
""issueUnlimitedTokens"": false,
""numberOfTokensIssued"": 200,
""activateTokenExpiration"": true,
""monthsOfTokenValidity"": 3,
""allowPublicValidation"": true,
""activateUnlimitedValidations"": true,
""publicQuantityPermittedValidations"": 0,
""tokenCanBurn"": false,
""tokenValidationCost"": 0.0,
""active"": true,
""dataType"": ""application/pdf"",
""country"": ""GT""
}";

var content = new StringContent(json, Encoding.UTF8, "application/json");

client.DefaultRequestHeaders.Add("ApplicationId", "<Your-Application-Id>");
client.DefaultRequestHeaders.Add("Secret", "<Your-Secret-Key>");

var response = await client.PostAsync(url, content);
var responseContent = await response.Content.ReadAsStringAsync();

Console.WriteLine(responseContent);

Notas

  • Asegúrate de enviar un tipo de dato válido para crear el Token.
  • Una vez creado el token no se podrá modificar su configuración, para editar es necesario crear una nueva versión del mismo tipo de token.