goTokens
  • 🚀Comunidade goBlockchain
  • goTokens
    • 🤯Sobre a goTokens
    • 😎Casos de uso com a goTokens?
      • 👊Mão na massa!
        • 🎟️Caso 01 - Cartelinha de selos de Fidelidade
          • 💡Outras ideias...
    • 🌐Módulos goTokens
    • 😎Como começar - Usuário
      • Validação de Benefício
      • Resgate de colecionáveis
    • 🤓 Como começar - Admin
      • Customizando Whitelabel Web
      • Visão Geral
      • Dashboard
      • Criar uma comunidade
      • Criar coleção de Venda
      • Criar coleção de Airdrop
      • Criar coleção de POAP
      • Criar coleção de Membership
      • Moedas de Utilidade
      • Membership
      • Criar Colecionável de (Venda)
      • Criar NFT (POAP ou Airdrop)
      • Ativar uma coleção ou colecionável
      • Editar Whitelabel
      • Token Gating
      • Configurar Mercado Pago
      • Como visualizar meu saldo
      • Criar benefício
      • Criando um desafio
      • Vouchers de resgate
      • Validação de Benefício
      • Transferir NFT para Metamask
      • Integração Sympla
    • ⚙️API Fidelidade
      • Autenticação
      • Autorização
      • Usuário
      • Empresa
      • Comunidade
      • Coleções
      • Token
      • Benefícios
      • Vouchers
      • Transações
      • Marketplace
      • White Label
      • Token Gating
    • ⚙️API Garantias
      • Autenticação
      • Garantias
    • 📖FAQ
    • 🔥Suporte
  • 💰Modelo comercial
  • 🗒️Changelog
  • Aprender
    • ⛓️Artigos goBlockchain
  • Legal
    • 📔Termos e condições
    • 🔐Política de privacidade
  • Contatos
    • Instagram
    • Meetup
    • Youtube
    • Github
    • Linkedin
    • Medium
    • Email
Powered by GitBook
On this page
  • Resumo
  • Objeto Transaction
  • Endpoints
  • Transações
  • (JWT) Lista as transações recentes do usuário logado
  • (JWT) Cria uma nova transação
  • (JWT) Lista os dados de uma transação do usuário logado
  • (Webhook) Edita dados de uma transação

Was this helpful?

  1. goTokens
  2. API Fidelidade

Transações

Resumo

API responsável por monitorar o recurso de transações feitas dentro do sistema. Ela possui status pré-definidos de acordo com uma progressão cronológica e casos de cancelamento e retentativas devido à qualquer tipo de instabilidade.

Como funciona

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 ou, em caso de leilões, quando o lance dado é superado por outro, o envio do token é cancelado, seguindo o fluxo com o status cancelled.

refounded

Caso o cancelamento de um pedido ocorra antes do envio do Token com sucesso para seu comprador, o pagamento do mesmo será estornado para a origem e resultará no status de refounded.

Objeto Transaction

Exemplo de um Objeto de Transação
 "transactions": [
    {
       "id":"sef897sef",
       "userId": "w87d9a45fs",
       "item":{
          "tokenId": "f79sef456",
          "collectionId": "78sefd2s",
          "companyId": "789wease1f"
       },
       "operation": {
          "type": "buy",
          "from": "0x00001",
          "to": "0x01000"
       },
       "transactionHash": "ed784fes48es4f1fes8",
       "payment":{
          "price": "120",
          "decimals": "2"
          "currency": "ETH",
          "method": "pix",
          "priceInBrl": "685020", 
          "expiration": "05/05/2020 18:20:25"
       },
       "lastStatus": "success_send_token",
       "historyStatus": [
          {
             "date" : "05/05/2020 18:15:20",
             "status": "opened_order",
             "retries": null,
             "error": null
          },
          {
             "date" : "05/05/2020 18:15:25",
             "status": "pending_payment",
             "retries": null,
             "error": null
          },
          {
             "date" : "05/05/2020 18:17:05",
             "status": "processing_payment",
             "retries": null,
             "error": null
          },
          {
             "date" : "05/05/2020 18:17:25",
             "status": "approved_payment",
             "retries": null,
             "error": null     
          },
          {
             "date" : "05/05/2020 18:17:45",
             "status": "queue_send_token",
             "retries": null,
             "error": null
          },
          {
             "date" : "05/05/2020 18:18:30",
             "status": "success_send_token",
             "retries": null,
             "error": null         
          }
       ]
     }
  ]
}

