Ir para o conteúdo

5.2. Simular com Importação de Planilha


Baixar Modelo de Planilha

🔗 Endpoint

Método URL
GET /public/v1/nota-comercial/simulacao/download/modelo

🧾 Descrição

Retorna o arquivo XLSX modelo para preenchimento e importação da simulação. O arquivo contém as colunas necessárias e instruções de preenchimento.

🧪 Exemplo de cURL

curl -X GET https://api.vehub.com.br/public/v1/nota-comercial/simulacao/download/modelo \
  -H "Authorization: Bearer {seu_token}" \
  -H "GrupoEconomico: {seu_grupo_economico}" \
  --output modelo-simulacao-nc.xlsx

📥 Response — 200 OK

Retorna o arquivo XLSX para download.

Header Valor
Content-Type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Disposition attachment; filename="modelo-simulacao-nc.xlsx"

Importar Simulação via Planilha

🔗 Endpoint

Método URL
POST /public/v1/nota-comercial/simulacao/importar

🧾 Descrição

Realiza a simulação a partir de um arquivo XLSX preenchido com o modelo padrão. Os dados financeiros são extraídos da planilha e o fluxo de pagamento é calculado.

Este endpoint é de leitura apenas — não cria nenhum registro. Para criar uma NC a partir dos dados importados, utilize 5.3. Criar com Dados da Simulação.

📋 Payload (multipart/form-data)

Campo Tipo Obrigatório Descrição
arquivo file Sim Planilha XLSX preenchida com o modelo padrão (máx. 5 MB)

🧪 Exemplo de cURL

curl -X POST https://api.vehub.com.br/public/v1/nota-comercial/simulacao/importar \
  -H "Authorization: Bearer {seu_token}" \
  -H "GrupoEconomico: {seu_grupo_economico}" \
  -F "arquivo=@/caminho/para/simulacao-preenchida.xlsx"

📥 Responses

✅ 200 OK

{
  "sucesso": true,
  "mensagem": "Simulação importada com sucesso.",
  "dados": {
    "valorLiquido": 1000000.00,
    "valorBruto": 1032500.00,
    "taxa": 1.50,
    "cet": 1.78,
    "totalJuros": 98745.80,
    "custoEmissao": 32500.00,
    "quantidadeParcelas": 24,
    "dataEmissao": "2025-10-01",
    "dataPrimeiraParcela": "2025-11-01",
    "periodicidade": 1,
    "capitalizacao": 2,
    "idBaseCalculo": 1,
    "idIndice": 1,
    "idTabelaCalculo": 1,
    "intervaloAmortizacao": 1,
    "fluxoPagamento": [
      {
        "numeroParcela": 1,
        "dataVencimento": "2025-11-01",
        "diasPeriodo": 31,
        "saldoDevedor": 1000000.00,
        "amortizacao": 33516.08,
        "juros": 15000.00,
        "valorParcela": 48516.08,
        "taxaPeriodo": 1.50
      }
    ]
  }
}

Os campos retornados incluem os parâmetros lidos da planilha, além do fluxo de pagamento calculado. Esses dados devem ser utilizados no payload de criação da NC (endpoint 5.3).


❌ 400 Bad Request

{
  "tipo": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
  "titulo": "Atenção",
  "status": 400,
  "erros": [
    "O arquivo enviado não é um XLSX válido.",
    "A planilha não segue o modelo padrão esperado.",
    "Campo obrigatório 'Taxa' não preenchido na planilha."
  ]
}

❌ 422 Unprocessable Entity

{
  "tipo": "https://tools.ietf.org/html/rfc9110#section-15.5.21",
  "titulo": "Dados inválidos",
  "status": 422,
  "erros": [
    "Os dados da planilha resultaram em um saldo devedor não zerado ao final da operação. Verifique as parcelas informadas."
  ]
}