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
Header | Tipo | Requerido | Descripción |
---|---|---|---|
Secret | string | Sí | Clave secreta de la aplicación. |
ApplicationId | string | Sí | Identificador ú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ámetro | Tipo | Requerido | Descripción |
---|---|---|---|
activateTokenExpiration | boolean | Sí | Activar fecha de vencimiento administrativa para los tokens emitidos. |
monthsOfTokenValidity | integer | No | Cantidad de meses que el token tendrá vigencia posterior a su emisión. |
tokenType | string | Sí | Tipo de Token (SBT No se podrán transferir una vez emitidos y NFT se podrán transferir una vez emitidos) |
issueUnlimitedTokens | boolean | Sí | Activar emisión ilimitada de Tokens (Una vez creado no se podrá modificar) |
numberOfTokensIssued | integer | No | Cantidad de Tokens a Emitir |
allowPublicValidation | boolean | Sí | Activar la validación pública realizada por terceros |
activateUnlimitedValidations | boolean | Si | Activar validaciones públicas ilimitadas |
publicQuantityPermittedValidations | integer | No | Cantidad de validaciones públicas permitidas solo si no serán ilimitadas. |
tokenValidationCost | float | Sí | Costo de validación de los tokens por otras entidades. |
dataType | string | Sí | Tipo 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.