O Valex é um sistema de cartões de benefícios, possibilitando a criação, ativação, bloqueio, desbloqueio e visualização de saldo de cartões físico e virtual. Além disso, é possível recarregar o cartão e realizar compras online ou em "points of sale" (POS).
- Criar cartão;
- Ativar cartão;
- Bloquear cartão;
- Desbloquear cartão;
- Visualizar o saldo e as transações do cartão;
- Recarregar cartão;
- Realizar compra em um "point of sale" (POS);
- Realizar compra online;
- Criar cartão virtual.
POST /cards| Headers | Tipo | Descrição |
|---|---|---|
x-api-key |
string |
Obrigatório. API key da empresa que está cadastrando o cartão |
| Body | Tipo | Descrição |
|---|---|---|
employeeId |
inteiro |
Obrigatório. Id do usuário |
type |
string |
Obrigatório. Tipo do cartão de benefício |
Types válidos: [groceries, restaurant, transport, education, health]
{
"id": 1,
"number": "1111111111111111",
"employeeId": 1,
"cardholderName": "NAME N NAME",
"securityCode": "111",
"expirationDate": "01/27",
"isVirtual": false,
"isBlocked": false,
"type": "card type"
}PATCH /cards/activate| Body | Tipo | Descrição |
|---|---|---|
cardId |
inteiro |
Obrigatório. Id do cartão |
cvc |
string |
Obrigatório. Código de segurança (CVC) do cartão |
password |
string |
Obrigatório. Senha do cartão |
A senha deve ser composta por 4 digitos e somente números
O código de segurança (CVC) deve ser composto por somente 3 números
PATCH /cards/block| Body | Tipo | Descrição |
|---|---|---|
cardId |
inteiro |
Obrigatório. Id do cartão |
password |
string |
Obrigatório. Senha do cartão |
PATCH /cards/unlock| Body | Tipo | Descrição |
|---|---|---|
cardId |
inteiro |
Obrigatório. Id do cartão |
password |
string |
Obrigatório. Senha do cartão |
GET /cards/balance/:cardIdcardId é um parâmetro de rota que representa onde deve ser informado o id do cartão
{
"balance": 1,
"transactions": [
{ "id": 1, "cardId": 1, "businessId": 1, "businessName": "NomeDaEmpresa", "timestamp": "DD/MM/AAAA", "amount": 1 },
...
],
"recharges": [
{ "id": 1, "cardId": 1, "timestamp": "DD/MM/AAAA", "amount": 1 },
...
]
}POST /recharges| Headers | Tipo | Descrição |
|---|---|---|
x-api-key |
string |
Obrigatório. API key da empresa que está cadastrando o cartão |
| Body | Tipo | Descrição |
|---|---|---|
cardId |
inteiro |
Obrigatório. Id do cartão |
amount |
inteiro |
Obrigatório. Valor da recarga |
POST /payments| Body | Tipo | Descrição |
|---|---|---|
cardId |
inteiro |
Obrigatório. Id do cartão |
password |
string |
Obrigatório. Senha do cartão |
businessId |
inteiro |
Obrigatório. Id da empresa onde está sendo realizada a compra |
amount |
inteiro |
Obrigatório. Valor da compra |
POST /payments/online| Body | Tipo | Descrição |
|---|---|---|
number |
string |
Obrigatório. Número do cartão |
cardholderName |
string |
Obrigatório. Nome no cartão |
expirationDate |
string |
Obrigatório. Data de expiração do cartão |
cvc |
string |
Obrigatório. Código de segurança (CVC) do cartão |
businessId |
inteiro |
Obrigatório. Id da empresa onde está sendo realizada a compra |
amount |
inteiro |
Obrigatório. Valor da compra |
Formato da data de expiração: "MM/AA"
O código de segurança (CVC) deve ser composto por somente 3 números
POST /cards/virtual| Body | Tipo | Descrição |
|---|---|---|
originalCardId |
inteiro |
Obrigatório. Id do cartão físico ao qual o virtual será vinculado |
originalCardPassword |
string |
Obrigatório. Senha do cartão físico |
A senha deve ser composta por 4 digitos e somente números
Para rodar este projeto, você precisará adicionar as seguintes variáveis de ambiente ao seu arquivo .env:
PORT = número #recomendado:5000
DATABASE_URL = postgres://nomeDeUsuário:senha@nomeDoServidor:5432/nomeDoBancoDeDados
CVC_SECRET_KEY = qualquer string
Clone o projeto
git clone https://github.com/lugablima/valex.gitVá para a pasta onde está o projeto
cd valex/Instale as dependências do projeto
npm installInicie o servidor
npm run devSe preferir, é possível testar a aplicação por meio de um REST API Client (Insomnia, Postman, Thunder Client, etc) e acessando o link de deploy da mesma: