Vouchers
Resumo
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
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
GET https://goblockchain.io/gotokens-api/v1/vouchers/validate
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
code*
String
Código do Voucher
type*
String
Tipo do Voucher (benefit | airdrop)
tokenBenefitId
String
ID do Benefício (necessário caso tipo seja benefit)
collectionId
String
ID da Coleção (necessário caso tipo seja airdrop)
tokenId
String
ID do Token (necessário caso tipo seja airdrop)
Headers
authorization*
Bearer
JWT
{
"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- BooleanVariável que retorna se um dado código de voucher é válido ou não.
voucherId- StringIdentificador próprio do voucher.
requiredFormData- Array of ObjectsConjunto de dados necessários para liberação do uso do voucher.
name- StringNome do campo de dados necessário.
type- StringTipo de dado solicitado.
placeholder- StringTexto auxiliar de preenchimento do campo.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(JWT) Revela o código de um determinado voucher
POST https://goblockchain.io/gotokens-api/v1/vouchers/:voucherId
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
voucherId*
String
ID do Voucher
Headers
authorization*
Bearer
JWT
Request Body
requiredFormData
[Objects]
Conjunto de campos obrigatórios para resgate do voucher
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": "[email protected]"
},
{
"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": "[email protected]"
},
{
"name": "Celular",
"type": "phone",
"placeholder": "Digite aqui seu número de celular",
"content": "5521998789636"
}
]
}id- StringIdentificador próprio do benefício.
type- StringDetermina o tipo de voucher à que se refere. Pode ser
benefitouairdrop.
benefitId- StringIdentificador próprio relativo ao benefício com o qual o voucher se relaciona, quando ele é do tipo
benefit.
collectionId- StringIdentificador próprio relativo à coleção com o qual o voucher se relaciona, quando ele é do tipo
airdrop.
tokenId- StringIdentificador próprio relativo ao token resgatável com o qual o voucher se relaciona, quando ele é do tipo
airdrop.
code- StringCódigo de resgate do benefício.
revealStatus- StringStatus de revelação do código do benefício. Pode ser
revealedouhidden.
revealDate- DateTimeData e hora da revelação do código do benefício.
requiredFormData- Array of ObjectsConjunto de dados necessários para liberação do uso do voucher.
name- StringNome do campo de dados necessário.
type- StringTipo de dado solicitado.
placeholder- StringTexto auxiliar de preenchimento do campo.
content- StringConteúdo preenchido pelo usuário no resgate do voucher.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(JWT) Resgata um código de voucher de Airdrop ou POAP
POST https://goblockchain.io/gotokens-api/v1/vouchers/:voucherId/redeem
Essa rota deve ser usada para resgatar um voucher de Airdrop ou POAP.
Internamente, ela revalida o voucher antes do resgate ocorrer de fato e inicia uma transação de envio do token para o usuário logado.
Nível de permissionamento necessário: qualquer
Path Parameters
voucherId*
String
ID do Voucher
Headers
authorization*
Bearer
JWT
{
"token": {
"id" : "798efsf3sgf",
"collectionId": "fs21g65eahjn"
},
"voucher": {
"id": "8798wdefs",
"type": "airdrop",
"code": "[email protected]",
"revealStatus": "revealed",
"revealDate": "2022-10-15 15:07:12",
"redeemStatus": "redeemed",
"redeemDate": "2022-10-15 15:07:12",
}
}token- StringArmazena dados relativos ao token resgatado.
id- StringIdentificador próprio relativo ao token resgatado.
collectionId- StringIdentificador próprio relativo à coleção com o qual o token se relaciona.
voucher- StringArmazena dados relativos ao voucher.
id- StringIdentificador próprio do benefício.
type- StringDetermina o tipo de voucher à que se refere. Pode ser
benefitouairdrop.code- StringCódigo de resgate do benefício.
revealStatus- StringStatus de revelação do código do benefício. Pode ser
revealedouhidden.revealDate- DateTimeData e hora da revelação do código do benefício.
redeemStatus- StringStatus de resgate do código do benefício. Pode ser
nullouredeemed.redeemDate- DateTimeData e hora do resgate do código do benefício.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Gestão de Vouchers
(JWT) Lista os vouchers de uma collection e seus status
GET https://goblockchain.io/gotokens-api/v1/vouchers/collection/:collectionId/manage
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator
Path Parameters
collectionId
String
ID da Coleção
Headers
authorization*
Bearer
JWT
[
{
"tokenId": "12se3ferfgs789v",
"codes": [
{
"code": "0C22AE2D",
"redeemStatus": "redeemed",
"redeemDate": "2022-11-30T17:22:26.246Z"
},
{
"code": "E4EA2988",
"redeemStatus": null,
"redeemDate": null
},
{
"code": "2A59D7D0",
"redeemStatus": null,
"redeemDate": null
}
]
},
{
"tokenId": "789dfs123fescd8x",
"codes": [
{
"code": "6B040A13",
"redeemStatus": null,
"redeemDate": null
},
{
"code": "E08B117C",
"redeemStatus": null,
"redeemDate": null
},
{
"code": "E70E1223",
"redeemStatus": null,
"redeemDate": null
}
]
},tokenId- StringIdentificador único do banco de dados de um Token.
codes- Array of ObjectsConjunto de dados necessários para liberação do uso do voucher.
code- StringCódigo de resgate do Token.
redeemStatus- StringStatus do uso do código de resgate.
redeemDate- DateTimeData do uso do código de resgate.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(JWT) Cria um voucher
POST https://goblockchain.io/gotokens-api/v1/vouchers/manage
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator
Headers
authorization*
Bearer
JWT
Request Body
code
String
Código de resgate do voucher. Se não for passado, será gerado randomicamente.
tokenBenefitId
String
ID do Benefício (caso tipo seja benefit)
collectionId
String
ID da Coleção (caso tipo seja airdrop)
tokenId
String
ID da Coleção (caso tipo seja airdrop)
requiredFormData
[Objects]
Conjunto de campos obrigatórios para resgate do voucher
type*
String
Tipo do Voucher (benefit | airdrop)
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- StringIdentificador próprio do benefício.
type- StringDetermina o tipo de voucher à que se refere. Pode ser
benefitouairdrop.
benefitId- StringIdentificador próprio relativo ao benefício com o qual o voucher se relaciona, quando ele é do tipo
benefit.
collectionId- StringIdentificador próprio relativo à coleção com o qual o voucher se relaciona, quando ele é do tipo
airdrop.
tokenId- StringIdentificador próprio relativo ao token resgatável com o qual o voucher se relaciona, quando ele é do tipo
airdrop.
code- StringCódigo de resgate do benefício.
revealStatus- StringStatus de revelação do código do benefício. Pode ser
revealedouhidden.
revealDate- DateTimeData e hora da revelação do código do benefício.
requiredFormData- Array of ObjectsConjunto de dados necessários para liberação do uso do voucher.
name- StringNome do campo de dados necessário.
type- StringTipo de dado solicitado.
placeholder- StringTexto auxiliar de preenchimento do campo.
content- StringConteúdo preenchido pelo usuário no resgate do voucher.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
(JWT) Atualiza as informações de um voucher
PATCH https://goblockchain.io/gotokens-api/v1/vouchers/:voucherId/manage
Nível de permissionamento necessário: company_admin, company_moderator, community_admin, community_moderator
Path Parameters
voucherId*
String
ID do Voucher
Headers
authorization*
Bearer
JWT
Request Body
code
String
Código de resgate do voucher
redeemStatus
String
Status de uso do voucher
redeemDate
DateTime
Data do uso do voucher
revealStatus
String
Status de revelação do código do voucher
revealDate
DateTime
Data de revelação do código do voucher
requiredFormData
[Objects]
Conjunto de campos obrigatórios para resgate do voucher
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- StringIdentificador próprio do benefício.
type- StringDetermina o tipo de voucher à que se refere. Pode ser
benefitouairdrop.
benefitId- StringIdentificador próprio relativo ao benefício com o qual o voucher se relaciona, quando ele é do tipo
benefit.
collectionId- StringIdentificador próprio relativo à coleção com o qual o voucher se relaciona, quando ele é do tipo
airdrop.
tokenId- StringIdentificador próprio relativo ao token resgatável com o qual o voucher se relaciona, quando ele é do tipo
airdrop.
code- StringCódigo de resgate do benefício.
revealStatus- StringStatus de revelação do código do benefício. Pode ser
hiddenourevealed.
revealDate- DateTimeData e hora da revelação do código do benefício.
redeemStatus- StringStatus de resgate do código do benefício. Pode ser
nullouredeemed.
redeemDate- DateTimeData e hora do resgate do código do benefício.
requiredFormData- Array of ObjectsConjunto de dados necessários para liberação do uso do voucher.
name- StringNome do campo de dados necessário.
type- StringTipo de dado solicitado.
placeholder- StringTexto auxiliar de preenchimento do campo.
content- StringConteúdo preenchido pelo usuário no resgate do voucher.
10
Credenciais de acesso expiradas. Por favor, execute novamente sua autenticação na plataforma.
Last updated
Was this helpful?