API CRM/Solar — simulação, propostas, orçamento e vendas
Referência de CRM/Solar para integrar as operações descritas abaixo.
Guia principal e downloads · Exemplos · Endpoints
Índice clicável
Propostas do negócio — PreProposta · Propostas aceitas — PrePropostaAceita · Vendas comerciais — Venda · Dimensionamento e simulação solar — Simulador · Estudos solares — EstudoSolar · Orçamentos do negócio — Orcamento
Como usar esta referência
API central: https://{tenant}.api.groner.app. Use API_URL com o host da empresa, sem /api. Envie Bearer. O middleware retorna o envelope Content; tabelas avançadas, downloads e 204 possuem transporte próprio. A operação e a função do usuário determinam o acesso.
Substitua tenant/token pelo ambiente autorizado e IDs de exemplo pelos cadastros reais. Os comandos são Bash; no PowerShell use curl.exe e adapte variáveis e continuação de linha.
Recursos compartilhados: a organização segue a finalidade principal da operação, não exclusividade de produto. Um client consumir um controller não significa que todas as actions desse controller sejam liberadas para aquele usuário. Consulte guard e contrato.
Exemplos de requisição e resposta
Consultar vendas comerciais
Requisição completa (Bash):
curl --request GET \
--url "$API_URL/api/Venda?PageNumber=1&PageSize=25" \
--header "Authorization: Bearer $TOKEN" \
--header "Accept: application/json"Resposta ilustrativa — HTTP 200:
{
"Version": "1.0.0.0",
"StatusCode": 200,
"Message": "Requisição efetuada com suceesso.",
"Content": {
"summary": null,
"totalItems": 0,
"pageNumber": 1,
"pageSize": 25,
"ids": null,
"list": [],
"totalPages": 0,
"hasPreviousPage": false,
"hasNextPage": false,
"nextPageNumber": 0,
"previousPageNumber": 1
}
}Venda comercial, pedido de venda do ERP e título financeiro são registros diferentes. Antes de criar um título, consulte os vínculos do pedido. PreProposta é a proposta do negócio; ModeloPreProposta é o modelo editável documentado em Marketing/Editor.
Referência dos endpoints
Propostas do negócio — PreProposta
Uso encontrado nos clients: Groner editor, Groner light. Compartilhamento não amplia permissões.
GET /api/PreProposta
query filtro: FiltroPrePropostaInputDTO — FiltroPrePropostaInputDTO; query pagingParams: PagingParams.
Retorno declarado: ActionResult<PagedList<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/FornecedoresUsados
Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..
Retorno declarado: Task<ActionResult<List<string>>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/TabelaAvancada
query loadOptions: DataSourceLoadOptions.
Retorno declarado: Task<LoadResult>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/TabelaAvancadaCustosExtras
query loadOptions: DataSourceLoadOptions.
Retorno declarado: Task<LoadResult>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/CustosExtrasAplicadosDisponiveis
Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..
Retorno declarado: Task<ActionResult<List<string>>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/{id}
path id: long.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/CodigoHTML/{id}
path id: long.
Retorno declarado: Task<ActionResult>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/Visualizar/{id}
path id: long.
Retorno declarado: Task<ActionResult<PreProposta>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/VisualizarHTML/{id}
path id: long; query code: string.
Retorno declarado: Task<ActionResult<string>>. Acesso: Pública; não exige JWT nesta action.
GET /api/PreProposta/GerarPDFDoc/{id}
path id: long; query modelo: bool (padrão false).
Retorno declarado: Task<IActionResult>. Acesso: Pública; não exige JWT nesta action.
GET /api/PreProposta/VisualizarDemoHtml
query modeloId: long; query code: string; query lojaId: long (padrão 0).
Retorno declarado: Task<ActionResult<string>>. Acesso: Pública; não exige JWT nesta action.
GET /api/PreProposta/GerarPDF/{id}
path id: long; query c: string (padrão null).
Retorno declarado: Task<ActionResult>. Acesso: Pública; não exige JWT nesta action.
GET /api/PreProposta/CalculoFinanciamentoSACHTML
query valor: double (padrão 100000); query prazoMeses: int (padrão 180); query porcentagemJurosAnual: double (padrão 5); query tipo: int (padrão 1); query dataVencimento: DateTime? (padrão null); query propostaId: long (padrão 0).
Retorno declarado: Task<ActionResult>. Acesso: Pública; não exige JWT nesta action.
POST /api/PreProposta
body model: PrePropostaInputDto — PrePropostaInputDto.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
POST /api/PreProposta/Precificar
body model: PrePropostaInputDto — PrePropostaInputDto.
Retorno declarado: Task<ActionResult<PrecificacaoEstudoOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/{id}/EstudoJson
path id: long.
Retorno declarado: Task<ActionResult>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
PUT /api/PreProposta/{id}/bulk
path id: long; body models: List<EditarPropriedadeInputDTO> — EditarPropriedadeInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/LimparCache/{id}
path id: long.
Retorno declarado: Task<ActionResult<Projeto>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
PUT /api/PreProposta/{id}
path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
PUT /api/PreProposta/calculartotal/{id}
path id: long; body model: CalcularTotalInputDTO — CalcularTotalInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
PUT /api/PreProposta/{id}/RecalcularCustosExtras
path id: long; body model: DefinirRecalculoCustosExtrasInputDTO — DefinirRecalculoCustosExtrasInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
PUT /api/PreProposta/{id}/EditarCustoExtraAplicado
path id: long; body model: EditarValorCustoExtraAplicadoInputDTO — EditarValorCustoExtraAplicadoInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/{id}/InsumosAplicados
path id: long.
Retorno declarado: Task<ActionResult<List<InsumoAplicadoSimulacao>>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
POST /api/PreProposta/InsumosAplicados/Backfill
query simular: bool (padrão true); query aPartirDeId: long (padrão 0); query limite: int (padrão 200).
Retorno declarado: Task<ActionResult<BackfillInsumosAplicadosOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador.
POST /api/PreProposta/{id}/InsumoAplicado
path id: long; body model: InsumoAplicadoInputDTO — InsumoAplicadoInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
PUT /api/PreProposta/{id}/InsumoAplicado/{insumoAplicadoId}
path id: long; path insumoAplicadoId: long; body model: EditarInsumoAplicadoInputDTO — EditarInsumoAplicadoInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
DELETE /api/PreProposta/{id}/InsumoAplicado/{insumoAplicadoId}
path id: long; path insumoAplicadoId: long.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
PUT /api/PreProposta/{id}/Bateria
path id: long; body model: AdicionarBateriaPrePropostaInputDTO — AdicionarBateriaPrePropostaInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
DELETE /api/PreProposta/{id}
path id: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
POST /api/PreProposta/Aceitar/{id}
path id: long; body modelFinanciamento: ProsseguirFinanciamentoPropostaInputDTO — ProsseguirFinanciamentoPropostaInputDTO.
Retorno declarado: Task<ActionResult<AceitarPrePropostaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
POST /api/PreProposta/Desistir/{id}
path id: long.
Retorno declarado: Task<ActionResult<PreProposta>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/Abrir/{id}
path id: long.
Retorno declarado: Task<ActionResult>. Acesso: Pública; não exige JWT nesta action.
GET /api/PreProposta/PropriedadesParaModelo
Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..
Retorno declarado: IList<string>. Acesso: Pública; não exige JWT nesta action.
POST /api/PreProposta/AdicionarStatus/{id}
path id: long; body model: AddStatusInputDTO — AddStatusInputDTO.
Retorno declarado: Task<ActionResult<PreProposta>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
DELETE /api/PreProposta/{id}/RemoverStatus/{idStatus}
path id: long; path idStatus: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/Sugestoes/{projetoId}
path projetoId: long; query consumo: double.
Retorno declarado: Task<IList<SugestaoOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/SugestoesAldo/{projetoId}
path projetoId: long; query filtro: FiltroAldoInputDTO — FiltroAldoInputDTO; query paginationToken: string (padrão "").
Retorno declarado: Task<ActionResult<ListaKitsAldoOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
POST /api/PreProposta/ListarKits/{projetoId}
path projetoId: long; body filtro: FiltroAldoInputDTO — FiltroAldoInputDTO.
Retorno declarado: Task<ActionResult<ListaKitsAldoOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Supervisor, Tecnico, Gerente.
GET /api/PreProposta/ItensKitJson/{projetoId}
path projetoId: long.
Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.
Propostas aceitas — PrePropostaAceita
Uso encontrado nos clients: Groner editor, Groner light. Compartilhamento não amplia permissões.
GET /api/PrePropostaAceita
query filtro: FiltroPrePropostaAceitaInputDTO — FiltroPrePropostaAceitaInputDTO; query pagingParams: PagingParams.
Retorno declarado: ActionResult<PagedList<PrePropostaAceita>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.
GET /api/PrePropostaAceita/TabelaAvancada
query loadOptions: DataSourceLoadOptions.
Retorno declarado: Task<LoadResult>. Acesso: Pública; não exige JWT nesta action.
GET /api/PrePropostaAceita/{id}
path id: long.
Retorno declarado: Task<PrePropostaAceita>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.
GET /api/PrePropostaAceita/CalcularFinanciamentos/{id}
path id: long.
Retorno declarado: Task<IList<FinanciamentoSimulador>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.
GET /api/PrePropostaAceita/Projeto/{projetoId}
path projetoId: long.
Retorno declarado: Task<PrePropostaAceita>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.
PUT /api/PrePropostaAceita/{id}
path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.
Retorno declarado: Task<ActionResult<PrePropostaAceita>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.
DELETE /api/PrePropostaAceita/{id}
path id: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.
GET /api/PrePropostaAceita/PropriedadesParaModelo
Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..
Retorno declarado: IList<string>. Acesso: Pública; não exige JWT nesta action.
Vendas comerciais — Venda
Uso encontrado nos clients: Groner erp, Groner light. Compartilhamento não amplia permissões.
GET /api/Venda/ResumoPorStatus
Nome do campo hidratado fora da projeção SQL, na Tabela Avançada.
query filtro: FiltroVendaInputDTO — FiltroVendaInputDTO.
Retorno declarado: Task<ActionResult<List<ResumoStatusVendaOutputDTO>>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,Gerente,PreVendedor,Vendedor,Tecnico.
GET /api/Venda
query filtro: FiltroVendaInputDTO — FiltroVendaInputDTO; query pagingParams: PagingParams.
Retorno declarado: ActionResult<PagedList<VendaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,Gerente,PreVendedor,Vendedor,Tecnico.
GET /api/Venda/TabelaAvancada
query loadOptions: DataSourceLoadOptions.
Retorno declarado: Task<LoadResult>. Acesso: Acesso sujeito às regras do ambiente; use a credencial da integração e confirme a permissão desta operação.
GET /api/Venda/{id}
path id: long.
Retorno declarado: Task<ActionResult<Venda>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,Gerente,PreVendedor,Vendedor,Tecnico.
GET /api/Venda/{id}/Recebimentos
path id: long.
Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,Gerente,PreVendedor,Vendedor,Tecnico.
POST /api/Venda
body model: AddVendaInputDTO — AddVendaInputDTO.
Retorno declarado: Task<ActionResult<Venda>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,Gerente,PreVendedor,Vendedor,Tecnico.
PUT /api/Venda/{id}
path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.
Retorno declarado: Task<ActionResult<Venda>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,Gerente,PreVendedor,Vendedor,Tecnico.
PUT /api/Venda/AlterarLoja/{id}
path id: long; query lojaId: long.
Retorno declarado: Task<ActionResult<Venda>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,Gerente.
PUT /api/Venda/AlterarOrigem/{id}
path id: long; query origemId: long.
Retorno declarado: Task<ActionResult<Venda>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,Gerente.
DELETE /api/Venda/{id}
path id: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,Gerente,Supervisor.
POST /api/Venda/AdicionarPagamento
query vendedorId: long; body model: AddPagamentoInputDTO — AddPagamentoInputDTO.
Retorno declarado: Task<ActionResult<Models.PagamentoComissao>>. Acesso: Bearer; perfis declarados: Administrador,Gerente,Supervisor.
POST /api/Venda/GerarTituloComissao
body model: GerarTituloComissaoDaVendaInputDTO — GerarTituloComissaoDaVendaInputDTO.
Retorno declarado: Task<ActionResult<GerarTitulosComissaoOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,Gerente,Supervisor.
GET /api/Venda/Comissoes
query filtro: FiltroComissaoInputDTO — FiltroComissaoInputDTO; query pagingParams: PagingParams.
Retorno declarado: ActionResult<PagedList<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Gerente,Supervisor.
GET /api/Venda/PagamentosPorVendedor
query vendedorId: long; query pagingParams: PagingParams.
Retorno declarado: ActionResult<PagedList<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Gerente,Supervisor.
GET /api/Venda/DadosGerais
query filtro: FiltroComissaoInputDTO — FiltroComissaoInputDTO.
Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Pública; não exige JWT nesta action.
DELETE /api/Venda/RemoverPagamento/{pagamentoComissaoId}
path pagamentoComissaoId: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,Gerente,Supervisor,PreVendedor,Vendedor,Tecnico.
GET /api/Venda/DadosVendaPorPeriodo
query filtro: FiltroVendasPorPeriodoInputDTO — FiltroVendasPorPeriodoInputDTO.
Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Acesso sujeito às regras do ambiente; use a credencial da integração e confirme a permissão desta operação.
Dimensionamento e simulação solar — Simulador
Uso encontrado nos clients: Groner editor. Compartilhamento não amplia permissões.
GET /api/Simulador
query usuarioId: long?.
Retorno declarado: ActionResult<List<Simulacao>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor, Vendedor, Tecnico,Gerente.
POST /api/Simulador
body model: SimulacaoInputDTO — SimulacaoInputDTO.
Retorno declarado: Task<ActionResult<Simulacao>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor, Vendedor, Tecnico,Gerente.
POST /api/Simulador/Externo
body model: SimulacaoInputDTO — SimulacaoInputDTO; query configId: long?.
Retorno declarado: Task<ActionResult<Simulacao>>. Acesso: Pública; não exige JWT nesta action.
GET /api/Simulador/VisualizarHTML/{id}
path id: long.
Retorno declarado: Task<ActionResult<string>>. Acesso: Pública; não exige JWT nesta action.
GET /api/Simulador/Propriedades
Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..
Retorno declarado: IEnumerable<string>. Acesso: Pública; não exige JWT nesta action.
GET /api/Simulador/PropriedadesParaModelo
Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..
Retorno declarado: Task<IList<string>>. Acesso: Pública; não exige JWT nesta action.
Estudos solares — EstudoSolar
GET /api/EstudoSolar/Projeto/{projetoId}
path projetoId: long.
Retorno declarado: Task<ActionResult<List<Gerador>>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
GET /api/EstudoSolar/Radiacao
query latitude: string; query longitude: string; query projetoId: long (padrão 0).
Retorno declarado: Task<ActionResult<RadiacaoAtlasOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
GET /api/EstudoSolar/Dimensionamento
Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..
Retorno declarado: Task<ActionResult<DimensionamentoEstudoOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
PUT /api/EstudoSolar/Dimensionamento
body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.
Retorno declarado: Task<ActionResult<DimensionamentoEstudoOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,Gerente,Supervisor.
POST /api/EstudoSolar/Projeto/{id}/Sincronizar
path id: long; query perdasExtras: double (padrão -1).
Retorno declarado: Task<ActionResult<bool>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
GET /api/EstudoSolar/Projeto/{id}/EstudoJson
path id: long.
Retorno declarado: Task<ActionResult<string>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
PUT /api/EstudoSolar/Projeto/{id}/EstudoJson
path id: long; body model: EstudoJsonInputDTO — EstudoJsonInputDTO.
Retorno declarado: Task<ActionResult<bool>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
GET /api/EstudoSolar/Gerador/{id}/GrupoA
path id: long; query geracaoMensal: double.
Retorno declarado: Task<ActionResult<GrupoADadosSimulacao>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
POST /api/EstudoSolar/Gerador/{id}/ListarKits
path id: long; body filtro: FiltroKitGeradorInputDTO — FiltroKitGeradorInputDTO.
Retorno declarado: Task<ActionResult<ListaKitsAldoOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
POST /api/EstudoSolar/Gerador
body model: GeradorInputDTO — GeradorInputDTO.
Retorno declarado: Task<ActionResult<Gerador>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
PUT /api/EstudoSolar/Gerador/{id}
path id: long; body model: GeradorInputDTO — GeradorInputDTO.
Retorno declarado: Task<ActionResult<Gerador>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
GET /api/EstudoSolar/Gerador/{id}
path id: long.
Retorno declarado: Task<ActionResult<Gerador>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
DELETE /api/EstudoSolar/Gerador/{id}
path id: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
POST /api/EstudoSolar/Face
body model: FaceTelhadoInputDTO — FaceTelhadoInputDTO.
Retorno declarado: Task<ActionResult<FaceTelhado>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
PUT /api/EstudoSolar/Face/{id}
path id: long; body model: FaceTelhadoInputDTO — FaceTelhadoInputDTO.
Retorno declarado: Task<ActionResult<FaceTelhado>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
DELETE /api/EstudoSolar/Face/{id}
path id: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
POST /api/EstudoSolar/Layout
body model: LayoutModuloInputDTO — LayoutModuloInputDTO.
Retorno declarado: Task<ActionResult<LayoutModulo>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
DELETE /api/EstudoSolar/Layout/{id}
path id: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
POST /api/EstudoSolar/Gerador/{id}/LayoutMapa
path id: long; body model: LayoutMapaInputDTO — LayoutMapaInputDTO.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
POST /api/EstudoSolar/Carrinho
body model: KitCarrinhoItemInputDTO — KitCarrinhoItemInputDTO.
Retorno declarado: Task<ActionResult<KitCarrinhoItem>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
DELETE /api/EstudoSolar/Carrinho/{id}
path id: long.
Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
POST /api/EstudoSolar/Rateio
body model: DefinirRateioInputDTO — DefinirRateioInputDTO.
Retorno declarado: Task<ActionResult<List<RateioGeracaoUC>>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.
Orçamentos do negócio — Orcamento
Uso encontrado nos clients: Groner light. Compartilhamento não amplia permissões.
GET /api/Orcamento/{projetoId}
path projetoId: long; query pagingParams: PagingParams.
Retorno declarado: ActionResult<PagedList<Orcamento>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
GET /api/Orcamento/unico/{projetoId}
path projetoId: long.
Retorno declarado: Task<ActionResult<Orcamento>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
GET /api/Orcamento/Detalhes/{id}
path id: long.
Retorno declarado: ActionResult<Orcamento>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
POST /api/Orcamento
body model: CriarOrcamentoInputDTO — CriarOrcamentoInputDTO.
Retorno declarado: Task<ActionResult<Orcamento>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
PUT /api/Orcamento/{id}
path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.
Retorno declarado: Task<ActionResult<Orcamento>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
DELETE /api/Orcamento/{id}
path id: long.
Retorno declarado: Task<IActionResult>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
POST /api/Orcamento/{orcamentoId}/Itens
path orcamentoId: long; body item: AddItemOrcamentoInputDTO — AddItemOrcamentoInputDTO.
Retorno declarado: Task<ActionResult<Orcamento>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
POST /api/Orcamento/{orcamentoId}/ItensEmLote
path orcamentoId: long; body itens: List<AddItemOrcamentoInputDTO> — AddItemOrcamentoInputDTO.
Retorno declarado: Task<ActionResult<Orcamento>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
PUT /api/Orcamento/{orcamentoId}/Itens/{itemId}
path orcamentoId: long; path itemId: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.
Retorno declarado: Task<ActionResult<Orcamento>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
DELETE /api/Orcamento/{orcamentoId}/Itens/{itemId}
path orcamentoId: long; path itemId: long.
Retorno declarado: Task<ActionResult<Orcamento>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.
Veja também
Atualizado em: 14/10/2026
Obrigado!