Endpoints

  • GET /v1/transactions

  • POST /v1/transactions

  • GET /v1/transactions/:transactionId

  • PATCH /v1/transactions/:transactionId

Transações

(JWT) Lista as transações recentes do usuário logado

GET https://goblockchain.io/gotokens-api/v1/transactions

Lista informações básicas das transações recentes do usuário logado.

Nível de permissionamento necessário: qualquer

Query Parameters

Name
Type
Description

limit

String

Limite de resultados da busca

offset

String

Quantidade de resultados para avançar da busca

lastStatus

String

Último status da transação

Headers

Name
Type
Description

authorization*

Bearer

JWT

{
    "transactions": [
    {
      "id":"wda8971da3w2"
      "item":{
        "tokenId": "8wad12wa3ds",
        "communityId": "8f7es7fs65",
        "companyId": "ef7sef5sef"
      },
      "operation":{
         "type": "buy",
      },
      "payment": {
        "price": "120",
        "decimals": "2",
        "currency": "ETH",
        "method": "pix",
      }
      "lastStatus": "success_send_token"
    },
    {
      "id":"2"
      "item":{
        "tokenId": "ferswad85f8",
        "communityId": "8f7es7fs65",
        "companyId": "ef7sef5sef"
      },
      "operation":{
         "type": "sell",
      },
      "payment": {
        "price": "70",
        "decimals": "2",
        "currency": "MATIC",
        "method": "credit_card",
      }
      "lastStatus": "processing_payment"
    },
  ]
}
  • id - String

    Identificador único de uma transação.

  • item - Object

    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, sell para 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, cancelled ou 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.

(JWT) Cria uma nova transação

POST https://goblockchain.io/gotokens-api/v1/transactions

Nível de permissionamento necessário: sistema

Headers

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

item*

Object

Objeto com informações referentes ao token da transação

operation*

Object

Objeto com informações referentes à natureza da transação

payment*

Object

Objeto com informações referentes ao pagamento da transação

{
    "id":"sef897sef",
    "userId": "w87d9a45fs",
    "item":{
       "tokenId": "f79sef456",
       "collectionId": "78sefd2s",
       "companyId": "789wease1f"
    },
    "operation":{
       "type": "buy",
       "from": "0x00001",
       "to": "0x02002",
    },
    "payment":{
       "price": "120",
       "decimals": "2"
       "currency": "ETH",
       "method": null,
       "priceInBrl": null, 
       "expirationDate": "05/05/2020 18:20:25"
    },
    "lastStatus": "opened_order",
    "historyStatus": [
       {
          "date" : "05/05/2020 18:15:20",
          "status": "opened_order",
          "retries": null,
          "error": null
       }
    ]
}
  • id - String

    Identificador único de uma transação.

  • userId - String

    Identificador próprio do usuário que iniciou a transação.

  • item - Object

    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, sell para 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).

    • from - String

      Endereço de origem da operação.

    • to - String

      Endereço de destino da operação.

  • 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, cancelled ou refounded.

  • historyStatus - Array of Objects

    Armazena o histórico de status de uma dada transação

    • date - DateTime

      Armazena a data de criação do status em questão

    • status - String

    • retries - Integer

      Armazena a quantidade de retentativas de progresso de um status. É utilizado caso ocorra uma instabilidade interna ou externa relativa ao meio de pagamento.

    • error - String

      Armazena a mensagem de erro de um retry.

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) Lista os dados de uma transação do usuário logado

GET https://goblockchain.io/gotokens-api/v1/transactions/:transactionId

Essa requisição busca maior detalhamento em relação às transações de um usuário, trazendo todo o conteúdo associado à ela.

Nível de permissionamento necessário: qualquer

Headers

Name
Type
Description

authorization*

Bearer

JWT

