API Groner — campos e tipos: ContatoInputDTO a FiltroFilaSeparacaoInputDTO
Dicionário de campos dos contratos usados na referência. Nomes são os da propriedade C# ou do JsonProperty explícito; respeite o schema da operação.
Guia principal · Exemplo completo · Campos
Índice clicável
ContatoInputDTO · ContratoInputDTO · ConverterContatoInputDTO · CoordenadasInputDTO · CopiarCamposPersonalizadosInputDTO · CopiarCamposPersonalizadosTipoTarefaInputDTO · CopiarStatusInputDTO · CorrigirCustoInputDTO · CriarCalendarioGoogleInputDTO · CriarCampanhaEmailInputDTO · CriarEntregaPedidoInputDTO · CriarEventoGoogleInputDTO · CriarFormularioInputDTO · CriarIdentidadeRemetenteInputDTO · CriarLandingPageInputDTO · CriarOrcamentoInputDTO · CriarPedidoCompraDaNotaInputDTO · CriarPendenciaInputDTO · CriarRegraStatusProjetoInputDTO · CriarTituloConciliacaoInputDTO · CustoExtraPropostaInputDTO · CustoExtraSimulacao · CustoOrdemServicoInputDTO · DataClickSignOutputDTO · DefinirOrigemInputDTO · DefinirPrazoRepasseInputDTO · DefinirRateioInputDTO · DefinirRecalculoCustosExtrasInputDTO · DefinirValorPedidoInputDTO · DepositoInputDTO · DescricaoItemNotaInputDTO · DescricaoItemPedidoInputDTO · DesfazerMovimentacaoEmMassaInputDTO · DestinatarioFiscalInputDTO · DevolucaoEstoqueInputDTO · DiarioObraInputDTO · DocumentClickSignOutPutDTO · DocumentoInputDTO · DownloadsClickSignOutputDTO · DrePedidosInputDTO · DuplicarLojaInputDTO · DuplicarTipoServicoInputDTO · EditarConcessionariasEmMassaInputDTO · EditarDataTarefasInputDTO · EditarEventoGoogleInputDTO · EditarFinanceiroLoteInputDTO · EditarInsumoAplicadoInputDTO · EditarNomeInputDTO · EditarPendenciaInputDTO · EditarPropriedadeInputDTO · EditarResponsaveisTarefasInputDTO · EditarStatusTarefasInputDTO · EditarTarefaPaiTarefasInputDTO · EditarTipoTarefasInputDTO · EditarValorCustoExtraAplicadoInputDTO · EditorBedrockInvokeInputDTO · EditorBriefingAnexoInputDTO · EditorBriefingChatInputDTO · EditorImagemInputDTO · EmitirDeOrdemServicoInputDTO · EmitirDePedidoInputDTO · Endereco · EnderecoAnaliseContaEnergiaInputDTO · EnderecoInputDTO · EnderecoLojaDTO · EntregaFrustradaInputDTO · EntregarEntregaProjetoInputDTO · EntregarItemEntregaInputDTO · EntregarItemPedidoInputDTO · EquipeTecnica · EstoqueImportarInputDTO · EstoqueImportarItemDTO · EstornarLancamentoInputDTO · EstornarMovimentoInputDTO · EstornarSeparacaoInputDTO · EstudoJsonInputDTO · EtapaInputDTO · EtapaLead · Etiqueta · EtiquetaInputDTO · EtiquetaTarefa · EventClickSignOutPutDTO · EventRequestClickSignOutPutDTO · ExcluirPedidosLoteInputDTO · ExcluirProjetosInputDTO · ExcluirProximasRecorrenciaInputDTO · ExtratoBancarioLinhaInputDTO · FaceTelhado · FaceTelhadoInputDTO · FaixaInssInputDTO · FaixaIrrfInputDTO · FaixaSalarioFamiliaInputDTO · FaturarOrdemServicoEmLoteInputDTO · FaturarOrdemServicoInputDTO · FaturarPedidoCompraInputDTO · FaturarPedidoVendaInputDTO · FilaDistribuicaoInputDTO · FiltroAldoInputDTO · FiltroArquivoInputDTO · FiltroCampoPersonalizadoInputDTO · FiltroComissaoInputDTO · FiltroContratoInputDTO · FiltroDocumentoInputDTO · FiltroEmailEnviadoInputDTO · FiltroEmailEventoInputDTO · FiltroEntregaInputDTO · FiltroEtapaLeadInputDTO · FiltroExtratoBancarioInputDTO · FiltroFechamentoComissaoInputDTO · FiltroFilaDistribuicaoInputDTO · FiltroFilaSeparacaoInputDTO
Como interpretar os campos
? indica anulável; List<T>/T[] são arrays; long/int são inteiros; double/decimal são números JSON. DateTime segue o contrato de fuso da action. [Required] não cobre todas as validações de negócio. Campos ignorados por JSON foram excluídos. Tipos homônimos exigem conferir o namespace da operação.
Exemplo de uso
Consultar categorias financeiras
Requisição completa (Bash):
curl --request GET \
--url "$API_URL/api/CategoriaFinanceira?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
}
}Operações ERP usam o perfil e as permissões da empresa. Recebimento, pagamento, conciliação, baixa em lote e recorrência possuem DTOs próprios: editar a propriedade de um título não substitui uma baixa.
O exemplo é fictício, baseado no contrato conferido no código. As respostas não foram coletadas em produção.
Contratos
ContatoInputDTO
Nome:string.Tipo:TipoLead?.InscricaoEstadual:string.CPF:string.CNPJ:string.RG:string.TipoContato:string.Celular:string.Email:string.ExternalId:string.TipoContatoId:long.
ContratoInputDTO
Herança: AbaComplementarInputDTO — AbaComplementarInputDTO.
numeroDoContrato:string.statusDoContrato:string.dataDaAssinatura:DateTime.opcaoDePagamento:string.instalacao:string.car:string.matriculaDoImovelRural:string.contratoArrendamento:string.condicaoDeFechamento:string.nomeCompletoTestemunha1:string.rgTestemunha1:string.cpfTestemunha1:string.nomeCompletoTestemunha2:string.rgTestemunha2:string.cpfTestemunha2:string.
ConverterContatoInputDTO
leadIdOrigem:long.leadIdDestino:long.tipoContato:string.
CoordenadasInputDTO
Latitude:string.Longitude:string.PlusCode:string.
CopiarCamposPersonalizadosInputDTO
TipoServicoId:long.CamposIds:List<long>.TipoServicoAlvoId:long.
CopiarCamposPersonalizadosTipoTarefaInputDTO
TipoTarefaId:long.CamposIds:List<long>.TipoTarefaAlvoId:long.
CopiarStatusInputDTO
idStatusProjetoExistente:long.novoNome:string.
CorrigirCustoInputDTO
InsumoId:long.DepositoId:long.CustoMedio:decimal.
CriarCalendarioGoogleInputDTO
Nome:string. Cria um calendário novo na conta Google do usuário.
CriarCampanhaEmailInputDTO
Nome:string. Payload de criação de uma campanha de e-mail marketing.ModeloEmailId:long?. Modelo de e-mail (template) base. O Assunto/Corpo são copiados (snapshot).Assunto:string. Sobrescreve o assunto do modelo (opcional).TipoSegmentacao:TipoSegmentacaoCampanhaEnum?. Como o público é definido (Lead ou Negócio). Default: Lead.Segmentacao:object. Filtro de segmentação. Conforme TipoSegmentacao é um FiltroLeadInputDTO (Lead) ou um FiltroProjetoInputDTO (Negócio) — serializado como JSON.DataAgendamento:DateTime?. Se informado, a campanha já nasce Agendada.RemetenteNome:string.RemetenteEmail:string.
CriarEntregaPedidoInputDTO
PedidoVendaId:long. Lista de itens vazia = todo o saldo do pedido.DataPrevisaoEntrega:DateTime?.Itens:List<ItemCriarEntregaPedidoInputDTO>— ItemCriarEntregaPedidoInputDTO.
CriarEventoGoogleInputDTO
UsuarioId:long. Input para criação de evento direto via GoogleAgendaController (sem passar pelo TarefaService — útil quando o usuário quer criar um lembrete avulso no Google a partir do CRM sem virar Tarefa).Titulo:string.Descricao:string.Local:string.DataInicio:DateTime.DataFim:DateTime.TarefaId:long?. Se preenchido, vincula o evento à Tarefa via SincronizacaoGoogleTarefa.ParticipantesEmails:IList<string>.CalendarId:string. Em qual calendário criar. Vazio = "primary", que é o que todo chamador antigo fazia — por isso o campo é opcional e não muda nada para quem não o informa.CriarSalaMeet:bool. Pedir ao Google que crie uma sala do Meet para este evento. É o Google quem gera o código da sala — não dá para escolher nem adivinhar. Ele só devolve o link se a criação for feita pedindo a conferência junto, e nunca depois.
CriarFormularioInputDTO
Nome:string. Payload de criação de um Formulário.OrigemId:long?. Origem atribuída ao Lead gerado (opcional na criação).Slug:string. Slug desejado (opcional; se vazio é gerado a partir do Nome).
CriarIdentidadeRemetenteInputDTO
Identifier:string.Tipo:TipoIdentidadeRemetenteEnum.Nickname:string. Nome amigável para identificar na UI. Opcional.ConfigurationSet:string. Configuration Set para isolar tracking. Opcional. Se não informado, a identidade é criada sem associação e o tracking cai no nível da conta.
CriarLandingPageInputDTO
Nome:string. Payload de criação de uma Landing Page (nasce como Rascunho).FormularioId:long?. Formulário a embedar (opcional).Slug:string. Slug desejado (opcional; se vazio é gerado a partir do Nome).
CriarOrcamentoInputDTO
ProjetoId:long.ValorTotal:double.Observacao:string.
CriarPedidoCompraDaNotaInputDTO
LojaId:long?.DepositoId:long?.CategoriaFinanceiraId:long?.CentroCustoId:long?.ContaBancariaId:long?.PedidoVendaId:long?.CriarFornecedor:bool. Sem fornecedor casado pelo CNPJ: criar um cadastro mínimo (razão social + CNPJ da nota).CriarProdutos:bool. Itens sem produto casado: criar o Insumo no Estoque (nome, código, GTIN, NCM e unidade da nota) em vez de entrar só descrição.DarEntradaEstoque:bool. Já dar a ENTRADA no estoque (recebimento total do pedido no depósito informado) — a mercadoria de compra de última hora normalmente já chegou.GerarContasPagar:bool. Já faturar o pedido gerando o título a pagar com as parcelas abaixo.DataCompetencia:DateTime?. Mês a que a despesa da nota pertence (competência) no título gerado. Vazio = vale a emissão do título, que é o dia da importação. A tela sugere a data de emissão da NOTA, que é o caso comum: a nota de agosto chega para lançar em setembro.Parcelas:List<ParcelaPagarInputDTO>— ParcelaPagarInputDTO.Rastreios:List<RastreioItemNotaInputDTO>— RastreioItemNotaInputDTO. Rastreio item a item da entrada (série/lote). Vazio = a entrada continua como era: as unidades nascem "a identificar". O índice é o da lista FINAL de itens — a informada em quando ela existe.Itens:List<ItemPedidoDaNotaInputDTO>— ItemPedidoDaNotaInputDTO.
CriarPendenciaInputDTO
ProjetoId:long. Criação MANUAL de pendência pelo admin (MVP).TipoPendenciaId:long?. Tipo do catálogo (TipoPendencia). Opcional — só rastreia a origem dos padrões: o front já manda Titulo/Descricao/SetorId preenchidos.Titulo:string.Descricao:string.Obrigatoria:bool.ExigeComprovacao:bool?. Se null, herda ConfiguracaoPendencia.ExigeComprovacaoDefault.Alvo:AlvoPendenciaEnum. Interna (cobra usuários) ou Externa (cobra o Lead). Default Interna.SetorId:long?. Setor dono (null = Geral, sem setor).Prioridade:PrioridadePendenciaEnum?. Null = Média.DataLimite:DateTime?. Prazo para a resposta. Opcional.ResponsavelUsuarioId:long?. Usuário que responde pela pendência (ex.: o vendedor, quando a Mesa de Crédito pede um documento). Recebe a notificação de criação.CadenciaAtiva:bool. Cobrança recorrente (lembretes por IA no WhatsApp). Intervalo/Máx = 0 → usa os defaults da config.CadenciaIntervaloDias:int.CadenciaMaxLembretes:int.Notificacao:PendenciaNotificacaoInputDTO— PendenciaNotificacaoInputDTO. Notificação one-shot ao criar (opcional). null → default da ConfiguracaoPendencia (NotificarResponsaveisAoCriar → in-app pros responsáveis).
CriarRegraStatusProjetoInputDTO
StatusId:long— obrigatório por atributo. DTO para criar uma nova RegraStatusProjeto.Tipo:TipoRegraEnum— obrigatório por atributo.Propriedade:string— obrigatório por atributo.Condicao:CondicaoRegraStatusEnum— obrigatório por atributo.Valor:string— obrigatório por atributo.Descricao:string?.
CriarTituloConciliacaoInputDTO
ExtratoBancarioId:long.Descricao:string. Vazia = usa a descrição da própria linha do extrato.CategoriaFinanceiraId:long?.CentroCustoId:long?.FornecedorId:long?. Fornecedor (linha de Débito → conta a pagar). Opcional.LeadId:long?. Cliente/Lead (linha de Crédito → conta a receber). Opcional.Valor:decimal?. Nulo = o que falta cobrir da linha (valor − já conciliado).Observacao:string.
CustoExtraPropostaInputDTO
Id:long.Entrada:double.
CustoExtraSimulacao
Id:long.CustoAplicado:string.Entrada:double.Grandeza:string.Valor:double.Aplicacao:TipoAplicacaoEnum.Codigo:string.Ordem:int.NaoAplicavel:bool.Formula:string.
CustoOrdemServicoInputDTO
DataInicio:DateTime?. Parâmetros do relatório "Custo por Ordem de Serviço": confronta a receita faturada de cada OS (Títulos a Receber com Fonte=OrdemServico) contra o custo de materiais baixados do estoque (CMV). Período opcional sobre a data de finalização.DataFim:DateTime?.LojaId:long?.CentroCustoId:long?. Filtra as OS de um centro de custo (projeto/obra) específico.
DataClickSignOutputDTO
user:UserClickSignOutputDTO— UserClickSignOutputDTO.account:AccountClickSignOutputDTO— AccountClickSignOutputDTO.signers:List<SignerClickSignOutPutDTO>— SignerClickSignOutPutDTO.signer:SignerClickSignOutPutDTO— SignerClickSignOutPutDTO.deadline_at:DateTime.auto_close:bool.locale:string.
DefinirOrigemInputDTO
OrigemId:long?. Id da Origem do CRM; null limpa a atribuição.
DefinirPrazoRepasseInputDTO
Dias:int?. Prazo de repasse de um banco, em dias após a APROVAÇÃO. Null limpa o prazo — e sem prazo o repasse volta a nascer "a confirmar", que é a resposta honesta quando ninguém sabe a data.
DefinirRateioInputDTO
GeradorId:long. Define o rateio completo de um gerador para N unidades consumidoras (substitui o anterior).Itens:List<RateioItemInputDTO>— RateioItemInputDTO.
DefinirRecalculoCustosExtrasInputDTO
Recalcular:bool. Corpo do PUT que liga/desliga o recalculo dos custos extras de uma proposta.
DefinirValorPedidoInputDTO
Valor:decimal. Valor do Pedido de Venda ajustado a mao. Corpo JSON de proposito: a API roda sob cultura pt-BR e decimal em query string entraria com o ponto lido como separador de milhar.
DepositoInputDTO
Codigo:string.Nome:string.Padrao:bool.LojaId:long?.
DescricaoItemNotaInputDTO
Id:long.Descricao:string.
DescricaoItemPedidoInputDTO
ItemPedidoVendaId:long.Descricao:string.ValorUnitario:decimal?.Quantidade:decimal?. Quantidade que vai na nota, quando diferente do pedido.
DesfazerMovimentacaoEmMassaInputDTO
DataInicio:DateTime. Início da janela (UTC) em que os Projeto_Status foram inseridos. Use uns segundos antes da DataStatus mais antiga do lote.DataFim:DateTime. Fim da janela (UTC). Use uns segundos depois da DataStatus mais recente do lote.StatusId:long?. (Opcional) Restringe a reversão a movimentações que foram para este StatusId. Recomendado para reduzir o risco de tocar em movimentações de outro lote que tenham caído na mesma janela.Observacao:string. (Opcional) Texto exato esperado na coluna Observacao do Projeto_Status. Default: "MOVIMENTACAO_EM_MASSA".
DestinatarioFiscalInputDTO
Nome:string.Documento:string.Email:string.Celular:string.InscricaoEstadual:string.IndicadorIE:IndicadorIEDestinatario?. 1 contribuinte · 2 isento · 9 não contribuinte. Nulo = 9.LojaId:long?.CEP:string.Logradouro:string.Numero:string.Complemento:string.Bairro:string.Cidade:string.UF:string.CodigoMunicipioIBGE:string. Código IBGE do município: a NFS-e identifica o tomador por ele (a NF-e usa o nome do município).
DevolucaoEstoqueInputDTO
Motivo:MotivoDevolucaoEstoqueEnum. Devolução de estoque de um Pedido de Venda: o material volta ao depósito de onde saiu, pelo custo da saída. Aceita devolução PARCIAL — obra cancelada com parte do material já aplicada é o caso normal.Observacao:string. Detalhe livre — vai para o histórico do movimento.Itens:List<ItemDevolucaoInputDTO>— ItemDevolucaoInputDTO.
DiarioObraInputDTO
dataDiario:DateTime.descricao:string.arquivos:List<string>.instalacaoId:long.
DocumentClickSignOutPutDTO
key:string.account_key:string.path:string.filename:string.uploaded_at:DateTime.updated_at:DateTime.finished_at:object.deadline_at:DateTime.status:string.auto_close:bool.locale:string.sequence_enabled:bool.signable_group:object.remind_interval:object.downloads:DownloadsClickSignOutputDTO— DownloadsClickSignOutputDTO.template:object.signers:List<SignerClickSignOutPutDTO>— SignerClickSignOutPutDTO.events:List<EventClickSignOutPutDTO>— EventClickSignOutPutDTO.attachments:List<object>.
DocumentoInputDTO
ModeloId:long.OrdemServicoId:long?.ProjetoId:long?.ContratoId:long?.ProjetoEngenhariaId:long?.DataPrazoAssinatura:DateTime?. Prazo de assinatura informado na criação (fechamento guiado). Quando nulo, vale o default da ConfiguracaoClickSign (PrazoAssinaturaDias).
DownloadsClickSignOutputDTO
original_file_url:string.signed_file_url:string.ziped_file_url:string.
DrePedidosInputDTO
DataInicio:DateTime?. Filtro da DRE por Pedido de Venda ("DRE por obra"). O período filtra o PEDIDO (DataPedido), não os lançamentos: a obra carrega suas receitas e custos inteiros, mesmo os que caíram em outro mês.DataFim:DateTime?.LojaId:long?.Status:string. Rascunho | Confirmado | Faturado. Vazio = todos (cancelado nunca entra).Busca:string. Número do pedido ou nome do cliente.PageNumber:int.PageSize:int.
DuplicarLojaInputDTO
Nome:string.CopiarPrecificacao:bool.
DuplicarTipoServicoInputDTO
Nome:string. Entrada da duplicação de um tipo de serviço. A cópia nasce igual à origem em tudo (cor, durações, fórmula, setor, funções, finalidade); o que muda é o , que precisa ser único.CopiarCamposPersonalizados:bool. Também clonar os campos do formulário da origem.
EditarConcessionariasEmMassaInputDTO
LojasIds:List<long>.Ids:long[].Substituir:bool.
EditarDataTarefasInputDTO
Ids:List<long>.DataEntrega:DateTime.
EditarEventoGoogleInputDTO
Titulo:string. Input para edição parcial de um evento existente.Descricao:string.Local:string.DataInicio:DateTime?.DataFim:DateTime?.ParticipantesEmails:IList<string>.CalendarId:string. Onde o evento vive. Sem isto a edição procurava o calendário na tabela de Tarefas — e o evento de uma REUNIÃO fora do "primary" não está lá, então a edição batia no calendário errado e voltava 404.
EditarFinanceiroLoteInputDTO
Herança: ParcelasLoteInputDTO — ParcelasLoteInputDTO.
CategoriaFinanceiraId:long?. Edição em lote dos campos de classificação. Só o que vier preenchido é alterado — null significa "não mexe".CentroCustoId:long?.ContaBancariaId:long?.FormaPagamentoId:long?.LojaId:long?.
EditarInsumoAplicadoInputDTO
Quantidade:double?.ValorTotal:double?.Nome:string.Codigo:string.Descricao:string.CategoriaNome:string.Aplicacao:AplicacaoCategoriaInsumoEnum?.
EditarNomeInputDTO
Nome:string.
EditarPendenciaInputDTO
Titulo:string. Edição dos campos da pendência já cadastrada (null = não altera).Descricao:string.SetorId:long?. Setor dono. Use LimparSetor para voltar a "Geral".LimparSetor:bool.TipoPendenciaId:long?.LimparTipo:bool.Obrigatoria:bool?.ExigeComprovacao:bool?.Prioridade:PrioridadePendenciaEnum?.DataLimite:DateTime?. Use LimparDataLimite para tirar o prazo.LimparDataLimite:bool.ResponsavelUsuarioId:long?. Use LimparResponsavel para tirar o responsável.LimparResponsavel:bool.
EditarPropriedadeInputDTO
Propriedade:string.Valor:string.IgnorarVerificacaoConflito:bool.
EditarResponsaveisTarefasInputDTO
Ids:List<long>.ResponsaveisIds:List<long>.
EditarStatusTarefasInputDTO
Ids:List<long>.StatusId:long.
EditarTarefaPaiTarefasInputDTO
Ids:List<long>.TarefaPaiId:long?.
EditarTipoTarefasInputDTO
Ids:List<long>.TipoId:long.
EditarValorCustoExtraAplicadoInputDTO
Valor:string.CustoExtraId:long.CustosExtrasIdsNaoRecalcular:List<long>.
EditorBedrockInvokeInputDTO
Prompt:string.SessionId:string.SessionAttributes:Dictionary<string, string>.
EditorBriefingAnexoInputDTO
Url:string. URL pública do arquivo (storage do estúdio).Mime:string. MIME (image/png, image/jpeg, image/webp, image/gif, application/pdf).Tipo:string. "image" | "pdf" | "other".Nome:string. Nome original (rótulo do documento no Converse).
EditorBriefingChatInputDTO
Conversa:string. Transcrição da conversa até aqui (Assistente:/Usuário: por linha).Contexto:string. Contexto opcional (ex.: nome da campanha + perfil da empresa).Tipo:string. "briefing" (default, consultor que pergunta) ou "plano" (estrategista que segue as instruções do usuário e retorna o JSON do plano).Anexos:System.Collections.Generic.List<EditorBriefingAnexoInputDTO>— EditorBriefingAnexoInputDTO. Referências enviadas pelo usuário (imagens/PDF de campanhas que gosta). O backend baixa cada URL e anexa ao Converse como bloco de imagem/documento — o modelo lê layout, copy, ofertas e cores. Usado sobretudo no tipo "plano".
EditorImagemInputDTO
Prompt:string. Entrada da geração de imagem por IA (Estúdio de Campanhas → Bedrock Nova Canvas).NegativePrompt:string.Width:int?.Height:int?.Quantidade:int?.
EmitirDeOrdemServicoInputDTO
OrdemServicoId:long.ContatoDestinatarioId:long?. Contato do cliente que recebe a nota no lugar do titular (tem de ser do mesmo cliente). Nulo = o próprio cliente.UsarEnderecoDoTitular:bool. Contato sem endereço completo: usa o endereço do titular.Modelo:ModeloDocumentoFiscal. Modelo da nota de PRODUTOS (NF-e ou NFC-e). A de serviço é sempre NFS-e.Finalidade:FinalidadeNotaFiscal?.NaturezaOperacao:string.NaturezaOperacaoId:long?.InformacoesComplementares:string.IncluirMateriais:bool?. Faturar os materiais junto. Null = segue o que o TipoServico da OS diz (MateriaisFaturaveis) — a mesma regra do faturamento.DescricaoMaoObra:string. Descrição da mão de obra na nota. Vazio = "OS {numero} — {titulo}". É o que o Fisco lê como identificação do serviço.IssRetido:bool.ValorIrrfRetido:decimal.ValorInssRetido:decimal.ValorPisRetido:decimal.ValorCofinsRetido:decimal.ValorCsllRetido:decimal.
EmitirDePedidoInputDTO
Herança: TransporteNotaInputDTO — TransporteNotaInputDTO.
PedidoVendaId:long. Gera uma NotaFiscal a partir de um PedidoVenda já existente, reaproveitando itens, destinatário (Lead) e loja. Modelo padrão = NF-e (55).Modelo:ModeloDocumentoFiscal.ContatoDestinatarioId:long?. Contato do cliente que recebe a nota no lugar do titular (tem de ser do mesmo cliente). Nulo = o próprio cliente.UsarEnderecoDoTitular:bool. Contato sem endereço completo: usa o endereço do titular.Finalidade:FinalidadeNotaFiscal?.NaturezaOperacao:string.NaturezaOperacaoId:long?. Natureza cadastrada. Não informada, vale a do pedido.InformacoesComplementares:string.SaidaImediata:bool?. A mercadoria sai agora (preenche data/hora de saída no DANFE). Nulo = sim — é o caso normal, a nota acompanha a carga. Marque falso no faturamento antecipado.IssRetido:bool. ISS retido pelo tomador (NFS-e B2B).ValorIrrfRetido:decimal.ValorInssRetido:decimal.ValorPisRetido:decimal.ValorCofinsRetido:decimal.ValorCsllRetido:decimal.DescricoesItens:List<DescricaoItemPedidoInputDTO>— DescricaoItemPedidoInputDTO.
Endereco
Id:long.CEP:string.Logradouro:string.Numero:string.Complemento:string.Bairro:string.Cidade:string.UF:string.CodigoMunicipioIBGE:string. Código IBGE do município (cMun, 7 dígitos) — obrigatório na NF-e/NFC-e. Preenchido nos cadastros para alimentar a emissão fiscal.
EnderecoAnaliseContaEnergiaInputDTO
CEP:string. Endereço extraído da conta de energia. Campos vazios significam "não veio na conta" e são ignorados — nunca apagam o que já está cadastrado.Logradouro:string.Numero:string.Complemento:string.Bairro:string.Cidade:string.UF:string.CodigoMunicipioIBGE:string.
EnderecoInputDTO
CEP:string.Logradouro:string.Numero:string.Complemento:string.Bairro:string.Cidade:string.UF:string.Latitude:string.Longitude:string.PlusCode:string.Token:string?.
EnderecoLojaDTO
Cep:string.Logradouro:string.Numero:string.Complemento:string.Bairro:string.Cidade:string.UF:string.CodigoMunicipioIBGE:string.
EntregaFrustradaInputDTO
Motivo:string. Obrigatório: por que ninguém recebeu (texto curto do motorista).
EntregarEntregaProjetoInputDTO
Itens:List<ItemEntregarInputDTO>— ItemEntregarInputDTO. Confirmação de entrega ao cliente. Itens null/vazio = entrega tudo que está despachado e ainda não entregue (o caso comum).SomenteItensInformados:bool.
EntregarItemEntregaInputDTO
ItemId:long. Marcar UM item como entregue pelo detalhe da entrega (admin) — o item que ficou em "Separado" e de fato foi para a obra.Quantidade:decimal?. Null = o que o funil diz que está pronto e ainda não foi entregue (conferido, ou separado, ou previsto).Motivo:string.
EntregarItemPedidoInputDTO
InsumoId:long. Entregar pela tela do PEDIDO: lá a linha é um produto que saiu do estoque, não um item de entrega — quem resolve a entrega é o servidor.Quantidade:decimal?. Null = tudo o que saiu por este pedido e ainda não foi entregue.
EquipeTecnica
DataCadastro:DateTime.Id:long.Nome:string.Celular:string.HorariosFuncionamento:IList<HorarioFuncionamento>— HorarioFuncionamento.Latitude:string.Longitude:string.SetorId:long?.Setor:Setor— Setor.
EstoqueImportarInputDTO
Itens:List<EstoqueImportarItemDTO>— EstoqueImportarItemDTO. Importação de saldos de estoque a partir de planilha. O frontend lê o .xlsx, mapeia as colunas e envia as linhas normalizadas.
EstoqueImportarItemDTO
Produto:string. Nome do produto (vira o Insumo).Codigo:string.Fabricante:string.Tipo:string. Módulo / Inversor / Bateria / ... (mapeado para TipoInsumoEnum).Loja:string. Nome da Loja — casado com Loja.Nome (ou RazaoSocial).Fisico:double. Estoque físico → SaldoEstoque.Quantidade.Disponivel:double.Vendido:double. Vendido (reservado) → SaldoEstoque.Reservado.EmRota:double. Em rota (em trânsito) → SaldoEstoque.EmTransito.Comprar:double.CustoMedio:double. Custo médio unitário da planilha. Sem ele o saldo entra com custo zero e o "Valor total" da tela (Físico × Custo médio) sai R$ 0,00 — foi o que o cliente reportou em 06/08.ValorTotal:double. Alternativa ao custo unitário: quando a planilha traz só o valor total da linha, o custo é derivado (ValorTotal ÷ Físico).
EstornarLancamentoInputDTO
DataEstorno:DateTime?. Parâmetros opcionais do estorno de um lançamento. Quando vazios, o estorno usa a data atual, a competência do lançamento original e um histórico padrão.DataCompetencia:DateTime?.Historico:string.
EstornarMovimentoInputDTO
Observacao:string. Estorno de movimento manual/ajuste — só a observação opcional; tudo o mais vem do movimento original.
EstornarSeparacaoInputDTO
Motivo:string.
EstudoJsonInputDTO
EstudoJson:string. Estado VIVO do Estudo (precificação/payback + inputs) serializado — salvo no Projeto.
EtapaInputDTO
Nome:string.Cor:string.Paralelo:bool.Perda:bool.SetorId:long?.
EtapaLead
Id:long.Ativo:bool.Excluido:bool.DataExclusao:DateTime?.Nome:string.Cor:string.Paralelo:bool.Negativo:bool.Monitoramento:bool.Ordem:int.Lojas:string.SetorId:long?.Setor:Setor— Setor.
Etiqueta
Id:long.Nome:string.Cor:string.Funcoes:string.
EtiquetaInputDTO
Nome:string.Cor:string.FuncoesIds:List<long>.SetorId:long?.
EtiquetaTarefa
Id:long.Nome:string.Cor:string.SetorId:long?.Setor:Setor— Setor.Funcoes:string.
EventClickSignOutPutDTO
name:string.data:DataClickSignOutputDTO— DataClickSignOutputDTO.occurred_at:DateTime.
EventRequestClickSignOutPutDTO
document:DocumentClickSignOutPutDTO— DocumentClickSignOutPutDTO.
ExcluirPedidosLoteInputDTO
Ids:List<long>. Exclusão de pedidos de venda em lote.ApenasSimular:bool. true = só conta o que aconteceria, sem gravar. É o que alimenta a confirmação da tela.
ExcluirProjetosInputDTO
DeStatusId:long.DeEtapaId:long.ProjetoIds:List<long>.
ExcluirProximasRecorrenciaInputDTO
APartirDoTituloId:long?. Corta a partir desta ocorrência (inclusive). Vazio = todas as ocorrências ainda em aberto.
ExtratoBancarioLinhaInputDTO
DataMovimento:DateTime. Linha canônica de extrato para importação estruturada. Valor COM sinal (positivo = crédito/entrada, negativo = débito/saída).Descricao:string.Valor:decimal.SaldoApos:decimal?.DocumentoId:string.ExternalId:string.ContraparteNome:string. Quem está do outro lado da transferência (quando o banco informa).ContraparteDocumento:string.
FaceTelhado
Herança: BaseModel — BaseModel.
UnidadeConsumidoraId:long. Água de telhado de uma Unidade Consumidora. Uma UC pode ter N faces, cada uma com orientação e inclinação próprias. Aditivo: o campo string Projeto.FaceTelhado (legado) continua existindo; esta entidade é o modelo rico por água de telhado.UnidadeConsumidora:UnidadeConsumidora— UnidadeConsumidora.GeradorId:long?. Gerador de solo/usina sem UC física pode ter "faces" diretas (null quando a face é da UC).Gerador:Gerador— Gerador.Nome:string.Ordem:int.OrientacaoCardinal:string.Azimute:double.Inclinacao:int.AreaM2:double.GeometriaJson:string. Polígono da água de telhado desenhado no mapa (GeoJSON/coords serializado).Layouts:IList<LayoutModulo>— LayoutModulo.
FaceTelhadoInputDTO
UnidadeConsumidoraId:long.GeradorId:long?.Nome:string.Ordem:int.OrientacaoCardinal:string.Azimute:double.Inclinacao:int.AreaM2:double.GeometriaJson:string.
FaixaInssInputDTO
Ordem:int.ValorAte:double.Aliquota:double.ParcelaDeduzir:double.
FaixaIrrfInputDTO
Ordem:int.BaseAte:double.Aliquota:double.ParcelaDeduzir:double.
FaixaSalarioFamiliaInputDTO
RendaAte:double.ValorCota:double.
FaturarOrdemServicoEmLoteInputDTO
OrdemServicoIds:List<long>.ContaBancariaId:long?.CategoriaFinanceiraId:long?.CentroCustoId:long?. Sobrepoe o centro de custo de CADA OS do lote quando informado. Faltava aqui: quem fatura em lote classificava uma a uma depois, no titulo (relato do catarinnasolar em 02/09).QuantidadeParcelas:int?. 1 ou nulo = à vista.PrimeiroVencimento:DateTime?. Vencimento da primeira parcela. Nulo = data de emissão do título (a data de finalização da OS).IntervaloDias:int?. Dias entre parcelas. Nulo = 30.
FaturarOrdemServicoInputDTO
OrdemServicoId:long. Fatura UMA Ordem de Serviço gerando um Título a Receber (Fonte=OrdemServico). Sem Parcelas, o título nasce à vista — mesmo contrato do faturamento de Pedido de Venda.ContaBancariaId:long?.CategoriaFinanceiraId:long?.CentroCustoId:long?. Sobrepõe o centro de custo da OS quando informado.Parcelas:List<ParcelaReceberInputDTO>— ParcelaReceberInputDTO.
FaturarPedidoCompraInputDTO
PedidoCompraId:long. Fatura um PedidoCompra gerando um TituloPagar (Fonte=PedidoCompra). Sem Parcelas, o título é criado à vista.ContaBancariaId:long?.CategoriaFinanceiraId:long?.CentroCustoId:long?. Centro de custo do título. Vazio = o do pedido. Faltava aqui: só o do pedido entrava, e quem descobria a classificação certa na hora de faturar tinha de corrigir o título depois. O lado da venda já tinha o campo.DataCompetencia:DateTime?.Parcelas:List<ParcelaPagarInputDTO>— ParcelaPagarInputDTO.
FaturarPedidoVendaInputDTO
PedidoVendaId:long. Fatura um PedidoVenda gerando um TituloReceber (Fonte=PedidoVenda). Sem Parcelas, o título é criado à vista.ContaBancariaId:long?.CategoriaFinanceiraId:long?.CentroCustoId:long?. Centro de custo do título. Faltava aqui: só o do pedido entrava, e pedido sem centro (o caso do gerado a partir da venda) gerava título sem classificação — a DRE por centro perdia a receita e alguém reclassificava a mão depois.DataCompetencia:DateTime?.Parcelas:List<ParcelaReceberInputDTO>— ParcelaReceberInputDTO.
FilaDistribuicaoInputDTO
Nome:string.Gatilho:GatilhoFilaEnum.PropriedadeAtribuicao:PropriedadeAtribuicaoEnum?.NumerosWhatsApp:string.
FiltroAldoInputDTO
Consumo:double.PotenciaDesejada:double?. Potência desejada em kWp. Quando informada (> 0), o ListarKits usa esse valor direto como base da faixa de busca, no lugar da conversão consumo→potência.MarcaPainel:string.MarcaInversor:string.Rastreador:string.TensaoSaida:string.OnGrid:bool.OffGrid:bool.Hibrido:bool.CodigoKit:string.Projeto:Projeto— Projeto.FinanciamentosIds:List<long>.Distribuidor:DistribuidorIntegracao.Topologia:string.tipo_kit:string.FilialSolMais:int?.moduleId:string.inverterBrandsId:string.stringBoxId:string.structureBrandId:string.tensionId:int?.phaseId:int?.Query:string.TipoFonteRenovigi:TipoFontKit?.FaseEnergeticaRenovigi:NetworkType?.TensaoRenovigi:TensionType?.quantidadeModulosRenovigi:int?.SemCaboSouEnergy:bool.SemConectorMC4SouEnergy:bool.SemStringBoxSouEnergy:bool.SemPreVendaSouEnergy:bool.SemKitCASouEnergy:bool.SemAcessoriosHoymilesSouEnergy:bool.Fase:string.ComStringBox:bool?.ComTransformador:bool?.express:int.warranty:int.acPhasesFortLev:int?.acNominalVoltageFortLev:string.moduldeIdFortLev:string.moduleIdConectoWay:string. _id do modulo escolhido (productsBaseLoad).tipoLigacaoConectoWay:string. "monofasico" | "trifasico" (tipo_ligacao do inversor).tensaoSaidaConectoWay:int?. Tensao nominal de saida do inversor em V: 220, 380, 800.tipoInversorConectoWay:string. "string" | "otimizador". Vazio = todos.fabricanteConectoWay:string. Fabricante do inversor (ex.: "Huawei", "Kehua Tech"). Vazio = todos.comStringBoxConectoWay:bool?. Incluir string box no kit. Default true, como no portal deles.comEstruturaConectoWay:bool?. Kit com estrutura de fixacao. False = "Sem estrutura".quantidadeModulosConectoWay:int?. Alternativa a potencia: fixar a quantidade de modulos. Nulo = usa potencia.MarcaInversorSolfacil:string. Ex.: "GOODWE", "GOODWE - HÍBRIDO", "SOLIS". Hibrido e variante de MARCA.PotenciaNominalInversorSolfacil:string. Ex.: "10.0kW".TipoRedeSolfacil:string. Ex.: "Monofásico", "Trifásico".EstruturaSolfacil:string. Ex.: "Laje", "Fibrocimento", "Solo", "Sem Estrutura".BateriaSolfacil:string.QuantidadeBateriaSolfacil:int?. Quantas unidades da bateria. Bateria modular se empilha — 2x ou 3x do mesmo SKU é caso comum, não erro de digitação.totalLoadWFortLev:double?. Carga total do sistema híbrido (W e Wh). Nulos = on-grid; preenchidos = a FortLev devolve kits com bateria. Ver GerarKitFortLevInputDTO.totalLoadWhFortLev:double?.Fabricante:string.Promocional:bool.PotenciaModulo:double?.InverterLV:bool?.idCentroDistribuicao:int.AlturaModulo:int.ComprimentoModulo:int.LarguraModulo:int.codigoCentroDistribuicao:string.tipoInversor:string.buscarMicroInversoresVertys:bool.Categoria:string.OverLoad:double.QuantidadeMicroInversorEmSeries:int.RegiaoTelhado:string.Regiao:string.ItensExtras:List<ItensExtraGestaoInputDTO>— ItensExtraGestaoInputDTO.CodigosInversores:List<string>.NumLinhas:int.tipo_geracao:string.tipo_estrutura:string.inclinacao:int.tipo_bateria:string.potencia_backup:int.qtd_banco:int.qtd_bateria:int.incluir_trafo:bool.qtd_maxima_por_fileira:int.UtilizaComunicadorEcori:bool.SomenteKitsSugeridosEcori:bool.SiteBelEnergy:string.ComSeguro:bool.
FiltroArquivoInputDTO
CategoriasIds:List<long>.SemCategoria:bool.ProjetoId:long?.TipoCategoria:TipoCategoriaArquivoEnum?.
FiltroCampoPersonalizadoInputDTO
EtapaId:long?.AbaDinamicaId:long?.TipoServicoId:long?.TipoTarefaId:long?.StatusId:long?.Ativo:bool?.Query:string.TipoCampo:TipoCampoPersonalizadoEnum?.
FiltroComissaoInputDTO
UsuarioId:long?.PreVendedorId:long?.LojaId:long?.EquipeId:long?.TipoNegocioId:long?.TipoProjetoIds:List<long>.DataInicial:DateTime?.DataFinal:DateTime?.PeriodoAnteriorDataInicial:DateTime?.PeriodoAnteriorDataFinal:DateTime?.OrigensIds:List<long>.HomologadorId:long?.ProjetistaId:long?.ResponsavelCSId:long?.IndicadoPor:string.TipoVendaId:long?.VendedorIds:List<long>.
FiltroContratoInputDTO
ProjetoId:long?.DataAssinaturaInicial:DateTime?.DataAssinaturaFinal:DateTime?.DataDistratoInicial:DateTime?.DataDistratoFinal:DateTime?.Status:OpcaoStatusContratoEnum?.Instalacao:OpcaoInstalacaoEnum?.Pagamento:OpcaoPagamentoEnum?.
FiltroDocumentoInputDTO
Query:string.ProjetoId:long?.OrdemServicoId:long?.ContratoId:long?.ProjetoEngenhariaId:long?.Tipo:TipoModeloDocumento?.DataAssinaturaInicial:DateTime?.DataAssinaturaFinal:DateTime?.StatusContrato:OpcaoStatusContratoEnum?.StatusAssinatura:StatusDocumentoClickSignEnu?.ModeloId:long?.
FiltroEmailEnviadoInputDTO
DataInicio:DateTime?. Filtros para listar e-mails enviados na tela de auditoria/relatórios. Tudo opcional — sem filtros, retorna últimos N por DataEnvio desc.DataFim:DateTime?.Status:string. Filtra por status agregado: "Enviado" (sem evento posterior), "Entregue", "Aberto", "Clicado", "Devolvido", "Reclamado", "Falhou". Mapeia internamente para UltimoEvento.Termo:string. Busca textual em assunto OU corpo OU email do destinatário.EmailDestinatario:string. Filtra por destinatário específico (match exato, case-insensitive).LeadId:long?.ProjetoId:long?.UsuarioId:long?.ApenasAbertos:bool?. Quando true, retorna apenas e-mails que tiveram pelo menos uma abertura.ApenasFalhas:bool?. Quando true, retorna apenas e-mails com bounce ou reject.
FiltroEmailEventoInputDTO
DataInicio:DateTime?.DataFim:DateTime?.Tipo:string. Filtra por tipo: "Send", "Reject", "Delivery", "Bounce", "Complaint", "Open", "Click", "RenderingFailure", "DeliveryDelay", "Subscription". Case-insensitive. Aceita também valor numérico do enum.EmailDestinatario:string. Filtra por destinatário (match case-insensitive).MessageId:string. Filtra todos os eventos de um messageId específico do SES.EmailEnviadoId:long?. Filtra eventos de um EmailEnviado específico (mesmo que o detalhe do EmailEnviado).BounceTipo:string. Apenas para Tipo=Bounce: "Permanent", "Transient" ou "Undetermined".Ip:string. Filtra por IP exato (útil para investigar atividade de um endereço específico).Termo:string. Busca textual em UrlClicada, BounceMotivo, UserAgent ou EmailDestinatario.
FiltroEntregaInputDTO
Herança: QueryFiltroInputDTO — QueryFiltroInputDTO.
Situacao:string. Pendente | EmRota | Entregue. Null = todas.PedidoVendaId:long?. Entregas de um pedido de venda específico.ProjetoId:long?. Entregas de UM negócio — é o que sustenta a aba do Detalhe de Negócio. Sem ele a aba teria que baixar tudo e filtrar no front, que quebra na segunda página.StatusId:long?. Status do workflow do tenant (StatusCompra, §6.1 do estudo 03) — o nome é do cliente, então filtra-se por Id, não por texto.TipoStatus:Safeleads.Models.Abas_Complementares.TipoEnumStatusCompra?. Semântica do status, independente do nome que o tenant deu.SituacaoSeparacao:string. ASeparar | Parcial | Separada | Conferida. Mesmo critério carimbo-first da projeção.RotaId:long?.DataPrevisaoInicial:System.DateTime?.DataPrevisaoFinal:System.DateTime?.DataEntregaInicial:System.DateTime?.DataEntregaFinal:System.DateTime?.
FiltroEtapaLeadInputDTO
Query:string.SetoresIds:List<long>.
FiltroExtratoBancarioInputDTO
Herança: QueryFiltroInputDTO — QueryFiltroInputDTO.
ContaBancariaId:long?. Conta bancária das linhas. Null = todas as contas permitidas.DataInicio:DateTime?. Janela da DataMovimento (inclusiva nas duas pontas).Status:StatusConciliacaoEnum?.Tipo:TipoLancamentoBancarioEnum?. Crédito (entrou) ou Débito (saiu). Null = os dois. Conciliar é um trabalho de um lado por vez: quem está batendo pagamentos não quer ver recebimento no meio.
FiltroFechamentoComissaoInputDTO
Herança: QueryFiltroInputDTO — QueryFiltroInputDTO.
DataIni:DateTime?. Filtro do cockpit de fechamento de comissões. O recorte é por DATA DA VENDA: comissão pertence ao mês em que a venda fechou, não ao mês em que alguém lembrou de gerar o título.DataFim:DateTime?.BeneficiarioId:long?. Beneficiário (vendedor OU pré-vendedor da venda).Situacao:string. Situação do TÍTULO da comissão no ERP: NaoGerada | Aberta | Paga | PagaNoCrm. Vazio = todas.Lastro:string. Recorte pelo LASTRO de recebimento da venda: SemLastro (nada recebido) | Parcial | Total | SemInformacao. Vazio = todos. É o filtro que responde "o que posso pagar hoje".SomentePreVendedor:bool?. true = só pré-vendedor; false = só vendedor; null = os dois.
FiltroFilaDistribuicaoInputDTO
Query:string.
FiltroFilaSeparacaoInputDTO
Herança: QueryFiltroInputDTO — QueryFiltroInputDTO.
Situacao:string. Filtro da fila de separação. Situacao: ASeparar | Parcial | Separada | Conferida (vazio = todas as pendentes).
Veja também
Atualizado em: 14/10/2026
Obrigado!
