Este repositório contém a implementação do teste técnico presente em README_BACKEND_SR.md.pdf.
Docker com suporte a compose ou Podman com compose.
- Faça o clone deste repositório.
- Execute o comando da dependência escolhida acima, sendo
docker compose up -d
oupodman-compose up -d
. - Acesse
http://127.0.0.1:9007/api/status
e veja o retorno do status.
Abaixo documentação de todas as rotas disponíveis no projeto.
GET
/api/status
-
Status da aplicação
Status code Resposta 200
Status com a hora da resposta
curl --request GET --url 'http://127.0.0.1:9007/api/status'
POST
/api/partners
-
Criação de um novo parceiro
nome Tipo Descrição id string Identificador do parceiro trading_name string Nome do parceiro document string Documento do parceiro currency string Unidade monetária do parceiro, sendo opções "USD", "EUR" ou "GBP"
Status code Resposta 201
Parceiro criado com sucesso 400
Um dos dados informados acima estão incorretos 422
O parceiro já existe com o ID ou documento informado 500
Erro interno do servidor
curl --request POST \ --url http://127.0.0.1:9007/api/partners \ --header 'Content-Type: application/json' \ --data '{ "id": "12", "trading_name": "Pato", "document": "12345", "currency": "USD" }'
GET
/api/payments
-
Listagem de pagamentos
nome Tipo Descrição offset integer Offset para paginação, sendo opcional. Default: 0 limit integer Limit para paginação, sendo opcional. Default: 10
Status code Resposta 200
Lista de pagamentos 400
Um dos dados informados acima estão incorretos 500
Erro interno do servidor
curl --request GET --url 'http://127.0.0.1:9007/api/payments?offset=0&limit=10'
POST
/api/payments
-
Criação de um novo pagamento
nome Tipo Descrição partner_id string Identificador do parceiro amount string Valor do pagamento, contendo duas casas decimais separadas por ponto "." e sem separador de milhar consumer.name string Nome do consumidor consumer.national_id string Documento do consumidor
Status code Resposta 201
Pagamento criado com sucesso 400
Um dos dados informados acima estão incorretos 422
O parceiro informado não existe 422
Duplicidade de criação de pagamento 500
Erro interno do servidor
curl --request POST \ --url http://127.0.0.1:9007/api/payments \ --header 'Content-Type: application/json' \ --data '{ "partner_id": "10", "amount": "99.05", "consumer": { "name": "Oliver Tsubasa", "national_id": "30243434597" } }'
GET
/api/payments/:id
-
Visualização de um pagamento
nome Tipo Descrição id string Identificador do pagamento
Status code Resposta 200
Pagamento visualizado 404
O pagamento não existe pelo identificador informado 500
Erro interno do servidor
curl --request GET --url 'http://127.0.0.1:9007/api/payments/01HB205RPJ3DS4C6ZFPYTX6P4Z'