Resumo
Tokens são a representação de um ativo na rede blockchain, eles podem ser de diferentes tipos como Tokens Fungíveis (ERC20), Tokens Não Fungíveis (ERC721) e Tokens Semi Fungíveis (ERC1155)
Tokens estão diretamente relacionados a Coleções, e podem ser operados em massa pelos endpoint da coleção a qual pertencem ou individualmente através dessa seção.
Tokens Fungíveis são geralmente utilizados como moeda, ele é representado nessa API como um token único com Total Supply maior que zero.
Tokens Não Fungíveis são popularmente conhecidos como NFTs, eles representam ativos únicos na rede blockchain e são representados nessa API como tokens únicos e com Total Supply igual a 1
Tokens Semi Fungíveis representam ativos raros na rede blockchain, um Tokens Semi Fungível possui Total Supply maior que zero.
Diferentes tipos de tokens podem estar associados a diferentes tipos de benefícios, tokens fungíveis podem trazer benefícios de acordo com as configurações da empresa emissora, como por exemplo, oferecer benefícios para usuários que fizerem hold do token, ou podem ser usados como meio de precificação e pagamento de NFTs, que por sua vez podem ser combinados de diferentes formas e entregar beneficios diferentes dependendo da classificação de cada token.
Gestão de tokens web3
Os métodos web3 disponíveis nessa seção são os métodos mais comuns relacionados a um único token, se o métodos buscado não estiver disponível nessa seção ele poderá ser utilizados diretamente na Coleção.
Todas as operações Web3 são enviadas para uma fila e executadas de forma assíncrona.
Objeto Token
Exemplo de Objeto de Token
Copy {
"id" : "j48arwr2q8wdsf" ,
"tokenId" : "1" ,
"collectionId" : "321" ,
"name" : "My Token" ,
"supply" : "10" ,
"displayMediaUrl" : "http://url.com/token.png" ,
"displayMediaType" : "image" | "video" | "gif" ,
"metadata" : {
"en" : {
"mediaDescription" : "Good Morning"
} ,
"pt" : {
"mediaDescription" : "Bom dia"
}
} ,
"owners" : [
{
"userId" : "rwet87fds15" ,
"quantity" : "3"
} ,
{
"userId" : "kyu871dtaw8s" ,
"quantity" : "1"
} ,
] ,
"tags" : [ "ambiental" , "arte" , "empreeendedorismo" ] ,
"transactionType" : "sale" | "auction" | "airdrop" ,
"sale" : {
"price" : "12" ,
"decimals" : "2"
"currency" : "eth" ,
} ,
"auction" : {
"initialPrice" : "100" ,
"minIncreasePrice" : "10" ,
"decimals" : "2" ,
"currency" : "eth"
} ,
"status" : "private" | "public" ,
"statusWeb3" : "private" | "deployed"
}
Endpoints
Gestão de Tokens
GET /v1/tokens/:tokenId/manage
PATCH /v1/tokens/:tokenId/manage
Gestão do token na web3
GET /v1/tokend/:tokenId/manage/web3/ownerOf
GET /v1/tokend/:tokenId/manage/web3/ballanceOf/:address
POST /v1/tokend/:tokenId/manage/web3/mint
POST /v1/tokend/:tokenId/manage/web3/burn
POST /v1/tokend/:tokenId/manage/web3/transfer
POST /v1/tokend/:tokenId/manage/web3/transferFrom
Tokens
Lista os tokens públicos da plataforma
GET
https://goblockchain.io/gotokens-api/v1/tokens
Nível de permissionamento necessário: qualquer
Query Parameters
200: OK
Exemplo de Resposta Campos da Resposta
Copy [
{
"id" : "1"
"tokenId" : "123" ,
"collectionId" : "321" ,
"transactionType" : "sale" ,
"name" : "My E-sports Token 1" ,
"sale" : {
"price" : "12" ,
"decimals" : "2" ,
"currency" : "ETH"
} ,
"supply" : "100" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "0242ac120002"
}
] ,
} ,
{
"id" : "2"
"tokenId" : "456" ,
"collectionId" : "654" ,
"transactionType" : "airdrop" ,
"name" : "My E-sports Token 2" ,
"supply" : "500" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "bfb46d00-5ae3-11ed-9b6a-0242ac120002"
}
] ,
}
]
id
- String
Identificador único de um Token no Banco de Dados.
tokenId
- String
Identificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId
- String
Identificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name
- String
Nome do Token em nosso Banco de Dados.
transactionType
- String
Tipo de transação utilizada na negociação do Token.
sale
- Object
Quando um Token é listado como do tipo sale
, ele armazena seus dados de preço e moeda principal em um objeto específico.
price
- String
Valor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals
- String
Número de casas decimais que deve ser considerado em relação ao campo price.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction
- Object
Quando um Token é listado como do tipo auction
, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.
initialPrice
- String
Valor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice
- String
Valor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals
- String
Número de casas decimais que deve ser considerado em relação aos campos anteriores.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply
- String
Quantidade existente do Token.
displayMediaType
- String
Tipo de mídia associada ao Token.
displayMediaUrl
- String
Endereço da mídia relacionada ao Token.
owners
- Array of Objects
Armazena todos os identificadores de donos do Token.
userId
- String
Identificador único relativo ao dono do Token em nosso Banco de Dados.
quantity
- String
Quantidade de unidades do Token que determinado dono possui.
tags
- Array
Conjunto de tags do token.
Exibe detalhes de tokens públicos
GET
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId
Nível de permissionamento necessário: qualquer
Path Parameters
200: OK
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "1"
"tokenId" : "123" ,
"collectionId" : "321" ,
"transactionType" : "sale" ,
"name" : "My E-sports Token 1" ,
"sale" : {
"price" : "12" ,
"decimals" : "2" ,
"currency" : "ETH"
} ,
"supply" : "100" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "0242ac120002"
}
] ,
}
id
- String
Identificador único de um Token no Banco de Dados.
tokenId
- String
Identificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId
- String
Identificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name
- String
Nome do Token em nosso Banco de Dados.
transactionType
- String
Tipo de transação utilizada na negociação do Token.
sale
- Object
Quando um Token é listado como do tipo sale
, ele armazena seus dados de preço e moeda principal em um objeto específico.
price
- String
Valor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals
- String
Número de casas decimais que deve ser considerado em relação ao campo price.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction
- Object
Quando um Token é listado como do tipo auction
, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.
initialPrice
- String
Valor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice
- String
Valor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals
- String
Número de casas decimais que deve ser considerado em relação aos campos anteriores.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply
- String
Quantidade existente do Token.
displayMediaType
- String
Tipo de mídia associada ao Token.
displayMediaUrl
- String
Endereço da mídia relacionada ao Token.
owners
- Array of Objects
Armazena todos os identificadores de donos do Token.
userId
- String
Identificador único relativo ao dono do Token em nosso Banco de Dados.
quantity
- String
Quantidade de unidades do Token que determinado dono possui.
tags
- Array
Conjunto de tags do token.
Gestão de Tokens
(JWT) Lista os tokens que o usuário logado possui
GET
https://goblockchain.io/gotokens-api/v1/tokens/owned
Nível de permissionamento necessário: company_admin
, company_moderator
, community_admin
, community_moderator
, member
Query Parameters
200: OK 403: Forbidden 401: Unauthorized
Exemplo de Resposta Campos da Resposta
Copy [
{
"id" : "1"
"tokenId" : "123" ,
"collectionId" : "321" ,
"transactionType" : "sale" ,
"name" : "My E-sports Token 1" ,
"sale" : {
"price" : "12" ,
"decimals" : "2" ,
"currency" : "ETH"
} ,
"supply" : "100" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "0242ac120002"
}
] ,
} ,
{
"id" : "2"
"tokenId" : "456" ,
"collectionId" : "654" ,
"transactionType" : "airdrop" ,
"name" : "My E-sports Token 2" ,
"supply" : "500" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "bfb46d00-5ae3-11ed-9b6a-0242ac120002"
}
] ,
}
]
id
- String
Identificador único de um Token no Banco de Dados.
tokenId
- String
Identificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId
- String
Identificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name
- String
Nome do Token em nosso Banco de Dados.
transactionType
- String
Tipo de transação utilizada na negociação do Token.
sale
- Object
Quando um Token é listado como do tipo sale
, ele armazena seus dados de preço e moeda principal em um objeto específico.
price
- String
Valor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals
- String
Número de casas decimais que deve ser considerado em relação ao campo price.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction
- Object
Quando um Token é listado como do tipo auction
, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.
initialPrice
- String
Valor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice
- String
Valor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals
- String
Número de casas decimais que deve ser considerado em relação aos campos anteriores.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply
- String
Quantidade existente do Token.
displayMediaType
- String
Tipo de mídia associada ao Token.
displayMediaUrl
- String
Endereço da mídia relacionada ao Token.
owners
- Array of Objects
Armazena todos os identificadores de donos do Token.
userId
- String
Identificador único relativo ao dono do Token em nosso Banco de Dados.
quantity
- String
Quantidade de unidades do Token que determinado dono possui.
tags
- Array
Conjunto de tags do token.
Possíveis Erros HTTP - 403
Possíveis Erros HTTP - 401
(JWT) Lista os tokens públicos e privados da plataforma
GET
https://goblockchain.io/gotokens-api/v1/tokens/manage
Nível de permissionamento necessário: company_admin
, company_moderator
, community_admin
, community_moderator
Query Parameters
200: OK 403: Forbidden 401: Unauthorized
Exemplo de Resposta Campos da Resposta
Copy [
{
"id" : "1"
"tokenId" : "123" ,
"collectionId" : "321" ,
"transactionType" : "sale" ,
"name" : "My E-sports Token 1" ,
"sale" : {
"price" : "12" ,
"decimals" : "2" ,
"currency" : "ETH"
} ,
"supply" : "100" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "0242ac120002"
}
] ,
} ,
{
"id" : "2"
"tokenId" : "456" ,
"collectionId" : "654" ,
"transactionType" : "airdrop" ,
"name" : "My E-sports Token 2" ,
"supply" : "500" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "bfb46d00-5ae3-11ed-9b6a-0242ac120002"
}
] ,
}
]
id
- String
Identificador único de um Token no Banco de Dados.
tokenId
- String
Identificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId
- String
Identificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name
- String
Nome do Token em nosso Banco de Dados.
transactionType
- String
Tipo de transação utilizada na negociação do Token.
sale
- Object
Quando um Token é listado como do tipo sale
, ele armazena seus dados de preço e moeda principal em um objeto específico.
price
- String
Valor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals
- String
Número de casas decimais que deve ser considerado em relação ao campo price.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction
- Object
Quando um Token é listado como do tipo auction
, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.
initialPrice
- String
Valor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice
- String
Valor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals
- String
Número de casas decimais que deve ser considerado em relação aos campos anteriores.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply
- String
Quantidade existente do Token.
displayMediaType
- String
Tipo de mídia associada ao Token.
displayMediaUrl
- String
Endereço da mídia relacionada ao Token.
owners
- Array of Objects
Armazena todos os identificadores de donos do Token.
userId
- String
Identificador único relativo ao dono do Token em nosso Banco de Dados.
quantity
- String
Quantidade de unidades do Token que determinado dono possui.
tags
- Array
Conjunto de tags do token.
Possíveis Erros HTTP - 403
Possíveis Erros HTTP - 401
(JWT) Exibe detalhes de tokens públicos e privados
GET
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage
Nível de permissionamento necessário: company_admin
, company_moderator
, community_admin
, community_moderator
Path Parameters
200: OK 400: Bad Request 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "1"
"tokenId" : "123" ,
"collectionId" : "321" ,
"transactionType" : "sale" ,
"name" : "My E-sports Token 1" ,
"sale" : {
"price" : "12" ,
"decimals" : "2" ,
"currency" : "ETH"
} ,
"supply" : "100" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "0242ac120002"
}
] ,
}
id
- String
Identificador único de um Token no Banco de Dados.
tokenId
- String
Identificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId
- String
Identificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name
- String
Nome do Token em nosso Banco de Dados.
transactionType
- String
Tipo de transação utilizada na negociação do Token.
sale
- Object
Quando um Token é listado como do tipo sale
, ele armazena seus dados de preço e moeda principal em um objeto específico.
price
- String
Valor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals
- String
Número de casas decimais que deve ser considerado em relação ao campo price.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction
- Object
Quando um Token é listado como do tipo auction
, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.
initialPrice
- String
Valor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice
- String
Valor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals
- String
Número de casas decimais que deve ser considerado em relação aos campos anteriores.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply
- String
Quantidade existente do Token.
displayMediaType
- String
Tipo de mídia associada ao Token.
displayMediaUrl
- String
Endereço da mídia relacionada ao Token.
owners
- Array of Objects
Armazena todos os identificadores de donos do Token.
userId
- String
Identificador único relativo ao dono do Token em nosso Banco de Dados.
quantity
- String
Quantidade de unidades do Token que determinado dono possui.
tags
- Array
Conjunto de tags do token.
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT) Altera informações de um token
PATCH
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage
Nível de permissionamento necessário: company_admin
Path Parameters
Request Body
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos da Resposta
Copy {
"id" : "1"
"tokenId" : "123" ,
"collectionId" : "321" ,
"transactionType" : "sale" ,
"name" : "My E-sports Token 1" ,
"sale" : {
"price" : "12" ,
"decimals" : "2" ,
"currency" : "ETH"
} ,
"supply" : "100" ,
"tags" : [ "esportes" ] ,
"displayMediaType" : "image" ,
"displayMediaUrl" : "https://placehold.it/300x300" ,
"owners" : [
{
"quantity" : "2" ,
"userId" : "0242ac120002"
}
] ,
}
id
- String
Identificador único de um Token no Banco de Dados.
tokenId
- String
Identificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId
- String
Identificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name
- String
Nome do Token em nosso Banco de Dados.
transactionType
- String
Tipo de transação utilizada na negociação do Token.
sale
- Object
Quando um Token é listado como do tipo sale
, ele armazena seus dados de preço e moeda principal em um objeto específico.
price
- String
Valor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals
- String
Número de casas decimais que deve ser considerado em relação ao campo price.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction
- Object
Quando um Token é listado como do tipo auction
, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.
initialPrice
- String
Valor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice
- String
Valor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals
- String
Número de casas decimais que deve ser considerado em relação aos campos anteriores.
currency
- String
Nome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply
- String
Quantidade existente do Token.
displayMediaType
- String
Tipo de mídia associada ao Token.
displayMediaUrl
- String
Endereço da mídia relacionada ao Token.
owners
- Array of Objects
Armazena todos os identificadores de donos do Token.
userId
- String
Identificador único relativo ao dono do Token em nosso Banco de Dados.
quantity
- String
Quantidade de unidades do Token que determinado dono possui.
tags
- Array
Conjunto de tags do token.
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
Gestão de Tokens na web3
(JWT) Consulta o proprietário do token na web3
GET
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/ownerOf
Nível de autorização necessário: member
Path Parameters
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos de Resposta
Copy "ownerAddress" : "0x89s7das87d87as7d9a8s7da7sd98a7sd98a8d79as8d7sa8d"
ownerAddress
- String
Endereço da carteira do proprietário do token
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT) Consulta o saldo de tokens para a carteira informada na web3
GET
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/balanceOf/:address
Nível de autorização necessário: member
Path Parameters
200: OK 401: Unauthorized 403: Forbidden
Exemplo de Resposta Campos de Resposta
balanceOf
- String
Saldo do token na carteira
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT/Wallet) Mint de Tokens na Web3
POST
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/mint
Nível de autorização necessário: company_admin
É necessário um carteira com saldo vinculada ao usuário e a carteira precisa ter permissão de execução do método no contrato.
Diferentes tokens possuem diferentes possibilidades de mint . ex: tokens ERC20 e ERC1155 possuem supply e é possível, faz o mint inicial para criar o token na blockchain, e posteriormente novos mints podem ser usados para aumentar o supply, caso o contrato permita, já tokens ERC721 só podem ser mintados a primeira vez, novos mints do mesmo tokenId não produzem qualquer efeito.
Path Parameters
Request Body
204: No Content 401: Unauthorized 403: Forbidden
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT/Wallet) Mint de Tokens na Web3
POST
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/burn
Nível de autorização necessário: member
É necessário um carteira com saldo vinculada ao usuário e a carteira precisa ter permissão de execução do método no contrato.
O método precisa existir no contrato e as regras relativas a quem pode queimar cada token também estão definidas dentro do contrato.
Path Parameters
Request Body
204: No Content 401: Unauthorized 403: Forbidden
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT/Wallet) Transfer de Tokens na Web3
POST
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/transfer
Nível de autorização necessário: member
É necessário um carteira com saldo vinculada ao usuário e a carteira precisa ter permissão de execução do método no contrato.
O método precisa existir no contrato e as regras relativas a quem pode transferir cada token também estão definidas dentro do contrato.
Path Parameters
Request Body
204: No Content 401: Unauthorized 403: Forbidden
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403
(JWT/Wallet) Transfer de Tokens na Web3
POST
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/transferFrom
Nível de autorização necessário: member
É necessário um carteira com saldo vinculada ao usuário e a carteira precisa ter permissão de execução do método no contrato.
O método precisa existir no contrato e as regras relativas a quem pode transferir cada token também estão definidas dentro do contrato.
Path Parameters
Request Body
204: No Content 401: Unauthorized 403: Forbidden
Possíveis Erros HTTP - 401
Possíveis Erros HTTP - 403