Utilidades associadas aos tokens para engajamento de comunidade
Resumo
Se tratando de um programa de loyalties, é imprescindível que a API seja flexível o suficiente para garantir que a comunidade terá interesse em se manter engajada com benefícios exclusivos de sua participação no sistema.
Os benefícios são relacionados diretamente às NFTs, criando, assim, utilidades exclusivas para elas.
Caso o programa utilize "moedas", elas precisam ser trocadas por uma NFT para que o dono conquiste o benefício.
Os benefícios poderão ser digitais ou físicos, podendo expirar ou não.
Exemplos:
Físico - Acesso a evento de música
Físico - Voucher de desconto no ecommerce
Digital - Acesso ao grupo do Discord
Um benefício físico ou digital poderá ser associado à vouchers únicos que são apresentados quando um proprietário da NFT desejar. Esses vouchers são temporários, reduzindo riscos de segurança.
Cenário:
João possui uma NFT que lhe dá direito para assistir um show de música. Ao chegar na portaria, ele solicita a geração de um QRCode que deverá ser escaneado enquanto estiver válido. Caso o tempo expire, ele precisará solicitar um novo QRCode.
Como as NFTs podem ser negociadas no mercado secundário, a API de benefícios permite que que eles sejam associados ao metadata das NFTs, para que compradores possam visualizá-los na Opensea, por exemplo.
Armazena as informações de cada benefício que o usuário logado tem direito.
id - String
Identificador próprio do benefício.
companyId - String
Identificador próprio da empresa gestora da comunidade.
communityId - String
Identificador próprio da comunidade gestora da coleção.
collectionId - String
Identificador próprio da coleção do token com aquele benefício.
name - String
Nome do benefício.
description - String
Descrição do benefício, podendo conter instruções de seu resgate.
externalUrl - String
Link para redirecionamento externo caso o benefício exija alguma ação externa.
type - String
Tipo de resgate do benefício. Pode ser digital ou physical.
expirationDate - DateTime
Data e hora de validade do benefício, quando necessário.
tags - Array
Conjunto de tags do benefício
hasVouchers - Boolean
Indica se determinado benefício deve possuir vouchers atrelados aos tokens. Caso true, a API atribui os códigos passados na requisição. Caso não sejam passados códigos, ela gerará códigos aleatórios de 8 caracteres distintos para cada token associado. Caso false, nenhum tratamento adicional é feito e os campos voucherId dentro de elegibleTokens são preenchidos como null.
elegibleTokens- Array of Objects
Armazena os dados dos identificadores de tokens e vouchers relacionados àquele benefício.
tokenId - String
Identificador próprio do token que dá direito àquele benefício.
voucherId - String
Identificador próprio relativos ao voucher relacionados ao benefício. Pode ser null se o benefício não der direito à um voucher.
Essa rota permite a criação de um benefício e a aplicação dele à diversos tokens, assim como a criação sequencial de cada um dos vouchers passados como parâmetro em voucherCodes, já retornando na resposta o objeto final com os id dos vouchers.
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator
Identificador próprio da empresa gestora da comunidade.
communityId - String
Identificador próprio da comunidade gestora da coleção.
collectionId - String
Identificador próprio da coleção do token com aquele benefício.
name - String
Nome do benefício.
description - String
Descrição do benefício, podendo conter instruções de seu resgate.
externalUrl - String
Link para redirecionamento externo caso o benefício exija alguma ação externa.
type - String
Tipo de resgate do benefício. Pode ser benefit ou airdrop.
rewardType - String
Tipo do benefício em si. Pode ser digital ou physical.
status- String
Status de atividade do benefício. Pode ser active ou disabled.
tags - Array
Conjunto de tags do benefício.
expirationDate - DateTime
Data e hora de validade do benefício, quando necessário.
hasVouchers - Boolean
Indica se determinado benefício deve possuir vouchers atrelados aos tokens. Caso true, a API atribui os códigos passados na requisição. Caso não sejam passados códigos, ela gerará códigos aleatórios de 8 caracteres distintos para cada token associado. Caso false, nenhum tratamento adicional é feito e os campos voucherId dentro de elegibleTokens são preenchidos como null.
elegibleTokens- Array of Objects
Armazena os dados dos identificadores de tokens e vouchers relacionados àquele benefício.
tokenId - String
Identificador próprio do token que dá direito àquele benefício.
voucherId - String
Identificador próprio relativos ao voucher relacionados ao benefício. Pode ser null se o benefício não der direito à um voucher.
(JWT) Lista as informações de um determinado benefício para um administrador
Armazena as informações de cada benefício que o usuário logado tem direito.
id - String
Identificador próprio do benefício.
companyId - String
Identificador próprio da empresa gestora da comunidade.
communityId - String
Identificador próprio da comunidade gestora da coleção.
collectionId - String
Identificador próprio da coleção do token com aquele benefício.
name - String
Nome do benefício.
description - String
Descrição do benefício, podendo conter instruções de seu resgate.
externalUrl - String
Link para redirecionamento externo caso o benefício exija alguma ação externa.
type - String
Tipo de resgate do benefício. Pode ser digital ou physical.
tags - Array
Conjunto de tags do benefício.
expirationDate - DateTime
Data e hora de validade do benefício, quando necessário.
hasVouchers - Boolean
Indica se determinado benefício deve possuir vouchers atrelados aos tokens. Caso true, a API atribui os códigos passados na requisição. Caso não sejam passados códigos, ela gerará códigos aleatórios de 8 caracteres distintos para cada token associado. Caso false, nenhum tratamento adicional é feito e os campos voucherId dentro de elegibleTokens são preenchidos como null.
elegibleTokens- Array of Objects
Armazena os dados dos identificadores de tokens e vouchers relacionados àquele benefício.
tokenId - String
Identificador próprio do token que dá direito àquele benefício.
voucherId - String
Identificador próprio relativos ao voucher relacionados ao benefício. Pode ser null se o benefício não der direito à um voucher.
Identificador próprio da empresa gestora da comunidade.
communityId - String
Identificador próprio da comunidade gestora da coleção.
collectionId - String
Identificador próprio da coleção do token com aquele benefício.
name - String
Nome do benefício.
description - String
Descrição do benefício, podendo conter instruções de seu resgate.
externalUrl - String
Link para redirecionamento externo caso o benefício exija alguma ação externa.
type - String
Tipo de resgate do benefício. Pode ser digital ou physical.
tags - Array
Conjunto de tags do benefício.
expirationDate - DateTime
Data e hora de validade do benefício, quando necessário.
hasVouchers - Boolean
Indica se determinado benefício deve possuir vouchers atrelados aos tokens. Caso true, a API atribui os códigos passados na requisição. Caso não sejam passados códigos, ela gerará códigos aleatórios de 8 caracteres distintos para cada token associado. Caso false, nenhum tratamento adicional é feito e os campos voucherId dentro de elegibleTokens são preenchidos como null.
elegibleTokens- Array of Objects
Armazena os dados dos identificadores de tokens e vouchers relacionados àquele benefício.
tokenId - String
Identificador próprio do token que dá direito àquele benefício.
voucherId - String
Identificador próprio relativos ao voucher relacionados ao benefício. Pode ser null se o benefício não der direito à um voucher.