Um voucher é um código resgatável atrelado à um benefício. Tal código de resgate é criado e gerenciado internamente dentro da API de benefícios, mas suas rotas podem ser utilizadas individualmente também.
No caso de um resgate de um voucher por um membro de uma comunidade, a interação com a API de voucher deve ser direta, através da rota de resgate /vouchers/:voucherId.
Objeto Voucher
Exemplo de Objeto de Voucher
{"id": "8798wdefs","type": "benefit"|"airdrop","tokenBenefitId": "789fgres1as"|null,"collectionId": null|"fs21g65eahjn","tokenId" : null|"798efsf3sgf","code": "50OFF","requiredFormData": [ {"name":"Endereço","type":"text""placeholder": "Digite aqui seu endereço para entrega de benefícios","content":null }, {"name":"E-mail","type":"email""placeholder": "Digite aqui seu melhor e-mail","content":null }, {"name":"Celular","type":"phone","placeholder":"Digite aqui seu número de celular","content":null } ]"revealStatus": "revealed","revealDate": "2022-10-15 15:07:12""redeemStatus": null,"redeemDate": null}
Endpoints
Resgate de vouchers
GET /v1/vouchers/:voucherId/validate
POST /v1/vouchers/:voucherId
POST /v1/vouchers/:voucherId/redeem
Gestão de vouchers
GET /v1/vouchers/collection/:collectionId/manage
POST /v1/vouchers/manage
PATCH /v1/vouchers/:voucherId/manage
Resgate de Vouchers
(JWT) Verifica se um dado código de voucher é valido
Essa rota revela ao usuário se um dado voucher é válido.
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator, member
Query Parameters
Headers
{"isValid": true,"voucherId" : "d78w9a-aw8d746-1vse3r2d-wd8a79","requiredFormData" : [ {"name":"Endereço","type":"text""placeholder": "Digite aqui seu endereço para entrega de benefícios" }, {"name":"E-mail","type":"email""placeholder": "Digite aqui seu melhor e-mail" }, {"name":"Celular","type":"phone","placeholder":"Digite aqui seu número de celular" } ]}
isValid - Boolean
Variável que retorna se um dado código de voucher é válido ou não.
voucherId - String
Identificador próprio do voucher.
requiredFormData - Array of Objects
Conjunto de dados necessários para liberação do uso do voucher.
Essa rota revela ao usuário o código de um voucher que o mesmo tem direito caso todos seus campos da requisição sejam válidos.
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator, member
Path Parameters
Headers
Request Body
Caso o voucher seja referente ao resgate de um benefício de um token, ele terá os seguintes campos como retorno:
{"id": "8798wdefs","type": "benefit""tokenBenefitId": "789fgres1as","code": "50OFF","revealStatus": "revealed","revealDate": "2022-10-15 15:07:12","requiredFormData": [ {"name":"Endereço","type":"text""placeholder": "Digite aqui seu endereço para entrega de benefícios","content":"Rua Aristides Maia, 204, Catumbi, Rio de Janeiro, RJ" }, {"name":"E-mail","type":"email""placeholder": "Digite aqui seu melhor e-mail","content":"meu@email.com" }, {"name":"Celular","type":"phone","placeholder":"Digite aqui seu número de celular","content":"5521998789636" } ]}
Caso o voucher seja referente ao resgate direto de um token, como atrelado à uma coleção do tipo Airdrop ou POAP, ele terá os seguintes campos como retorno:
{"id": "8798wdefs","type": "airdrop","collectionId": "fs21g65eahjn","tokenId" : "798efsf3sgf","code": "B87QM","revealStatus": "revealed","revealDate": "2022-10-15 15:07:12","requiredFormData": [ {"name":"Endereço","type":"text""placeholder": "Digite aqui seu endereço para entrega de benefícios","content":"Rua Aristides Maia, 204, Catumbi, Rio de Janeiro, RJ" }, {"name":"E-mail","type":"email""placeholder": "Digite aqui seu melhor e-mail","content":"meu@email.com" }, {"name":"Celular","type":"phone","placeholder":"Digite aqui seu número de celular","content":"5521998789636" } ]}
id - String
Identificador próprio do benefício.
type - String
Determina o tipo de voucher à que se refere. Pode ser benefit ou airdrop.
benefitId - String
Identificador próprio relativo ao benefício com o qual o voucher se relaciona, quando ele é do tipo benefit.
collectionId - String
Identificador próprio relativo à coleção com o qual o voucher se relaciona, quando ele é do tipo airdrop.
tokenId - String
Identificador próprio relativo ao token resgatável com o qual o voucher se relaciona, quando ele é do tipo airdrop.
code - String
Código de resgate do benefício.
revealStatus - String
Status de revelação do código do benefício. Pode ser revealed ou hidden.
revealDate - DateTime
Data e hora da revelação do código do benefício.
requiredFormData - Array of Objects
Conjunto de dados necessários para liberação do uso do voucher.
name - String
Nome do campo de dados necessário.
type - String
Tipo de dado solicitado.
placeholder - String
Texto auxiliar de preenchimento do campo.
content - String
Conteúdo preenchido pelo usuário no resgate do voucher.
(JWT) Resgata um código de voucher de Airdrop ou POAP
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator
Headers
Request Body
Caso o voucher seja referente ao resgate de um benefício de um token, ele terá os seguintes campos como retorno:
{"id": "8798wdefs","type": "benefit""tokenBenefitId": "789fgres1as","code": "50OFF","revealStatus": "unrevealed","revealDate": null,"redeemStatus": null,"redeemDate": null,"requiredFormData" : [ {"name":"Endereço","type":"text""placeholder": "Digite aqui seu endereço para entrega de benefícios" }, {"name":"E-mail","type":"email""placeholder": "Digite aqui seu melhor e-mail" }, {"name":"Celular","type":"phone","placeholder":"Digite aqui seu número de celular" } ]}
Caso o voucher seja referente ao resgate direto de um token, como atrelado à uma coleção do tipo Airdrop ou POAP, ele terá os seguintes campos como retorno:
{"id": "8798wdefs","type": "airdrop","collectionId": "fs21g65eahjn","tokenId" : "798efsf3sgf","code": "B87QM","revealStatus": "unrevealed","revealDate": null,"redeemStatus": null,"redeemDate": null,"requiredFormData" : [ {"name":"Endereço","type":"text""placeholder": "Digite aqui seu endereço para entrega de benefícios" }, {"name":"E-mail","type":"email""placeholder": "Digite aqui seu melhor e-mail" }, {"name":"Celular","type":"phone","placeholder":"Digite aqui seu número de celular" } ]}
id - String
Identificador próprio do benefício.
type - String
Determina o tipo de voucher à que se refere. Pode ser benefit ou airdrop.
benefitId - String
Identificador próprio relativo ao benefício com o qual o voucher se relaciona, quando ele é do tipo benefit.
collectionId - String
Identificador próprio relativo à coleção com o qual o voucher se relaciona, quando ele é do tipo airdrop.
tokenId - String
Identificador próprio relativo ao token resgatável com o qual o voucher se relaciona, quando ele é do tipo airdrop.
code - String
Código de resgate do benefício.
revealStatus - String
Status de revelação do código do benefício. Pode ser revealed ou hidden.
revealDate - DateTime
Data e hora da revelação do código do benefício.
requiredFormData - Array of Objects
Conjunto de dados necessários para liberação do uso do voucher.
name - String
Nome do campo de dados necessário.
type - String
Tipo de dado solicitado.
placeholder - String
Texto auxiliar de preenchimento do campo.
content - String
Conteúdo preenchido pelo usuário no resgate do voucher.
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator
Path Parameters
Headers
Request Body
Caso o voucher seja referente ao resgate de um benefício de um token, ele terá os seguintes campos como retorno:
{"id": "8798wdefs","type": "benefit""tokenBenefitId": "789fgres1as","code": "10OFF","revealStatus": "revealed","revealDate": "2022-10-14 12:27:31","redeemStatus": null,"redeemDate": null,"requiredFormData" : [ {"name":"Endereço","type":"text""placeholder": "Digite aqui seu endereço para entrega de benefícios" }, {"name":"E-mail","type":"email""placeholder": "Digite aqui seu melhor e-mail" }, {"name":"Celular","type":"phone","placeholder":"Digite aqui seu número de celular" } ]}
Caso o voucher seja referente ao resgate direto de um token, como atrelado à uma coleção do tipo Airdrop ou POAP, ele terá os seguintes campos como retorno:
{"id": "8798wdefs","type": "airdrop","collectionId": "fs21g65eahjn","tokenId" : "798efsf3sgf","code": "B750M","revealStatus": "revealed","revealDate": "2022-10-14 12:27:31","redeemStatus": null,"redeemDate": null,"requiredFormData" : [ {"name":"Endereço","type":"text""placeholder": "Digite aqui seu endereço para entrega de benefícios" }, {"name":"E-mail","type":"email""placeholder": "Digite aqui seu melhor e-mail" }, {"name":"Celular","type":"phone","placeholder":"Digite aqui seu número de celular" } ]}
id - String
Identificador próprio do benefício.
type - String
Determina o tipo de voucher à que se refere. Pode ser benefit ou airdrop.
benefitId - String
Identificador próprio relativo ao benefício com o qual o voucher se relaciona, quando ele é do tipo benefit.
collectionId - String
Identificador próprio relativo à coleção com o qual o voucher se relaciona, quando ele é do tipo airdrop.
tokenId - String
Identificador próprio relativo ao token resgatável com o qual o voucher se relaciona, quando ele é do tipo airdrop.
code - String
Código de resgate do benefício.
revealStatus - String
Status de revelação do código do benefício. Pode ser hidden ou revealed.
revealDate - DateTime
Data e hora da revelação do código do benefício.
redeemStatus - String
Status de resgate do código do benefício. Pode ser null ou redeemed.
redeemDate - DateTime
Data e hora do resgate do código do benefício.
requiredFormData - Array of Objects
Conjunto de dados necessários para liberação do uso do voucher.
name - String
Nome do campo de dados necessário.
type - String
Tipo de dado solicitado.
placeholder - String
Texto auxiliar de preenchimento do campo.
content - String
Conteúdo preenchido pelo usuário no resgate do voucher.