Nessa API ocorre o registro dos usuários com perfil de membros de uma comunidade ou usuário de uma empresa.
O usuário como membro terá acesso a sua que ele pertence e o de empresa terá acesso as funcionalidades da empresa criada.
Os usuários serão associados a permissões especificas que darão acessos específicos a nível de funcionalidades e sub funcionalidades.
Como funciona
O cliente com perfil de empresa passa pelo onboarding e com isso recebe um um usuário e senha para que possa utilizar na autenticação e receber a credencial "bearer" token.
Objeto User
Exemplo de Objeto de Usuário
"user": {"id":"633adbcaf51f5c42246d6ea6","name":"Clarisse","email":"clarisse@gmail.com","password":"***********","address":"Av. Aristides Cunha, 1710, Itaiangá, São Paulo - SP - Brasil","status":"active","wallets": [ {"id":"g1sr38g7sr98","address":"0x123","origin":"internal","providerId":"35wda23dfes5","provider":"firebase","privateKey":"***********","rescueDate":null,"rescueIp":null, }, {"id":"es454fwse1fg","address":"0x123","origin":"external" } ]}
Identificador único de uma Wallet no Banco de Dados.
address - String
Endereço publico da carteira do usuário.
providerId - String
Identificador único associado à conta social com a qual o usuário criou a carteira. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
provider - String
Nome do provedor da carteira criada pelo sistema da goTokens com login social. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
rescueDate - DateTime
Informa a data de revelação da privateKey da carteira do usuário, caso essa já tenha sido revelada. Caso contrário, esse campo é armazenado como null. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
status - String
Status da wallet no sistema. Pode variar entre active ou disabled.
Código
Descrição
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Código
Descrição
1
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Existem 3 padrões de parâmetros possíveis para criar uma wallet:
1 - Enviando apenas uma address + blockchain e network no body da requisição, é importada uma Wallet como externa, guardando apenas suas informações públicas.
2 - Enviando uma privateKey + blockchain e network no body da requisição, é instanciada uma Wallet assim como a original, a partir dessa privateKey.
3 - Enviando email, providerId e provider no body da requisição, é criada uma wallet nova, do zero. * Não há necessidade de envio de blockchain e network nesse caso. As wallets serão criadas por padrão em Ethereum
Nível de permissionamento necessário: qualquer
Headers
Name
Type
Description
authorization*
Bearer
JWT
Request Body
Name
Type
Description
address
String
Chave pública da Wallet
privateKey
String
Chave privada da Wallet
email
String
Email vindo do provider de autenticação externo de conta social (Ex: autenticação do Google via Firebase)
provider
String
Provider de autenticação externo de conta social (Ex: Google Firebase)
providerId
Id associado à conta social com a qual o usuário se cadastrou.
Enviando email, providerId e provider no body da requisição, é criada uma wallet nova, do zero com dados relacionados ao Provider externo de autenticação via conta social, além dos dados da carteira.
Identificador único de uma Wallet no Banco de Dados.
address - String
Endereço publico da carteira do usuário.
origin - String
Origem da carteira do usuário. Se for criada pela plataforma da goTokens, esse campo será preenchido como internal. Caso a carteira tenha sido criada em outros provedores (Metamask, Torus, etc), ela ainda pode ser importada e esse campo será preenchido com external.
providerId - String
Identificador único associado à conta social com a qual o usuário criou a carteira. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
provider - String
Nome do provedor da carteira criada pelo sistema da goTokens com login social. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
privateKey - String
Endereço privado da carteira do usuário, guardado de forma criptografada em um Vault. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
rescueDate - DateTime
Informa a data de revelação da privateKey da carteira do usuário, caso essa já tenha sido revelada. Caso contrário, esse campo é armazenado como null. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
status - String
Status da wallet no sistema. Pode variar entre active ou disabled.
Código
Descrição
1
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Código
Descrição
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Identificador único de uma Wallet no Banco de Dados.
address - String
Endereço publico da carteira do usuário.
origin - String
Origem da carteira do usuário. Se for criada pela plataforma da goTokens, esse campo será preenchido como internally_created, se for associada ao endereço de uma carteira do usuário, associated_by_address, se for importada via privateKey, imported_from_pk`
providerId - String
Identificador único associado à conta social com a qual o usuário criou a carteira. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
Nome do provedor da carteira criada pelo sistema da goTokens com login social. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
privateKey - String
Endereço privado da carteira do usuário, guardado de forma criptografada em um Vault. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
Informa a data de revelação da privateKey da carteira do usuário, caso essa já tenha sido revelada. Caso contrário, esse campo é armazenado como null. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
status - String
Status da wallet no sistema. Pode variar entre active ou disabled.
Código
Descrição
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Código
Descrição
1
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
(JWT) Altera o status de uma wallet do usuário logado
Identificador único de uma Wallet no Banco de Dados.
address - String
Endereço publico da carteira do usuário.
origin - String
Origem da carteira do usuário. Se for criada pela plataforma da goTokens, esse campo será preenchido como internal. Caso a carteira tenha sido criada em outros provedores (Metamask, Torus, etc), ela ainda pode ser importada e esse campo será preenchido com external.
providerId - String
Identificador único associado à conta social com a qual o usuário criou a carteira. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
provider - String
Nome do provedor da carteira criada pelo sistema da goTokens com login social. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
privateKey - String
Endereço privado da carteira do usuário, guardado de forma criptografada em um Vault. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
rescueDate - DateTime
Informa a data de revelação da privateKey da carteira do usuário, caso essa já tenha sido revelada. Caso contrário, esse campo é armazenado como null. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
status - String
Status da wallet no sistema. Pode variar entre active ou disabled.
Código
Descrição
1
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Código
Descrição
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(JWT) Revela uma chave privada de uma wallet do usuário logado
Identificador único de uma Wallet no Banco de Dados.
address - String
Endereço publico da carteira do usuário.
origin - String
Origem da carteira do usuário. Se for criada pela plataforma da goTokens, esse campo será preenchido como internal. Caso a carteira tenha sido criada em outros provedores (Metamask, Torus, etc), ela ainda pode ser importada e esse campo será preenchido com external.
providerId - String
Identificador único associado à conta social com a qual o usuário criou a carteira. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
provider - String
Nome do provedor da carteira criada pelo sistema da goTokens com login social. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
privateKey - String
Endereço privado da carteira do usuário, guardado de forma criptografada em um Vault. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
rescueDate - DateTime
Informa a data de revelação da privateKey da carteira do usuário, caso essa já tenha sido revelada. Caso contrário, esse campo é armazenado como null. Campo válido apenas para carteiras criadas internamente pela plataforma da goTokens.
status - String
Status da wallet no sistema. Pode variar entre active ou disabled.
Código
Descrição
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Código
Descrição
1
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
/Users
(JWT) Lista usuários de acordo com os campos buscados e permissionamento
GEThttps://goblockchain.io/gotokens-api/v1/users
Lista usuários que fazem parte da empresa ou comunidade do usuário logado.
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator
Lista à quais empresas um determinado usuário tem acesso em comum com o usuário logado. O acesso em comum garante que um usuário veja apenas empresas da qual ele também faz parte.
Nível de permissionamento necessário: company_admin, company_moderator
Lista à quais comunidades um determinado usuário tem acesso em comum com o usuário logado. O acesso em comum garante que um usuário veja apenas comunidades da qual ele também faz parte.
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator
Path Parameters
Name
Type
Description
userId*
String
ID do Usuário
Query Parameters
Name
Type
Description
limit
String
Limite de resultados da busca
offset
String
Quantidade de resultados para avançar da busca
Headers
Name
Type
Description
authorization*
Bearer
JWT
{"communities": [ {"publicId":"123","role":"member","name":"Community A","description":"Description of Community A" }, {"publicId":"456","role":"admin","name":"Community B","description":"Description of Community B" } ]}
publicId - String
Identificador único de uma Comunidade no Banco de Dados.
role - String
Nome identificador que guarda a referência de permissões de um nível de acesso à Comunidade.
name - String
Nome da Comunidade.
description - String
Breve descrição da Comunidade.
Código
Descrição
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Código
Descrição
1
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
/Users/Transactions
Fluxo de Status dos Pedidos
Nome
Descrição
opened_order
Quando um usuário inicia uma solicitação de compra ou venda, é criado um Pedido com o status opened_order.
pending_payment
Ao selecionar o meio de pagamento e gerar a solicitação de pagamento, o status do Pedido é alterado para pending_payment.
processing_payment
Ao ser reconhecido o pagamento por meio do gateway, a ordem é processada e aguarda o retorno do gateway para o recolhimento do valor pago, identificado pelo status processing_payment.
approved_payment
Aprovado e recebido o pagamento, o status do pedido é alterado para approved_payment e é iniciado o processo de envio do token.
queue_send_token
Quando o token entra na fila para ser mintado/transferido, ele recebe o status queue_send_token.
success_send_token
Quando o token foi devidamente enviado ao seu destinatário, o fluxo de compra termina com o status success_send_token.
failed
Caso haja falha em algum dos passos anteriores, o status failedé aplicado e o pedido entra em uma fila de retentativas.
cancelled
Caso o numero de retentativas em algum dos status seja maior que o estipulado, o envio do token é cancelado, finalizando o fluxo com o status cancelled.
refounded
Caso o cancelamento de um pedido ocorra antes do envio do NFT com sucesso para seu comprador, o pagamento do mesmo será estornado para a origem e resultará no status de refounded.
Armazena informações relativas ao item da transação.
tokenId - String
Identificador que guarda a referência ao ID do token no banco de dados.
communityId - String
Identificador que guarda a referência ao ID da comunidade gestora do token.
companyId - String
Identificador que guarda a referência ao ID da empresa gestora do token.
operation - Object
Armazena dados gerais de transação
type - String
Tipo de operação da transação (buy para operação de compra, sellpara operação de vendas, bid para operação de lance em leilões, rent_out para itens postos para alugar e rent para tokens alugados).
payment - Object
Armazena dados relativos ao pagamento da transação
price - String
Valor relativo ao preço agregado à transação do Token, seja para uma operação de compra, venda ou aluguel
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.
method - String
Nome do meio de pagamento utilizado na transação.
lastStatus - String
Informa o último status conhecido da transação, podendo ser opened_order, pending_payment, processing_payment, approved_payment, queue_send_token, success_send_token, failed, cancelledou refounded.
Código
Descrição
1
Credenciais de acesso necessárias. Por favor, execute sua autenticação na plataforma.
Código
Descrição
1
Acesso restrito ao recurso.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.