Token Gating
Controle de acesso baseado em tokens
Resumo
Solução avançada permitindo uma conexão profunda com comunidades web3. Utilizando nossa API, empresas podem definir condições baseadas em tokens ERC20 e NFTs.
Essa API é altamente flexível e poderosa, permitindo que você, como empresa, configure condições complexas para controlar o acesso.
Utilizando operadores lógicos como AND (&) e OR (|), você pode criar regras de acesso multifacetadas. Por exemplo, você pode definir uma condição que diz: "Se um membro da comunidade X possuir TokenA E TokenB, ele terá acesso", ou "Se um membro da comunidade Y possuir TokenC OU TokenD, ele terá acesso".
Desta forma, você pode usar a API para configurar um sistema de token gated personalizado que atenda às suas necessidades específicas e ajude a fomentar o envolvimento da comunidade.
Criação do token gating
POST
https://hml-mywayend.gotokens.io/api/v1/token-gate
Criação do token gating
POST
https://hml-mywayend.gotokens.io/api/v1/token-gate
Esse endpoint cria um token gate e define o benefício pode ser aplicado a esse acesso. Desde um simples acesso ou uma porcentagem de desconto.
Request Body
Name | Type | Description |
---|---|---|
name* | String | Um nome que te lembre a que token gate se refire |
discountPercentage | Número | Porcentagem de desconto caso o pagamento seja realizado direto pela goTokens. O número inserido será em decimais, ou seja, para dar 10% de desconto, o valor inserido será 1000. (Equivalente a 10,00%) Caso não deseje dar desconto, apague este campo |
givesWhitelistAccess* | Booleano | Se queremos dar acesso ao usuário esse parâmetro deve ser "true" |
maxUsageLimit | Número | Se definido, será a quantidade de acessos que um usuário pode passar pelo token gate |
Cadastro dos tokens que darão acesso ao token gating
POST
https://hml-mywayend.gotokens.io/api/v1/token-gate/condition
Request Body
Name | Type | Description |
---|---|---|
name* | String | Um nome que te lembre a que tokens se refire |
contractAddress* | String | Endereço do contrato dos tokens na blockchain |
individualTokenIds | Array | Se deseja explicitar os token que são válidos para o token gate, passe nesse array de strings. Se esse valor não for passado, qualquer token do contrato será aceito. |
conditionalOperator* | String | O usuário precisa cumprir com os requisitos apenas para 1 token ou para todos? Para um, colocar: "or" Para todos, colocar: "and" |
countType* | String | Como a quantidade de tokens de um usuário é contada. Em outras palavras, o "amount" é aplicado a 1 token ou ao conjunto de tokens? Exemplo: Se o usuário precisa ter 1 de cada token a contagem é individual. Caso precise ter 1 token ao todo, a contagem é a soma de todos os tokens. Valores possíveis "individual" ou "sum" |
amount* | Número | Quantidade necessária para o acesso ao token gate |
network* | String | Rede blockchain do token. Valores possíveis: "ethereum_mainnet", "polygon_mainnet", "gnosis_mainnet", "ethereum_goerli", "polygon_mumbai", "gnosis_testnet", |
Associação de condição com token gating
POST
https://hml-mywayend.gotokens.io/api/v1/token-gate/condition/{id}/add/token-gate
Request Body
Name | Type | Description |
---|---|---|
name* | String | NVtVtd7wGfZs |
discountPercentage | Número | CsI14yanypav |
givesWhitelistAccess* | Booleano | VFHNbLUEMw4v |
maxUsageLimit | Número | SyFnUrxEsz01 |
Cadastro dos tokens que darão acesso ao token gating
POST
https://hml-mywayend.gotokens.io/api/v1/token-gate/condition
Request Body
Name | Type | Description |
---|---|---|
name* | String | wuZVBBEBY8mW |
contractAddress* | String | 175t5a12m78e |
individualTokenIds | Array | rDzojMB012cS |
conditionalOperator* | String | GqoPFn0HCf3G |
countType* | String | NOlbiUZX9voi |
amount* | Número | GvAeotH6mmtE |
network* | String | DjG3laxWZ79R |
Associação de condição com token gating
POST
https://hml-mywayend.gotokens.io/api/v1/token-gate/condition/{id}/add/token-gate
Essa rota associa um token gate com as condições necessárias para acessar o mesmo
Path Parameters
Name | Type | Description |
---|---|---|
* | String | id do grupo de tokens cadastrado (condição) no passo anterior |
Request Body
Name | Type | Description |
---|---|---|
benefitIds* | Array | Array de strings contendo o id dos token gates que queremos associar com o grupo de tokens cadastrado (condição) |
Verificação do Token Gating
POST
https://hml-mywayend.gotokens.io/api/v1/token-gate/check/manage
Path Parameters
Name | Type | Description |
---|---|---|
* | String | Fb0rZS5tVcHT |
Request Body
Name | Type | Description |
---|---|---|
benefitIds* | Array | 6bpH3yYOJF1H |
Verificação do Token Gating
POST
https://hml-mywayend.gotokens.io/api/v1/token-gate/check/manage
Verifica se um usuário pode ou não acessar um conteúdo protegido por token gate
Request Body
Name | Type | Description |
---|---|---|
userWallets* | Array | Lista de wallets de um usuário, caso o mesmo possua mais de uma carteira |
benefitIds* | Array | Lista de ids de benefícios que você quer ver se o usuário tem direito |
Request Body
Name | Type | Description |
---|---|---|
userWallets* | Array | fnpLRsh8z3MU |
benefitIds* | Array | Xw5dq3YVL7ej |
Last updated