Artigos sobre: Configurações

API Engenharia — projeto técnico, visitas e homologação

Referência de Engenharia para integrar as operações descritas abaixo.


Guia principal e downloads · Exemplos · Endpoints


Revisão: 14/10/2026. Classificação conferida nos clients dos produtos e nas rotas registradas do servidor. Respostas abaixo são exemplos completos do contrato escolhido com dados fictícios, não capturas de produção.


Índice clicável


Projetos de engenharia — ProjetosEngenharia · Visitas técnicas — VisitaTecnica · Homologação e vistoria — HomologacaoVistoria · Status do projeto técnico — StatusProjetoEngenharia · Automações do projeto técnico — AutomacoesStatusProjetoEngenharia · Automações de visita técnica — AutomacaoStatusVisitaTecnica · Automações de homologação — AutomacoesStatusHomologacaoVistoria · Unidades consumidoras — UnidadeConsumidora · Concessionárias — Concessionaria



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 o resumo dos projetos de engenharia


Requisição completa (Bash):


curl --request GET \
  --url "$API_URL/api/AbaComplementar/ProjetosEngenharia/Summary" \
  --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": {
    "totalProjetos": 0,
    "totalAprovados": 0,
    "totalPendentes": 0,
    "totalCancelados": 0,
    "totalReprovados": 0,
    "totalAguardando": 0,
    "valorTotal": 0,
    "valorAguardando": 0,
    "valorPendente": 0,
    "valorCancelado": 0,
    "valorReprovado": 0,
    "valorAprovado": 0,
    "totalEmAndamento": 0,
    "valorEmAndamento": 0
  }
}


O DTO de criação de projeto de engenharia recebe ProjetoId e StatusId opcional. O status técnico é independente de StatusProjeto comercial. A criação exige negócio existente e status de engenharia configurado. Visita técnica e homologação são processos técnicos; instalação e OS têm referência própria em Serviços/OS.



Referência dos endpoints


Projetos de engenharia — ProjetosEngenharia


Uso encontrado nos clients: Groner light. Compartilhamento não amplia permissões.


GET /api/AbaComplementar/ProjetosEngenharia/{id}


path id: long.


Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/ProjetosEngenharia


query projetoId: long.


Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


POST /api/AbaComplementar/ProjetosEngenharia


body dto: ProjetoEngenhariaInputDTO — ProjetoEngenhariaInputDTO.


Retorno declarado: Task<IActionResult>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


PUT /api/AbaComplementar/ProjetosEngenharia/{id}


path id: long; body dto: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/ProjetosEngenharia/Lista


query filtro: FiltroProjetoEngenhariaInputDTO — FiltroProjetoEngenhariaInputDTO; query pagingParams: PagingParams.


Retorno declarado: Task<ActionResult<PagedList<dynamic>>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/ProjetosEngenharia/CardsIniciais


query filtro: FiltroProjetoEngenhariaInputDTO — FiltroProjetoEngenhariaInputDTO; query pageSize: int (padrão 10).


Retorno declarado: Task<ActionResult<List<KanbanStatusProjetoEngenhariaDTO>>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


DELETE /api/AbaComplementar/ProjetosEngenharia/{id}


path id: long.


Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/ProjetosEngenharia/Summary


query filtro: FiltroProjetoEngenhariaInputDTO — FiltroProjetoEngenhariaInputDTO.


Retorno declarado: Task<SummaryProjetoEngenhariaDTO>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/ProjetosEngenharia/ResumoPorProjetista


query filtro: FiltroProjetoEngenhariaInputDTO — FiltroProjetoEngenhariaInputDTO.


Retorno declarado: Task<List<ResumoProjetistaProjEngDTO>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/ProjetosEngenharia/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.


Voltar ao índice


Visitas técnicas — VisitaTecnica


Uso encontrado nos clients: Groner light, Groner os. Compartilhamento não amplia permissões.


GET /api/AbaComplementar/VisitaTecnica/{id}


path id: long.


Retorno declarado: Task<dynamic>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


POST /api/AbaComplementar/VisitaTecnica


body dto: VisitaTecnicaInputDTO — VisitaTecnicaInputDTO.


Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


PUT /api/AbaComplementar/VisitaTecnica


query id: long; body dto: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/VisitaTecnica/Lista


query pagingParams: PagingParams; query filtro: FiltroVisitaTecnicaInputDTO — FiltroVisitaTecnicaInputDTO.


Retorno declarado: Task<PagedList<dynamic>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/VisitaTecnica/Summary


query filtro: FiltroVisitaTecnicaInputDTO — FiltroVisitaTecnicaInputDTO.


Retorno declarado: Task<SummaryVisitaTecnicaDTO>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


DELETE /api/AbaComplementar/VisitaTecnica/{id}


path id: long.


Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/VisitaTecnica/TabelaAvancada


query loadOptions: DataSourceLoadOptions.


Retorno declarado: Task<LoadResult>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


Homologação e vistoria — HomologacaoVistoria


Uso encontrado nos clients: Groner light. Compartilhamento não amplia permissões.


GET /api/AbaComplementar/HomologacaoVistoria/{id}


path id: long.


Retorno declarado: Task<ActionResult<HomologacaoVistoriaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/HomologacaoVistoria


query projetoId: long.


Retorno declarado: Task<ActionResult<HomologacaoVistoriaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/HomologacaoVistoria/Lista


query query: string; query pagingParams: PagingParams.


Retorno declarado: Task<ActionResult<Safeleads.Services.PagedList<dynamic>>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


POST /api/AbaComplementar/HomologacaoVistoria


body dto: HomologacaoVistoriaInputDTO — HomologacaoVistoriaInputDTO.


Retorno declarado: Task<IActionResult>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


PUT /api/AbaComplementar/HomologacaoVistoria/{id}


path id: long; body dto: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<HomologacaoVistoriaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


GET /api/AbaComplementar/HomologacaoVistoria/TabelaAvancada


query loadOptions: DataSourceLoadOptions.


Retorno declarado: Task<LoadResult>. Acesso: Bearer; perfis declarados: Administrador,Supervisor,PreVendedor,Vendedor,Gerente,Tecnico.


Voltar ao índice


Status do projeto técnico — StatusProjetoEngenharia


Uso encontrado nos clients: Groner light. Compartilhamento não amplia permissões.


GET /api/StatusProjetoEngenharia


query filtro: QueryOnlyFiltroInputDTO — QueryOnlyFiltroInputDTO; query pagingParams: PagingParams.


Retorno declarado: ActionResult<PagedList<StatusProjetoEngenharia>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.


Voltar ao índice


GET /api/StatusProjetoEngenharia/{id}


path id: long.


Retorno declarado: ActionResult<StatusProjetoEngenharia>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.


Voltar ao índice


POST /api/StatusProjetoEngenharia


body model: NomeInputDto — NomeInputDto.


Retorno declarado: Task<ActionResult<StatusProjetoEngenharia>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.


Voltar ao índice


PUT /api/StatusProjetoEngenharia/{id}


path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<StatusProjetoEngenharia>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.


Voltar ao índice


DELETE /api/StatusProjetoEngenharia/{id}


path id: long.


Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.


Voltar ao índice


GET /api/StatusProjetoEngenharia/Tipos


Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..


Retorno declarado: List<TipoStatusEnumProjetoEngenharia>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Supervisor,Gerente.


Voltar ao índice


Automações do projeto técnico — AutomacoesStatusProjetoEngenharia


Uso encontrado nos clients: Groner light. Compartilhamento não amplia permissões.


GET /api/AutomacoesStatusProjetoEngenharia


query pagingParams: PagingParams.


Retorno declarado: ActionResult<PagedList<AutomacaoStatusProjetoEngenharia>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Gerente,Supervisor.


Voltar ao índice


POST /api/AutomacoesStatusProjetoEngenharia


body model: AddAutomacaoStatusProjetoEngenhariaInputDTO — AddAutomacaoStatusProjetoEngenhariaInputDTO.


Retorno declarado: Task<ActionResult<AutomacaoStatusProjetoEngenharia>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


PUT /api/AutomacoesStatusProjetoEngenharia/{id}


path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<AutomacaoStatusProjetoEngenharia>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


DELETE /api/AutomacoesStatusProjetoEngenharia/{id}


path id: long.


Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


Automações de visita técnica — AutomacaoStatusVisitaTecnica


Uso encontrado nos clients: Groner light. Compartilhamento não amplia permissões.


GET /api/AutomacaoStatusVisitaTecnica


Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..


Retorno declarado: Task<ActionResult<List<AutomacaoStatusVisitaTecnica>>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Gerente,Supervisor.


Voltar ao índice


GET /api/AutomacaoStatusVisitaTecnica/campos


Sem parâmetros de cliente declarados na assinatura; confira transportes especiais na operação..


Retorno declarado: ActionResult<List<CampoCondicaoVisitaOutputDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Gerente,Supervisor.


Voltar ao índice


POST /api/AutomacaoStatusVisitaTecnica


body model: AddAutomacaoStatusVisitaTecnicaInputDTO — AddAutomacaoStatusVisitaTecnicaInputDTO.


Retorno declarado: Task<ActionResult<AutomacaoStatusVisitaTecnica>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


PUT /api/AutomacaoStatusVisitaTecnica/{id}


path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<AutomacaoStatusVisitaTecnica>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


DELETE /api/AutomacaoStatusVisitaTecnica/{id}


path id: long.


Retorno declarado: Task<ActionResult>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


Automações de homologação — AutomacoesStatusHomologacaoVistoria


GET /api/AutomacoesStatusHomologacaoVistoria


query pagingParams: PagingParams.


Retorno declarado: ActionResult<PagedList<AutomacaoStatusHomologacaoVistoria>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Vendedor,Tecnico,Gerente,Supervisor.


Voltar ao índice


POST /api/AutomacoesStatusHomologacaoVistoria


