cd /home/uriri/Projetos/tooeasy/backend/too-easy-genesis
./mvnw -DskipTests spring-boot:run
java -jar target/too-easy-trader-genesis-0.0.1-SNAPSHOT.jar --server.port=8080
pkill -f too-easy-trader-genesis-0.0.1-SNAPSHOT.jar
Base URL: http://localhost:8080
Set Postman collection variables:
Default headers for protected routes:
Body (application/json) — fields from RegisterDTO (src/main/java/com/platform2easy/genesis/web/dto/RegisterDTO.java):
{
"name": "John Doe",
"email": "john@example.com",
"password": "Str0ng!Pass",
"phone": "+55 11 99999-9999",
"address": "Av. Paulista, 1000",
"city": "São Paulo",
"state": "SP",
"zip": "01310-100",
"country": "BR",
"kyc": 1,
"birthdate": 19900101,
"cpf": "123.456.789-00",
"companyId": 1,
"roleId": 1,
"flag": "ACTIVE"
}
Response 201 Created:
{ "token": "<JWT>" }
Body — AuthenticationDTO (src/main/java/com/platform2easy/genesis/web/dto/AuthenticationDTO.java):
{ "email": "john@example.com", "password": "Str0ng!Pass" }
Response 200 OK:
{ "token": "<JWT>" }
com.platform2easy.genesis.web.controller.CommodityController)GET {{baseUrl}}/api/commodity
GET {{baseUrl}}/api/commodity/{id}
POST {{baseUrl}}/api/commodity
Body — entity Commoditiy (domain/model/Commoditiy.java):
{
"tipoCommodity": "SACA_GRAOS",
"descricao": "Soja",
"quantidade": 100,
"preco": 125.50,
"vencimentoPagamento": "2025-12-31",
"dataLimiteEntrega": "2026-01-15",
"cedulaProdutoRural": "CPR-123456"
}
Notes:
tipoCommodity enum values: see domain/enums/TipoCommodity.java (e.g., "SACA_GRAOS").yyyy-MM-dd.com.platform2easy.genesis.web.controller.CompraController)Body — entity Compra with nested ItemCompra list:
{
"fornecedor": "Fornecedor XYZ",
"itens": [
{ "quantidade": 10, "valor": 35.5, "descricao": "Item A" },
{ "quantidade": 5, "valor": 100.0, "descricao": "Item B" }
]
}
Notes:
Compra and ItemCompra live in domain/model/Compra.java and domain/model/ItemCompra.java.id in POST bodies.com.platform2easy.genesis.web.controller.cerc.EmissaoCprController)Body — entity EmissaoCpr:
{
"dataEntrega": "2025-11-01",
"localEmissao": "São Paulo",
"razaoSocialEmissor": "Empresa Emissora SA",
"tipoCpr": "FISICO"
}
Notes:
tipoCpr enum values: FISICO, FINANCEIRO (domain/model/cerc/TipoCpr.java).dataEntrega is ISO LocalDate.com.platform2easy.genesis.web.controller.cerc.ContratoValorCprController)Base path: {{baseUrl}}/api/cpr/contract
Body — entity ContratoValorCpr (all fields optional except as required by business rules):
{
"autorizoRegistroEDeclaroQueFoiDadoBaixaNoRegistroEmQuaisquerOutrasIf": true,
"codigoContratoOperacaoCredito": "OP123",
"codigoContratoScr": "SCR-456",
"codigoMoeda": "BRL",
"dataBaixaOutraIf": "2025-10-01T10:00:00",
"dataContratoSistemaIF": "2025-09-15T09:30:00",
"dataRegistroOriginal": "2025-09-01T08:00:00",
"dataTransacao": "2025-10-02",
"identificacaoPadronizadaOperacaoCredito": "ID-789",
"indexacao": "CDI",
"naturezaOperacao": "CREDITO_RURAL",
"percentualIndexador": 0.12,
"quantidadeParcelaContratada": 12,
"referenciaExterna": "REF-2025",
"taxaJurosOperacao": 0.15,
"tipoAtivo": "CPR",
"valorFinanciadoContrato": 100000.00,
"valorLiquidoCredito": 95000.00,
"valorTotalCredito": 110000.00
}
Notes:
yyyy-MM-dd, LocalDateTime yyyy-MM-dd'T'HH:mm:ss.com.platform2easy.genesis.web.controller.cerc.SolicitacaoRegistroCprController)Base path: {{baseUrl}}/api/cpr/register
Body — entity SolicitacaoRegistroCpr (references other entities by id):
{
"aditivo": "Aditivo 1",
"contratoValorCpr": { "id": 1 },
"emissaoCpr": { "id": 1 },
"status": "NOVO"
}
status to ACEITO.Notes:
status enum values: NOVO, ACEITO, LIQUIDADO, RECUSADO, CANCELADO.Choose a login:
/auth/login with email/password, OR/authentication/login with login/password.Copy token from response and set Postman variable token.
Use protected endpoints under /api/** with header Authorization: Bearer {{token}}.