Pular para o conteúdo principal

Especificação da API: /api/ai/optimize-allocations 📡

O microsserviço monvix-ga-service expõe o endpoint HTTP REST responsável por processar o questionário financeiro e retornar o planejamento orçamentário completo otimizado pelo Algoritmo Genético.


📍 Detalhes do Endpoint

  • Método: POST
  • Caminho: /api/ai/optimize-allocations
  • Content-Type: application/json
  • Autenticação: Interna de microsserviço (via rede Docker ou proxy reverso).

📥 Exemplo de Requisição (Request Payload)

{
"hasIncome": true,
"monthlyNetIncome": 6500.00,
"employmentType": "CLT",
"age": 32,
"hasChildren": true,
"residentDependents": 2,
"housingType": "RENT",
"debtLevel": "MODERATE",
"monthlyDebtPayment": 450.00,
"investmentAmbition": "BALANCED",
"planningMode": "BALANCED_GROWTH",
"detailedExpenses": {
"paysHousing": true,
"housingAmount": 1800.00,
"paysGroceries": true,
"groceriesAmount": 1200.00,
"paysTransport": true,
"transportAmount": 350.00,
"paysHealth": true,
"healthAmount": 400.00,
"paysAlimony": false,
"alimonyAmount": 0.00
}
}

📤 Exemplo de Resposta (Response Payload)

{
"status": "BALANCED",
"planningMode": "BALANCED_GROWTH",
"strategySummary": "Distribuição sugerida para o saldo disponível preservando compromissos fixos essenciais.",
"summary": {
"totalIncome": "6500.00",
"totalAllocated": "6500.00",
"fixedObligations": "1800.00",
"flexibleBalance": "4700.00",
"emergencyTargetMonths": 5,
"deficit": "0.00"
},
"buckets": [
{
"key": "housing",
"label": "Moradia & Habitação",
"shortLabel": "Moradia",
"color": "#6366f1",
"amount": "1800.00",
"percentage": 27.69,
"kind": "FIXED_OBLIGATION",
"reason": "Compromisso fixo de moradia preservado integralmente.",
"tip": "Mantenha o valor do aluguel pontual para evitar multas contratuais."
},
{
"key": "food",
"label": "Alimentação Essencial",
"shortLabel": "Alimentação",
"color": "#10b981",
"amount": "1200.00",
"percentage": 18.46,
"kind": "FLEXIBLE",
"reason": "Piso informado de supermercado protegido para 2 dependentes residentes.",
"tip": "Faça listas prévias de compras para evitar itens supérfluos no caixa."
},
{
"key": "emergency",
"label": "Reserva de Emergência",
"shortLabel": "Reserva",
"color": "#14b8a6",
"amount": "580.00",
"percentage": 8.92,
"kind": "SAVINGS",
"reason": "Construção de meta de 5 meses de custos essenciais para perfil CLT.",
"tip": "Mantenha estes recursos em títulos com liquidez diária (D+0)."
}
],
"alerts": [
"Compromissos essenciais e alimentação básica estão 100% protegidos."
]
}

🩺 Endpoint de Healthcheck

  • Método: GET
  • Caminho: /health
  • Resposta:
{
"status": "ok",
"service": "monvix-ga-service",
"version": "1.0.0"
}

👉 Veja o Guia de Execução Local e Testes →