body model: AddAutomacaoStatusHomologacaoVistoriaInputDTO — AddAutomacaoStatusHomologacaoVistoriaInputDTO.


Retorno declarado: Task<ActionResult<AutomacaoStatusHomologacaoVistoria>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


PUT /api/AutomacoesStatusHomologacaoVistoria/{id}


path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<AutomacaoStatusHomologacaoVistoria>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


DELETE /api/AutomacoesStatusHomologacaoVistoria/{id}


path id: long.


Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


Unidades consumidoras — UnidadeConsumidora


Uso encontrado nos clients: Groner light. Compartilhamento não amplia permissões.


POST /api/UnidadeConsumidora/{id}/AnalisarContaIA


path id: long.


Retorno declarado: Task<ActionResult<Safeleads.Models.DTO.Output.ContaEnergiaIAResultadoDTO>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico,Gerente.


Voltar ao índice


GET /api/UnidadeConsumidora/Projeto/{id}


path id: long; query filtro: QueryFiltroInputDTO — QueryFiltroInputDTO; query pagingParams: PagingParams.


Retorno declarado: ActionResult<PagedList<UnidadeConsumidora>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico, Gerente.


Voltar ao índice


GET /api/UnidadeConsumidora/{id}


path id: long.


Retorno declarado: Task<ActionResult<UnidadeConsumidora>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico, Gerente.


Voltar ao índice


POST /api/UnidadeConsumidora


body model: UnidadeConsumidoraInputDTO — UnidadeConsumidoraInputDTO.


Retorno declarado: Task<ActionResult<UnidadeConsumidora>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico, Gerente.


Voltar ao índice


PUT /api/UnidadeConsumidora/{id}


path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<UnidadeConsumidora>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico, Gerente.


Voltar ao índice


DELETE /api/UnidadeConsumidora/{id}


path id: long.


Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico, Gerente.


Voltar ao índice


POST /api/UnidadeConsumidora/AdicionarConsumo12Meses/{id}


path id: long; query consumo: double; query ponta: bool (padrão false).


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.


Voltar ao índice


POST /api/UnidadeConsumidora/EditarConsumo12Meses/{id}/Mes/{mes}


path id: long; path mes: int; query consumo: double; query ponta: bool (padrão false).


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.


Voltar ao índice


POST /api/UnidadeConsumidora/RemoverConsumo12Meses/{id}


path id: long; query consumo: double; query ponta: bool (padrão false).


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.


Voltar ao índice


GET /api/UnidadeConsumidora/CalcularMediaConsumo/{id}


path id: long.


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.


Voltar ao índice


PUT /api/UnidadeConsumidora/{id}/AdicionarContaEnergia/{arquivoId}


path id: long; path arquivoId: long.


Retorno declarado: Task<ActionResult<UnidadeConsumidora>>. Acesso: Acesso sujeito às regras do ambiente; use a credencial da integração e confirme a permissão desta operação.


Voltar ao índice


PUT /api/UnidadeConsumidora/{id}/RemoverContaEnergia


path id: long.


Retorno declarado: Task<ActionResult<UnidadeConsumidora>>. Acesso: Acesso sujeito às regras do ambiente; use a credencial da integração e confirme a permissão desta operação.


Voltar ao índice


Concessionárias — Concessionaria


Uso encontrado nos clients: Groner light, Groner monitoramento-front. Compartilhamento não amplia permissões.


GET /api/Concessionaria


query filtro: QueryFiltroInputDTO — QueryFiltroInputDTO; query pagingParams: PagingParams.


Retorno declarado: ActionResult<PagedList<Concessionaria>>. Acesso: Bearer; perfis declarados: Administrador,PreVendedor,Supervisor,Vendedor,Tecnico, Gerente.


Voltar ao índice


GET /api/Concessionaria/{id}


path id: long.


Retorno declarado: Task<ActionResult<Concessionaria>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


POST /api/Concessionaria


body model: ConcessionariaInputDTO — ConcessionariaInputDTO.


Retorno declarado: Task<ActionResult<Concessionaria>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


POST /api/Concessionaria/AddLista


body model: List<ConcessionariaInputDTO> — ConcessionariaInputDTO.


Retorno declarado: Task<ActionResult>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


PUT /api/Concessionaria/{id}


path id: long; body model: EditarPropriedadeInputDTO — EditarPropriedadeInputDTO.


Retorno declarado: Task<ActionResult<Concessionaria>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


DELETE /api/Concessionaria/{id}


path id: long.


Retorno declarado: Task. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


POST /api/Concessionaria/ExcluirConcessionarias


body ids: long[].


Retorno declarado: Task<List<long>>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice


POST /api/Concessionaria/EditarEmMassa


body body: EditarConcessionariasEmMassaInputDTO — EditarConcessionariasEmMassaInputDTO.


Retorno declarado: Task<string>. Acesso: Bearer; perfis declarados: Administrador.


Voltar ao índice



Veja também


Atualizado em: 14/10/2026

Este artigo foi útil?

Compartilhe seu feedback

Cancelar

Obrigado!