Token
O tokens são a base do programa de benefícios
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
Endpoints
Tokens
GET /v1/tokens/
GET /v1/tokens/:tokenId
Gestão de Tokens
GET /v1/tokens/owned
GET /v1/tokens/manage
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
limit
String
Limite de resultados da busca
offset
String
Quantidade de resultados para avançar da busca
communityId
String
ID da Comunidade
companyId
String
ID da Empresa
collectionId
String
ID da Coleção
currency
String
Tipo de moeda utilizada
tags
Array
Tags do Token
[
{
"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- StringIdentificador único de um Token no Banco de Dados.
tokenId- StringIdentificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId- StringIdentificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name- StringNome do Token em nosso Banco de Dados.
transactionType- StringTipo de transação utilizada na negociação do Token.
sale- ObjectQuando um Token é listado como do tipo
sale, ele armazena seus dados de preço e moeda principal em um objeto específico.price- StringValor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals- StringNúmero de casas decimais que deve ser considerado em relação ao campo price.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction- ObjectQuando um Token é listado como do tipo
auction, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.initialPrice- StringValor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice- StringValor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals- StringNúmero de casas decimais que deve ser considerado em relação aos campos anteriores.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply- StringQuantidade existente do Token.
displayMediaType- StringTipo de mídia associada ao Token.
displayMediaUrl- StringEndereço da mídia relacionada ao Token.
owners- Array of ObjectsArmazena todos os identificadores de donos do Token.
userId- StringIdentificador único relativo ao dono do Token em nosso Banco de Dados.
quantity- StringQuantidade de unidades do Token que determinado dono possui.
tags- ArrayConjunto 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
tokenId*
String
ID do token
{
"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- StringIdentificador único de um Token no Banco de Dados.
tokenId- StringIdentificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId- StringIdentificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name- StringNome do Token em nosso Banco de Dados.
transactionType- StringTipo de transação utilizada na negociação do Token.
sale- ObjectQuando um Token é listado como do tipo
sale, ele armazena seus dados de preço e moeda principal em um objeto específico.price- StringValor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals- StringNúmero de casas decimais que deve ser considerado em relação ao campo price.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction- ObjectQuando um Token é listado como do tipo
auction, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.initialPrice- StringValor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice- StringValor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals- StringNúmero de casas decimais que deve ser considerado em relação aos campos anteriores.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply- StringQuantidade existente do Token.
displayMediaType- StringTipo de mídia associada ao Token.
displayMediaUrl- StringEndereço da mídia relacionada ao Token.
owners- Array of ObjectsArmazena todos os identificadores de donos do Token.
userId- StringIdentificador único relativo ao dono do Token em nosso Banco de Dados.
quantity- StringQuantidade de unidades do Token que determinado dono possui.
tags- ArrayConjunto 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
limit
String
Limite de resultados da busca
offset
String
Quantidade de resultados para avançar da busca
communityId
String
ID da Comunidade
companyId
String
ID da Empresa
collectionId
String
ID da Coleção
tags
Array
Tags do Token
Headers
authorization*
Bearer
JWT
[
{
"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- StringIdentificador único de um Token no Banco de Dados.
tokenId- StringIdentificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId- StringIdentificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name- StringNome do Token em nosso Banco de Dados.
transactionType- StringTipo de transação utilizada na negociação do Token.
sale- ObjectQuando um Token é listado como do tipo
sale, ele armazena seus dados de preço e moeda principal em um objeto específico.price- StringValor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals- StringNúmero de casas decimais que deve ser considerado em relação ao campo price.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction- ObjectQuando um Token é listado como do tipo
auction, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.initialPrice- StringValor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice- StringValor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals- StringNúmero de casas decimais que deve ser considerado em relação aos campos anteriores.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply- StringQuantidade existente do Token.
displayMediaType- StringTipo de mídia associada ao Token.
displayMediaUrl- StringEndereço da mídia relacionada ao Token.
owners- Array of ObjectsArmazena todos os identificadores de donos do Token.
userId- StringIdentificador único relativo ao dono do Token em nosso Banco de Dados.
quantity- StringQuantidade de unidades do Token que determinado dono possui.
tags- ArrayConjunto de tags do token.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
limit
String
Limite de resultados da busca
offset
String
Quantidade de resultados para avançar da busca
communityId
String
ID da Comunidade
companyId
String
ID da Empresa
collectionId
String
ID da Coleção
currency
String
Tipo de moeda utilizada
tags
Array
Tags do Token
Headers
authorization*
Bearer
JWT
[
{
"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- StringIdentificador único de um Token no Banco de Dados.
tokenId- StringIdentificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId- StringIdentificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name- StringNome do Token em nosso Banco de Dados.
transactionType- StringTipo de transação utilizada na negociação do Token.
sale- ObjectQuando um Token é listado como do tipo
sale, ele armazena seus dados de preço e moeda principal em um objeto específico.price- StringValor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals- StringNúmero de casas decimais que deve ser considerado em relação ao campo price.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction- ObjectQuando um Token é listado como do tipo
auction, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.initialPrice- StringValor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice- StringValor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals- StringNúmero de casas decimais que deve ser considerado em relação aos campos anteriores.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply- StringQuantidade existente do Token.
displayMediaType- StringTipo de mídia associada ao Token.
displayMediaUrl- StringEndereço da mídia relacionada ao Token.
owners- Array of ObjectsArmazena todos os identificadores de donos do Token.
userId- StringIdentificador único relativo ao dono do Token em nosso Banco de Dados.
quantity- StringQuantidade de unidades do Token que determinado dono possui.
tags- ArrayConjunto de tags do token.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
tokenId*
String
ID do token
Headers
authorization*
Bearer
JWT
{
"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- StringIdentificador único de um Token no Banco de Dados.
tokenId- StringIdentificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId- StringIdentificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name- StringNome do Token em nosso Banco de Dados.
transactionType- StringTipo de transação utilizada na negociação do Token.
sale- ObjectQuando um Token é listado como do tipo
sale, ele armazena seus dados de preço e moeda principal em um objeto específico.price- StringValor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals- StringNúmero de casas decimais que deve ser considerado em relação ao campo price.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction- ObjectQuando um Token é listado como do tipo
auction, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.initialPrice- StringValor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice- StringValor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals- StringNúmero de casas decimais que deve ser considerado em relação aos campos anteriores.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply- StringQuantidade existente do Token.
displayMediaType- StringTipo de mídia associada ao Token.
displayMediaUrl- StringEndereço da mídia relacionada ao Token.
owners- Array of ObjectsArmazena todos os identificadores de donos do Token.
userId- StringIdentificador único relativo ao dono do Token em nosso Banco de Dados.
quantity- StringQuantidade de unidades do Token que determinado dono possui.
tags- ArrayConjunto de tags do token.
1
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
tokenId*
String
Headers
authorization*
Bearer
JWT
Request Body
tokenId
String
collectionId
String
transactionType
String
owners
String
displayMediaUrl
String
displayMediaType
String
supply
String
tags
Array
{
"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- StringIdentificador único de um Token no Banco de Dados.
tokenId- StringIdentificador que guarda a referência ao ID do Token relativo ao seu contrato.
collectionId- StringIdentificador que guarda a referência do ID da Coleção de Tokens em nosso Banco de Dados.
name- StringNome do Token em nosso Banco de Dados.
transactionType- StringTipo de transação utilizada na negociação do Token.
sale- ObjectQuando um Token é listado como do tipo
sale, ele armazena seus dados de preço e moeda principal em um objeto específico.price- StringValor relativo ao preço agregado à transação do Token, seja para uma operação de compra ou venda.
decimals- StringNúmero de casas decimais que deve ser considerado em relação ao campo price.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
auction- ObjectQuando um Token é listado como do tipo
auction, ele armazena seus dados de preço inicial e moeda principal em um objeto específico.initialPrice- StringValor relativo ao preço inicial de leilão agregado à transação do Token.
minIncreasePrice- StringValor relativo ao incremento mínimo de cada oferta de leilão de um Token.
decimals- StringNúmero de casas decimais que deve ser considerado em relação aos campos anteriores.
currency- StringNome da moeda utilizada para o pagamento da transação, podendo ser relativo à moedas tradicionais ou criptomoedas.
supply- StringQuantidade existente do Token.
displayMediaType- StringTipo de mídia associada ao Token.
displayMediaUrl- StringEndereço da mídia relacionada ao Token.
owners- Array of ObjectsArmazena todos os identificadores de donos do Token.
userId- StringIdentificador único relativo ao dono do Token em nosso Banco de Dados.
quantity- StringQuantidade de unidades do Token que determinado dono possui.
tags- ArrayConjunto de tags do token.
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
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
tokenId*
String
ID da Coleção
address
String
Headers
authorization*
Bearer
JWT
"ownerAddress": "0x89s7das87d87as7d9a8s7da7sd98a7sd98a8d79as8d7sa8d"ownerAddress- String Endereço da carteira do proprietário do token
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
tokenId*
String
ID da Coleção
address
String
Headers
authorization*
Bearer
JWT
"balanceOf": "1000"balanceOf- String Saldo do token na carteira
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
tokenId*
String
ID da Coleção
Headers
authorization*
Bearer
JWT
Request Body
amount*
String
Quantidade de tokens
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
tokenId*
String
ID da Coleção
Headers
authorization*
Bearer
JWT
Request Body
amount*
String
Quantidade de tokens
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
tokenId*
String
ID da Coleção
Headers
authorization*
Bearer
JWT
Request Body
amount*
String
Quantidade de tokens
toAddress*
String
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(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
tokenId*
String
ID da Coleção
Headers
authorization*
Bearer
JWT
Request Body
amount*
String
Quantidade de tokens
toAddress*
String
fromAddress
String
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Last updated
Was this helpful?