{
    "id":"sef897sef",
    "userId": "w87d9a45fs",
    "item":{
       "tokenId": "f79sef456",
       "collectionId": "78sefd2s",
       "companyId": "789wease1f"
    },
    "operation":{
       "type": "buy",
       "from": "0x00001",
       "to": "0x01000"
    },
    "transactionHash": "ed784fes48es4f1fes8",
    "payment":{
       "price": "120",
       "decimals": "2"
       "currency": "ETH",
       "method": "pix",
       "priceInBrl": "685020", 
       "expirationDate": "05/05/2020 18:20:25"
    },
    "lastStatus": "success_send_token",
    "historyStatus": [
       {
          "date" : "05/05/2020 18:15:20",
          "status": "opened_order",
          "retries": null,
          "error": null
       },
       {
          "date" : "05/05/2020 18:15:25",
          "status": "pending_payment",
          "retries": null,
          "error": null
       },
       {
          "date" : "05/05/2020 18:17:05",
          "status": "processing_payment",
          "retries": 1,
          "error": "500 Internal Server Error"
       },
       {
          "date" : "05/05/2020 18:17:25",
          "status": "approved_payment",
          "retries": null,
          "error": "500 Internal Server Error"         
       },
       {
          "date" : "05/05/2020 18:17:45",
          "status": "queue_send_token",
          "retries": null,
          "error": null         
       },
       {
          "date" : "05/05/2020 18:18:30",
          "status": "success_send_token",
          "retries": null,
          "error": null         
       }
    ]
}
  • id - String

    Identificador único de uma transação.

  • item - Object

    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, sell para 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).

    • from - String

      Endereço de origem da operação.

    • to - String

      Endereço de destino da operação.

  • transactionHash - String

    Endereço de hash da transação em WEB3.

  • 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, cancelled ou refounded.

  • historyStatus - Array of Objects

    Armazena o histórico de status de uma dada transação

    • date - DateTime

      Armazena a data de criação do status em questão

    • status - String

    • retries - Integer

      Armazena a quantidade de retentativas de progresso de um status. É utilizado caso ocorra uma instabilidade interna ou externa relativa ao meio de pagamento.

    • error - String

      Armazena a mensagem de erro de um retry.

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.

(Webhook) Edita dados de uma transação

PATCH https://goblockchain.io/gotokens-api/v1/transactions/:transactionId

Nível de permissionamento necessário: sistema

Headers

Name
Type
Description

authorization*

Bearer

JWT

Request Body

Name
Type
Description

payment

Object

Objeto com informações referentes ao pagamento da transação

lastStatus

String

Último status da transação

historyStatus

Objeto

Objeto com detalhamentos referentes aos status da transação

transactionHash

String

Hash identificador da transação em WEB3

{
    "id":"sef897sef",
    "userId": "w87d9a45fs",
    "item":{
       "tokenId": "f79sef456",
       "collectionId": "78sefd2s",
       "companyId": "789wease1f"
    },
    "operation":{
       "type": "buy",
       "from": "0x00001",
       "to": "0x01000"
    },
    "transactionHash": "ed784fes48es4f1fes8",
    "payment":{
       "price": "120",
       "decimals": "2"
       "currency": "ETH",
       "method": "pix",
       "priceInBrl": "685220", 
       "expirationDate": "05/05/2020 18:20:25"
    },
    "lastStatus": "opened_order",
    "historyStatus": [
       {
          "date" : "05/05/2020 18:15:20",
          "status": "opened_order",
          "retries": null,
          "error": null
       },
       {
          "date" : "05/05/2020 18:15:25",
          "status": "pending_payment",
          "retries": null,
          "error": null
       },
    ]
}
  • id - String

    Identificador único de uma transação.

  • userId - String

    Identificador próprio do usuário que iniciou a transação.

  • item - Object

    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, sell para 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).

    • from - String

      Endereço de origem da operação.

    • to - String

      Endereço de destino da operação.

  • transactionHash - String

    Endereço de hash da transação em WEB3.

  • 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, cancelled ou refounded.

  • historyStatus - Array of Objects

    Armazena o histórico de status de uma dada transação

    • date - DateTime

      Armazena a data de criação do status em questão

    • status - String

    • retries - Integer

      Armazena a quantidade de retentativas de progresso de um status. É utilizado caso ocorra uma instabilidade interna ou externa relativa ao meio de pagamento.

    • error - String

      Armazena a mensagem de erro de um retry.

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.

PreviousVouchersNextMarketplace

Last updated 2 years ago

Was this helpful?

Armazena o status. Segue o fluxo explicitado .

Armazena o status. Segue o fluxo explicitado .

Armazena o status. Segue o fluxo explicitado .

⚙️
acima
acima
acima