projeto18-valex

Rotas de criação e gerenciamento de cartões:

Rota POST /cards

Essa é uma rota autenticada com um header http do tipo "x-api-key". Sua função é criar novos cartões para os funcionários.

O Body da requisição deve ser feito no seguinte formato:

{
  "employeeId": "id do funcionário", //number
  "type": "tipo do cartão" //string dos tipos "groceries" | "restaurant" | "transport" | "education" | "health"
}

Rota PUT /cards/

Essa é uma rota não autenticada. Sua função é ativar os cartões criados.

O "id" passado na rota é o id do cartão criado na rota mencionada anteriormente.

O Body da requisição deve ser feito no seguinte formato:

{
  "securityCode": "cvv do cartao", //string
  "password": "senha escolhida", //string
  "number": "número impresso no cartão recebido pelo proprietário", //string
  "cardholderName": "nome impresso no cartão recebido pelo proprietário", //string
  "expirationDate": "data de expiração impressa no cartão recebido pelo proprietário" //string
}

Rota GET /transactions/:id

Essa é uma rota não autenticada. Sua função é verificar o extrato dos cartões.

O "id" passado na rota é o id do cartão criado.

A resposta da requisição virá no seguinte formato:

"balance": 35000,
  "transactions": [
		{ "id": 1, "cardId": 1, "businessId": 1, "businessName": "DrivenEats", "timestamp": "22/01/2022", "amount": 5000 }
	]
  "recharges": [
		{ "id": 1, "cardId": 1, "timestamp": "21/01/2022", "amount": 40000 }
	]

Rotas PUT /lock/:id e /unlock/:id

Rotas não autenticadas, mesmo funcionamento, com o intuito de permitir ao usuário respectivamente bloquear e desbloquear um cartão.

O "id" passado na rota é o id do cartão criado.

O Body da requisição deve ser feito no seguinte formato:

{
  "password": "senha do cartão" //string
}

Rotas de recarga e pagamento:

Rota POST /recharges

Essa é uma rota autenticada com um header http do tipo "x-api-key". Sua função é recarregar os cartões para os funcionários.

O Body da requisição deve ser feito no seguinte formato:

{
  "id": "id do cartão", //number
  "amount": "valor escolhido em centavos" //number
}

Rota POST /payments

Essa é uma rota não autenticada. Sua função é permitir aos funcionários fazerem compras em estabelecimentos do mesmo tipo dos seus cartões.

{
  "cardId": "id do cartão", //number
  "businessId": "id do estabelecimento", //number
  "amount": "valor da compra em centavos", //number
  "password": "senha do cartão" //string
}