Configurando APIs

API de Propostas


Tipo de API's 


Apis de Comissões

API : POST: http://localhost:8051/api/imb/v1/commission/view

API Comissão View 

Exemplo API


{
    "TipoUsuarioComissionado""0",
    "CpfOuCnpjUsuarioComissionado": {
        "CpfCnpj""XXX.XXX.XXX.XX"
    },
    "CpfOuCnpjSubordinados": [
        { "CpfCnpj""" },
        { "CpfCnpj""" }
    ],
    "CnpjImobiliaria": {
        "CpfCnpj"""
    },
    "DataInicial""2022-03-01",
    "DataFinal""2022-03-11",
    "CodigoEmpreendimento"null
}



API: GET: http://localhost:8051/api/imb/v1/commission/103

API para buscar as comissões de acordo com o ID da comissão.

RESPONSE
{
    "idcomissao": 103,
    "idmodcomissao": 1,
    "data": "2022-01-01T00:00:00",
    "codcolcontrato": 20,
    "contrato": "1911",
    "codpessempr": 27,
    "nomefantasia": "JARDIM DAS ORQUÍDEAS ",
    "numunid": "000021",
    "nomeunid": "000021",
    "numsubunid": "000012",
    "nomecorretor": "SILVERIO MORAIS",
    "statuscomissao": "Calculada",
    "datavenda": "2022-01-01T00:00:00",
    "valorcomissaototal": 3600.0000,
    "valorbase": 90000.0000,
    "valormax": 3600.0000,
    "comissionados": [
        {
            "idcomissao": 103,
            "iditemcomissao": 1,
            "idregracomissao": 1,
            "stateentity": 0,
            "percentualcomissao": 0.5000,
            "valorcomissaocorretor": 450.0000,
            "nroparcelas": 3,
            "statuscomissaocorretor": "Calculada",
            "codfuncao": 4,
            "dscfuncao": "Corretor",
            "percentual": 50.0000,
            "codcolcfo": 0,
            "codcfo": "01;C100338",
            "nomecfo": "SILVERIO MORAIS",
            "pagarcomissaoaimob": 0,
            "tipoquempaga": "Empresa",
            "codtipoquempaga": 0,
            "tipocomissao": "Comissão",
            "codtipocomissao": 0,
            "tipocalculocomissaoitem": "Valor Fixo",
            "codtipocalculocomissaoitem": 0,
            "tipovalor": "Fórmula Percentual",
            "codtipovalor": 3
        },
        {
            "idcomissao": 103,
            "iditemcomissao": 2,
            "idregracomissao": 1,
            "stateentity": 0,
            "percentualcomissao": 0.5000,
            "valorcomissaocorretor": 450.0000,
            "nroparcelas": 1,
            "statuscomissaocorretor": "Calculada",
            "codfuncao": 4,
            "dscfuncao": "Corretor",
            "percentual": 50.0000,
            "codcolcfo": 0,
            "codcfo": "01;C100338",
            "nomecfo": "SILVERIO MORAIS",
            "pagarcomissaoaimob": 0,
            "tipoquempaga": "Cliente",
            "codtipoquempaga": 1,
            "tipocomissao": "Comissão",
            "codtipocomissao": 0,
            "tipocalculocomissaoitem": "Descrescente",
            "codtipocalculocomissaoitem": 0,
            "tipovalor": "Fórmula Percentual",
            "codtipovalor": 3
        },
        {
            "idcomissao": 103,
            "iditemcomissao": 3,
            "idregracomissao": 2,
            "stateentity": 0,
            "percentualcomissao": 1.0000,
            "valorcomissaocorretor": 900.0000,
            "nroparcelas": 3,
            "statuscomissaocorretor": "Calculada",
            "codfuncao": 5,
            "dscfuncao": "Imobiliária",
            "percentual": 100.0000,
            "codcolcfo": 0,
            "codcfo": "01;C100577",
            "nomecfo": "SILVA && SILVA",
            "pagarcomissaoaimob": 0,
            "tipoquempaga": "Empresa",
            "codtipoquempaga": 0,
            "tipocomissao": "Comissão",
            "codtipocomissao": 0,
            "tipocalculocomissaoitem": "Valor Fixo",
            "codtipocalculocomissaoitem": 0,
            "tipovalor": "Percentual",
            "codtipovalor": 0
        }
 ]
}


Parâmetros:

  • Id da comissão que fica no final da URL.

Dados recebidos:

  • idcomissao: Id da comissão;
  • idmodcomissao: Código da modalidade da comissão
  • data: Data da comissão;
  • codcolcontrato: Código da coligada do contrato;
  • contrato: Código do contrato;
  • codpessempr: Código do empreendimento;
  • nomefantasia: Nome fantasia do empreendimento;
  • numunid: código da unidade do contrato;
  • numsubunid: código da subunidade do contrato;
  • nomecorretor: Nome do Corretor Principal

  • statuscomissao: Status da Comissão
  • datavenda: data que a venda foi efetivada
  • valorcomissaototal: Valor total da comissão;
  • valorbase: valor da base de cálculo da comissão
  • valormar: valor máximo que uma comissão pode ter
  • comissionados: Lista dos comissionados da comissão.

Dados recebidos dos comissionados:

      • idcomissao: id da comissão pai;
      • iditemcomissao: Código desse item na comissão;
      • idregracomissao: Código da regra da comissão;
      • percentualcomissao: Percentual da Comissão do comissionado
      • valorcomissaocorretor: Valor da comissão do comissionado;
      • nroparcelas: quantidade de parcelas do comissionado;
      • statuscomissaocorretor: Status da Comissão do Comissionado;
      • codfuncao: código da função;
      • dscfuncao: Descrição da função;
      • tipoquempaga: Tipo de quem paga;
      • percentual: Percentual de quem paga a comissão - Cliente ou Empresa;
      • codcolcfo: Código da coligada do comissionado;
      • codcfo: Código do comissionado;
      • nomecfo: Nome do comissionado;
      • pagarcomissaoaimob: Pagar comissão a imobiliária;

      • tipoquempaga: Descrição de quem paga;

      • codtipoquempaga: Código de quem paga;

      • tipocomissao: Descrição do tipo da comissão;

      • codtipocomissao: Código do tipo da comissão;

      • tipocalculocomissaoitem: Descrição do tipo de cálculo da comissão;

      • codtipocalculocomissaoitem: Código do tipo de cálculo da comissão;

      • tipovalor: Descrição do tipo de valor da comissão;

      • codtipovalor: Código do tipo de valor da comissão;


API: POST: http://localhost:8051/api/imb/v1/commission/

Api para buscar comissões de acordo com o usuário logado.

GET - Exemplo requisição
Exemplo - Solicitação visualizar Comissões:
{
    "TipoUsuarioComissionado": "0",
    "CpfOuCnpjUsuarioComissionado": {
        "CpfCnpj": "099.821.769-78"
    },
    "CpfOuCnpjSubordinados": [
        { "CpfCnpj": "" },
        { "CpfCnpj": "" }
    ],
    "CnpjImobiliaria": {
        "CpfCnpj": ""
    },
    "DataInicial": null,
    "DataFinal": null,
    "CodigoEmpreendimento": null
}
ou simplificada
	{
    "TipoUsuarioComissionado": "0",
    "CpfOuCnpjUsuarioComissionado": {
        "CpfCnpj": "011.211.841-50"
    }
}
RESPONSE
{
    "count": 3,
    "hasNext": false,
    "items": [
        {
            "idcomissao": 7,
            "idmodcomissao": 4,
            "data": "2022-03-04T00:00:00",
            "codcolcontrato": 1,
            "contrato": "2578",
            "codpessempr": 2019,
            "nomefantasia": "EMPREENDIMENTO MODELOS DE CÁLCULO",
            "numunid": "03",
            "numsubunid": "000025",
            "nomecorretor": "Corretor da Proposta",
            "statuscomissao": "Em Preparação",
            "datavenda": "2022-02-11T00:00:00",
            "valorcomissaototal": 1000.0000
        },
        {
            "idcomissao": 14,
            "idmodcomissao": 4,
            "data": "2022-03-11T00:00:00",
            "codcolcontrato": 1,
            "contrato": "9896",
            "codpessempr": 2019,
            "nomefantasia": "EMPREENDIMENTO MODELOS DE CÁLCULO",
            "numunid": "03",
            "numsubunid": "000030",
            "nomecorretor": "Corretor da Proposta",
            "statuscomissao": "Em Preparação",
            "datavenda": "2022-03-11T00:00:00",
            "valorcomissaototal": 11000.0000
        }
    ]
}


Parâmetros:

  • TipoUsuarioComissionado: Corresponde ao tipo de usuário logado no Portal de Imóveis (0=Corretor, 1=Gerente, 2=Imobiliária);
  • CpfOuCnpjUsuarioComissionado: CPF ou CNPJ do usuário logado no Portal de Imóveis;
  • CpfOuCnpjSubordinados: Lista de CPF ou CNPJ dos usuários do Portal de Imóveis subordinados ao Superior/Gerente;
  • CnpjImobiliaria: CNPJ da imobiliária associada ao usuário logado no Portal de Imóveis, para restringe comissões da imobiliária;
  • DataInicial: Data Inicial do período para buscar as comissões;
  • DataFinal: Data final do período para buscar as comissões;
  • CodigoEmpreendimento: Filtro de restrição para empreendimento das comissões.

Dados Recebidos:

  • count: quantidade de itens encontrados.
  • hasNext: Se tem próximo item.
  • items: Lista dos itens encontrados.

Dados recebidos dos itens é o mesmo da primeira API da comissão por ID


API: GET: http://localhost:8051/api/imb/v1/commission/103/sellers

Api para buscar os comissionados de uma comissão específica e retorna a mesma estrutura da API de busca uma comissão.


API: GET: http://localhost:8051/api/imb/v1/commission/103/sellers/1

Api para buscar um comissionado específico de uma comissão específica e retorna a mesma estrutura da API de busca uma comissão.


API: DELETE: http://localhost:8051/api/imb/v1/commission/103/sellers/1

Api para deletar um comissionado específico de uma comissão específica e retorna a mesma estrutura da API de busca uma comissão.


Caso seja deletado um comissionado que tem comissão paga pela empresa e pelo cliente, o valor da comissão/percentual fica para uma das duas situações.

Sendo assim, caso apague o comissionado cliente, então o valor/percentual da comissão vai para comissionado empresa e vice-versa.

Se for um comissionado comum é apagada normalmente o registro


API: PUT: http://localhost:8051/api/imb/v1/commission/103/sellers/1

Api para atualizar o dado de um comissionado específico de uma comissão específica e retorna a mesma estrutura da API de busca uma comissão.


PUT - Exemplo requisição
//Posso usar um JSON básico, apenas com o campo alterado {"percentualcomissao": 2.0000} ou completo com a estrutura do comissionado
{
"idcomissao": 103,     
"iditemcomissao": 1,     
"idregracomissao": 1,     
"percentualcomissao": 0.6000,     
"valorcomissaocorretor": 450.0000,     
"nroparcelas": 3,     
"statuscomissaocorretor": "Calculada",     
"codfuncao": 4,     
"dscfuncao": "Corretor",     
"percentual": 50.0000,     
"codcolcfo": 0,     
"codcfo": "01;C100338",     
"nomecfo": "SILVERIO MORAIS",     
"pagarcomissaoaimob": 0,     
"tipoquempaga": "Empresa",     
"codtipoquempaga": 0,     
"tipocomissao": "Comissão",     
"codtipocomissao": 0,     
"tipocalculocomissaoitem": "Valor Fixo",     
"codtipocalculocomissaoitem": 0,     
"tipovalor": "Fórmula Percentual",     
"codtipovalor": 3 }



  • % Quem paga -
    • Só pode alterar entre 1 e 100%;
      • se passar diferente será ignorado a alteração
      • Se deseja zerar o percentual para excluir um dos comissionados quem paga cliente ou empresa deve excluir o registro para o sistema manter apenas um deles e recalcular o percentual de quem paga.
      • se estou alterando o comissionado para 100% quem paga a comissão, exemplo Empresa, e existe o seu par, cliente,
        então essa ação deve ser feita deletando o cliente comissionado, pois os seus valores não existe mais, ficando zerados
    • Caso o percentual esteja 100 e seja reduzido, então deve-se criar o comissionado parte empresa ou parte cliente com a diferença;
    • Se alterar esse campo, sempre terá prioridade em relação a alteração do valor da comissão ou do percentual, vai depender do tipo de valor da comissão;
    • Alterando esse campo, ele interfere diretamente nos valores de %Comissão ou Valor da Comissão, pois mudando o percentual de quem paga vou alterar esses campos campos com  base na nova proporção de de quem paga.
      • Exemplo: Corretor quem paga é 100% empresa e o tipo valor da comissão é PERCENTUAL, que tem o valor de 2%.
        • Vou alterar o percentual de quem paga empresa para 60%, dessa forma o percentual da comissão ficara 60% de 2% = 1,2%;
        • Vou criar o corretor quem paga cliente que ficará com o restante de 40%, dessa forma ficará com o resto do percentual 0,8%;
      • O mesmo raciocínio valerá para o tipo Tipo de valor quando for valor comissão;
  • Pagar a Imobiliária; (Está bloqueado nesse momento , não iremos liberar)
    • só pode alterar se não for imobiliária  e for quem paga empresa 
      • se passar diferente será ignorado a alteração
  • Tipo de Cálculo;
    • Se quem paga for empresa,  pode alterar conforme o tipo de cálculo para 0 e 1
      • se passar diferente será ignorado a alteração;
    • Se quem paga for cliente, pode alterar para o tipo 0, 1 e 2;
      • se passar diferente será ignorado a alteração
  • Nro de Parcelas;
    • Só pode alterar se quem paga for empresa;
      • se passar diferente será ignorado a alteração
  • % Comissão;
    • só pode alterar se o tipo valor for Percentual e não tiver alterado o percentual de quem paga;
      • se passar diferente será ignorado a alteração
      • Exemplo:  Corretor quem paga é 50% empresa  e 50% cliente, o tipo valor da comissão é PERCENTUAL, que tem o valor total de 2%, sendo 1% para cliente e 1% para empresa.
        • Vou alterar o percentual da comissão do corretor empresa para 2% e a parte cliente ficará com 1%, dessa forma o percentual de quem paga não é mais 50% para cada, vou recalcular a proporção de ambos que ficará com 66,6667% parte empresa e  33,3332% parte cliente%;
        • Vou criar o corretor quem paga cliente que ficará com o restante de 40%, dessa forma ficará com o resto do percentual 0,8%;
      •  o mesmo raciocínio valerá para o tipo Tipo de valor quando for valor comissão;
  • Valor Comissão.
    • Só pode alterar se o tipo valor for valor comissão e não tiver alterado o percentual de quem paga. 
      • se passar diferente será ignorado a alteração

Parâmetros:

  • idcomissao: será utilizado da API;
  • iditemcomissao: será utilizado da API;
  • idregracomissao: Id da regra não permite alteração;
  • percentualcomissao: Informar o percentual da Comissão do comissionado, caso seja o tipo valor seja percentual
  • valorcomissaocorretor: Informar o percentual da Comissão do comissionado, caso seja o tipo valor seja valor;
  • nroparcelas: Informar a quantidade de parcelas do comissionado;
  • codfuncao: Código da função não permite alteração;
  • dscfuncao: Descrição da função não permite alteração;
  • tipoquempaga: Tipo de quem paga não permite alteração;
  • percentual: Informar o percentual de quem paga a comissão (Cliente ou Empresa);
  • codcolcfo: código da coligada do comissionado não permite alteração;
  • codcfo: Código do comissionado não permite alteração;
  • nomecfo: Nome do comissionado não permite alteração;
  • pagarcomissaoaimob: Pagar comissão a imobiliária não permite alteração;

  • tipoquempaga: Descrição de quem paga não permite alteração;

  • codtipoquempaga: Código de quem paga não permite alteração;

  • tipocomissao: Descrição do tipo da comissão não permite alteração;

  • codtipocomissao: Código do tipo da comissão não permite alteração;

  • tipocalculocomissaoitem: Descrição do tipo de cálculo da comissão não permite alteração;

  • codtipocalculocomissaoitem: Código do tipo de cálculo da comissão não permite alteração;

  • tipovalor: Descrição do tipo de valor da comissão não permite alteração;

  • codtipovalor: Código do tipo de valor da comissão não permite alteração;

Dados recebidos dos itens é o mesmo da primeira API da comissão por ID


API: POST: http://localhost:8051/api/imb/v1/commission/103/sellers/1

Api para incluir um comissionado específico de uma comissão específica e retorna a mesma estrutura da API de busca uma comissão.


POST - Exemplo requisição
{   
    "idcomissao": 103,
    "iditemcomissao": null,
    "idregracomissao": 11,    
    "percentualcomissao": 1.0000,
    "valorcomissaocorretor": 0.0000,
    "nroparcelas": 5,    
    "codfuncao": 7,
    "dscfuncao": "Avulso",
    "percentual": 50.0000,
    "codcolcfo": 0,
    "codcfo": "01;C100338",
    "nomecfo": "SILVERIO MORAIS",    
    "codtipoquempaga": 0,
    "tipoquempaga": "Empresa",    
    "codtipocomissao": 0,
    "tipocomissao": "Comissão",        
    "codtipocalculocomissaoitem": 0,
    "tipocalculocomissaoitem": "Valor Fixo",
    "codtipovalor": 0,
    "tipovalor": "Fórmula"    
}


Só pode criar uma comissionado o tipo quem recebe "Comissionado Avulso PI"  e esteja na modalidade dessa comissão, pois isso indica que o usuário permite incluir novos comissionados com valores defaults. É permitido inserir vários desse tipo e nunca para a mesma pessoa. Se já existir a pessoa para esse tipo de avulso basta realizar o Put desse registro. 

O Id da regra é o campo mais importante, pois ele busca esse comissionado avulso de sua modalidade e insere  com os valores defaults para essa comissão.

Caso seja incluindo um comissionado que tem comissão paga pela empresa com percentual menor que 100%, então será criado o comissionado cliente com o a diferença desse percentual e calculando a nova proporção do percentual da comissão em cima dessa proporção de cliente e empresa.

Se for criado um comissionado com regra quem paga 100%, regra padrão, então cria apenas o próprio registro.


Parâmetros:

  • idcomissao: será utilizado da comissão que está inserindo a regra;
  • iditemcomissao: sequencial que será criado pela API;
  • idregracomissao: Código da regra da comissão do comissionado que será inserido;
  • percentualcomissao: Informar o percentual da Comissão do comissionado ou buscará o valor default da regra
  • valorcomissaocorretor: Será calculado com base do percentual ou informar o valor da comissão do comissionado ou buscará o valor default da regra;
  • nroparcelas: Informar a quantidade de parcelas do comissionado ou buscará o valor default da regra;
  • codfuncao: Informar o código da função ou buscará o valor default da regra;
  • dscfuncao: Descrição da função - Buscará o valor default da regra;
  • tipoquempaga: Informar o tipo de quem paga ou buscará o valor default da regra;
  • percentual: Informar o percentual de quem paga a comissão (Cliente ou Empresa) ou buscará o valor default da regra;
  • codcolcfo: Informar o código da coligada do comissionado;
  • codcfo: Informar o código do comissionado;
  • nomecfo: Nome do comissionado;
  • pagarcomissaoaimob: Pagar comissão a imobiliária - Buscará o valor default da regra;

  • tipoquempaga: Descrição de quem paga - Buscará o valor default da regra;

  • codtipoquempaga: Código de quem paga - Buscará o valor default da regra;

  • tipocomissao: Descrição do tipo da comissão - Buscará o valor default da regra;

  • codtipocomissao: Código do tipo da comissão - Buscará o valor default da regra;

  • tipocalculocomissaoitem: Descrição do tipo de cálculo da comissão - Buscará o valor default da regra;

  • codtipocalculocomissaoitem: Código do tipo de cálculo da comissão - Buscará o valor default da regra;

  • tipovalor: Descrição do tipo de valor da comissão - Buscará o valor default da regra;

  • codtipovalor: Código do tipo de valor da comissão - Buscará o valor default da regra;


Dados recebidos dos itens é o mesmo da primeira API da comissão por ID


API: GET: http://localhost:8051/api/imb/v1/commission/103/single_sellers/

API para buscar a regra do comissionado avulso para o Lookup do portal de imóvel, para todos os comissionados do tipo avulso que estejam na modalidade da regra da comissão editada, seguir o padrão abaixo de URI 


RESPONSE
[
    {
        "idcomissao": 103,
        "iditemcomissao": 0,
        "idregracomissao": 11,
        "stateentity": 0,
        "percentualcomissao": 1.0000,
        "valorcomissaocorretor": 0.0,
        "nroparcelas": 3,
        "codfuncao": 7,
        "dscfuncao": "Avulso",
        "percentual": 100.0000,
        "codcolcfo": 0,
        "pagarcomissaoaimob": 0,
        "tipoquempaga": "Empresa",
        "codtipoquempaga": 0,
        "tipocomissao": "Comissão",
        "codtipocomissao": 0,
        "tipocalculocomissaoitem": "Valor Fixo",
        "codtipocalculocomissaoitem": 0,
        "tipovalor": "Percentual",
        "codtipovalor": 0
    },
    {
        "idcomissao": 103,
        "iditemcomissao": 0,
        "idregracomissao": 15,
        "stateentity": 0,
        "percentualcomissao": 1.0000,
        "valorcomissaocorretor": 0.0,
        "nroparcelas": 3,
        "codfuncao": 8,
        "dscfuncao": "Secretária",
        "percentual": 100.0000,
        "codcolcfo": 0,
        "pagarcomissaoaimob": 0,
        "tipoquempaga": "Empresa",
        "codtipoquempaga": 0,
        "tipocomissao": "Prêmio",
        "codtipocomissao": 1,
        "tipocalculocomissaoitem": "Valor Fixo",
        "codtipocalculocomissaoitem": 0,
        "tipovalor": "Percentual",
        "codtipovalor": 0
    }
]


Dados recebidos dos itens é o mesmo do padrão da primeira API dos comissionados


API: POST: http://localhost:8051/api/imb/v1/commission/generate

API para gerar a comissão de forma automática.


POST - Exemplo requisição
//Exemplo - Solicitação Geração da Comissão:

{
  "codColContrato": 1,
  "contrato": "54",
  "dataComissao": "2022-03-25",
  "valorBaseComissao": 8000,
  "cpfOuCnpjCorretorProposta": {
    "cpfCnpj": "812.406.850-09"
  },
  "cpfOuCnpjImobiliariaProposta": {
    "cpfCnpj": "384.042.140-34"
  },
  "cpfOuCnpjSDRProposta": {
    "cpfCnpj": "384.042.140-34"
  }
}


Parâmetros:

  • codColContrato: Código da coligada do contrato;
  • contrato: Código do contrato;
  • dataComissao: Data da comissão;
  • valorBaseComissao: Valor base da comissão;
  • cpfOuCnpjCorretorProposta: CPF ou CNPJ do corretor;
  • cpfOuCnpjImobiliariaProposta: CPF ou CNPJ da Imobiliária;
  • cpfOuCnpjSDRProposta: CPF ou CNPJ do SDR.

Dados recebidos dos itens é o mesmo da primeira API da comissão por ID



API: POST: http://localhost:8051/api/imb/v1/commission/103/recalculates

API para recalcular e alterar informações da comissão já cadastrada.

POST - Exemplo requisição
//Exemplo - Solicitação Recalculo da Comissão:  
Opcional, caso queira mudar a data e o valor, se não passar nada somente recalcula buscando o valores da venda 
{
    "valorbase": 90000.0000,
    "data": "2022-03-11"
}


Parâmetros:

  • valorbase: Valor base da comissão (Obs.: Caso não informado, será utilizado o valor da venda);
  • data: Data da comissão (Obs.: Caso não informado, será utilizado a data da venda);

Dados recebidos dos itens é o mesmo da primeira API da comissão por ID


API: GET: http://localhost:8051/api/imb/v1/commission/103/sellers/payments

API para retornar as parcelas de pagamento da comissão


Regras:

  • Se quem paga for o cliente, então devolve a parcela criada na comissão com os comissionados e seus valores;
  • Se quem paga for  a empresa e o tipo de cálculo que quem paga NÃO for atrelado a baixa, então devolve as parcelas criadas na comissão com os comissionados e seus valores;
  • Se quem paga for a empresa e o tipo de cálculo que quem paga for atrelado a baixa, teremos que fazer uma previsão desse pagamento com base no plano de financiamento gerado e a data de vencimento e calcular quando seria pago a comissão e qual o percentual dessa parcela seria destinado a comissão 
RESPONSE
[
    {
        "idcomissao": 33,
        "iditemcomissao": 1,
        "tipocomissao": "Comissão",
        "tipoquemrecebe": "Corretor da Proposta",
        "tipoquempaga": "Empresa",
        "tipocalculo": "Valor Fixo",
        "dscfuncao": "Corretor padrão",
        "nomecomissionado": "TESTE",
        "nroparcela": 1,
        "datapagamento": "2022-03-10T00:00:00",
        "valorparcela": 6000.0
    },
    {
        "idcomissao": 33,
        "iditemcomissao": 1,
        "tipocomissao": "Comissão",
        "tipoquemrecebe": "Corretor da Proposta",
        "tipoquempaga": "Empresa",
        "tipocalculo": "Valor Fixo",
        "dscfuncao": "Corretor padrão",
        "nomecomissionado": "TESTE",
        "nroparcela": 2,
        "datapagamento": "2022-04-10T00:00:00",
        "valorparcela": 6000.0
    },
    {
        "idcomissao": 33,
        "iditemcomissao": 1,
        "tipocomissao": "Comissão",
        "tipoquemrecebe": "Corretor da Proposta",
        "tipoquempaga": "Empresa",
        "tipocalculo": "Valor Fixo",
        "dscfuncao": "Corretor padrão",
        "nomecomissionado": "TESTE",
        "nroparcela": 3,
        "datapagamento": "2022-05-10T00:00:00",
        "valorparcela": 6000.0
    },
    {
        "idcomissao": 33,
        "iditemcomissao": 2,
        "tipocomissao": "Comissão",
        "tipoquemrecebe": "Corretor da Proposta",
        "tipoquempaga": "Cliente",
        "tipocalculo": "Proporcional",
        "dscfuncao": "Corretor padrão",
        "nomecomissionado": "TESTE",
        "nroparcela": 1,
        "datapagamento": "2022-03-10T00:00:00",
        "valorparcela": 2000.0
    }
]



Apis de Plano de Financiamento 

API: GET: http://localhost:8051/api/imb/v1/modalities/1/enterprises/20_28

API que retorna os valores das condições de financiamento de todas as subunidades de um empreendimento, utilizando uma modalidade para simular


API: GET: http://localhost:8051/api/imb/v1/modalities/1/enterprises/20_28_000001

API que retorna os valores das condições de financiamento de todas as subunidades de uma unidade de um empreendimento, utilizando uma modalidade para simular


API: GET: http://localhost:8051/api/imb/v1/modalities/1/enterprises/20_28_000001_000101

API que retorna os valores das condições de financiamento de todas a subunidade de uma unidade de um empreendimento, utilizando uma modalidade para simular


RESPONSE
[
    {
        "codcoligada": 20,
        "codpessempr": 28,
        "numunid": "000001",
        "numsubunid": "000101",
        "area": 100.0,
        "precoM2": 2117.35,
        "precosubunid": 211735.27,
        "componentesgeradores": [
            {
                "codgrupo": 1,
                "codcompn": 1,
                "descompn": "8 x Entrada - Teste",
                "valorparcela": 7940.07
            },
            {
                "codgrupo": 1,
                "codcompn": 2,
                "descompn": "160 x Mensal",
                "valorparcela": 1804.64
            }
        ]
    },
    {
        "codcoligada": 20,
        "codpessempr": 28,
        "numunid": "000001",
        "numsubunid": "000102",
        "area": 100.0,
        "precoM2": 2483.88,
        "precosubunid": 248388.22,
        "componentesgeradores": [
            {
                "codgrupo": 1,
                "codcompn": 1,
                "descompn": "8 x Entrada - Teste",
                "valorparcela": 9314.56
            },
            {
                "codgrupo": 1,
                "codcompn": 2,
                "descompn": "160 x Mensal",
                "valorparcela": 2117.04
            }
        ]
    }
]


Parâmetros:

  • codcoligada: coligada do empreendimento;
  • codpessempr: código do emprrendimento;
  • numunid: código de unidade;
  • numsubunid: código da subunidade;
  • area: área da subunidade;
  • precoM2: preço do m2 da subunidade;
  • precosubunid: preço da subunidade;
  • componentesgeradores: componentes da modalidade;
    • codgrupo: código do grupo que pertence a modalidade;
    • codcompn: código do componente;
    • descompn: descrição do componente;
    • valorparcela: valor do componente;


API: GET: http://localhost:8051/api/imb/v1/Sales/20_1914/rules

API que retorna os principais campos e valores da condição de financiamento, por venda e utilizando uma modalidade para simular e enviar a proposta


API: GET: http://localhost:8051/api/imb/v1/Sales/20_1912/rules/generate/1

API que retorna os principais campos e valores da condição de financiamento, por venda e utilizando uma modalidade para simular e enviar a proposta


API: POST: http://localhost:8051/api/imb/v1/Sales/20_1912/modality_rules

API que gera e retorna o plano de financiamento da proposta de venda a partir de uma modalidade


API: DELETE: http://localhost:8051/api/imb/v1/sales/1_46/rules/1/components/1

 API para deletar apenas os componentes do gerador de parcela (entrada e principal), sendo que ao deletar esses componentes serão deletados os componentes dependentes como juros e cm se forem o caso.


API: GET: http://localhost:8051/api/imb/v1/Sales/1_46/modality_rules

API que retorna os componentes da modalidade que não estejam já inserido na regra da venda.


API: POST: http://localhost:8051/api/imb/v1/sales/1_46/rules

API para inserir um componente da modalidade na regra da venda

POST - Exemplo requisição
{
	"codgrupo": 2,
	"codcompn": 30,
	"dsccompn": "Anual",
	"qtdparc": 5,
	"valorparcela": 10000,
	"valortotal": 10000,
	"dataprimeirovencimento": "2022-06-20T00:00:00"
}


API: PUT ou PATCH: http://localhost:8051/api/imb/v1/sales/1_46/rules/1/components/1

API para editar componente da regra da venda. somente permite a edição de um campo por vez, exceto a data de vencimento que pode editar com outros campos. Isso, porque um campo interfere em outro cálculo.

POST - Exemplo requisição
{
	"qtdparc": 10,
	"valorparcela": 6000,
	"valortotal": 0,
	"dataprimeirovencimento": "2019-07-26T00:00:00"
}


  • 1º Vencimento; permite editar sempre
  • Nro de Parcelas; permite editar sempre
  • Valor Parcela; somente pode editar se não for price, sac e sacre
  • Valor Total. permite editar sempre


API: GET: http://localhost:8051/api/imb/v1/sales/20_1/plans

API que retornar o plano de financiamento com as parcelas geradas a partir das regras cadastradas na proposta

RESPONSE
[
    {
        "codcoligada": 1,
        "numvenda": 4,
        "codgrupo": 1,
        "codtipoparc": 1,
        "dsctipoparc": "Sinal",
        "numparc": 1,
        "codcompn": 1,
        "dsccompn": "Sinal",
        "datavencimento": "2002-01-10T00:00:00",
        "valorparcela": 20000.0,
        "valororiginal": 20000.0,
        "valorjuros": 0.0,
        "valorcm": 0.0,
        "valoroutros": 0.0
    }
]
RESPONSE
[
    {
        "codcoligada": 20,
        "numvenda": 1914,
        "codgrupo": 1,
        "codcompn": 1,
        "dsccompn": "Entrada - Teste",
        "qtdparc": 8,
        "valorparcela": 5580.0,
        "valortotal": 44640.0,
        "dataprimeirovencimento": "2017-07-26T00:00:00",
        "codmodelocalculo": 0,
        "dscmodelocalculo": "Base",
        "percentualcomponente": 30.0,
        "valorcomissaocliente": 0.0
    },
    {
        "codcoligada": 20,
        "numvenda": 1914,
        "codgrupo": 1,
        "codcompn": 2,
        "dsccompn": "Mensal",
        "qtdparc": 160,
        "valorparcela": 1268.24,
        "valortotal": 104160.0,
        "dataprimeirovencimento": "2017-08-26T00:00:00",
        "codmodelocalculo": 2,
        "dscmodelocalculo": "PRICE",
        "percentualcomponente": 70.0,
        "valorcomissaocliente": 0.0
    }
]


Parâmetros:

  • codcoligada: coligada do empreendimento;
  • numvenda : Número da venda;
  • codgrupo: código do grupo que pertence a modalidade;
  • codcompn: código do componente;
  • dsccompn: descrição do componente;
  • qtdparc: quantidade de parcela do plano
  • valorparcela: valor do componente;
  • valortotal: Valor total do Componente financiado
  • dataprimeirovencimento: data do primeiro vencimento
  • codmodelocalculo: código do modelo de financiamento;
  • dscmodelocalculo: descrição do modelo de financiamento;
  • percentualcomponente: percentual do componente sobre o valor da proposta;
  • valorcomissaocliente: Valor retido na comissão do pagamento pelo cliente;



API: GET: http://localhost:8051/api/imb/v1/Sales/20_1914/VPL

API que retornar o cálculo da análise da proposta do cliente comparando com a proposta padrão, entre os indicadores a VPL. Baixe aqui a planilha excel com o cálculo

RESPONSE
 
//Imagem da configuração feita na Modalidade da Venda
{
    "codcoligada": 20,
    "numvenda": 1914,
    "valortabelaprecopadrao": "R$ 148.800,00",
    "valortabelaprecoproposta": "R$ 148.800,00",
    "valorfinanciadoatulizadopadrao": "R$ 287.060,89",
    "valorfinanciadoatulizadoproposta": "R$ 281.766,42",
    "valorpadraovpl": "R$ 195.282,75",
    "valorpropostavpl": "R$ 193.635,05",
    "percentualtma": "0,500000%",
    "mensagem": "Proposta Reprovada",
    "log": "A captação a vista (sinal) da proposta 0,66% é inferior ao mínimo da modalidade 5,00%; 
			O desconto da proposta 1,84% é superior ao máximo da modalidade 1,00%; 	
			A VPL da proposta 0,84% é superior ao máximo da modalidade 0,50%; ",
    "aprovada": false,
    "itensvpl": [
        {
            "nomeparametro": "Prazo de Financiamento",
            "valortabela": "160",
            "valorproposta": "160",
            "parametrodeaprovacao": " - "
        },
        {
            "nomeparametro": "% Captação a Vista",
            "valortabela": "2,00%",
            "valorproposta": "0,66%",
            "parametrodeaprovacao": "%Mín 5,00% - %Máx 20,00%"
        },
        {
            "nomeparametro": "% Captação até Entrega",
            "valortabela": "0,00%",
            "valorproposta": "0,00%",
            "parametrodeaprovacao": " - "
        },
        {
            "nomeparametro": "% Captação até 1 mês Antes Entrega",
            "valortabela": "0,00%",
            "valorproposta": "0,00%",
            "parametrodeaprovacao": " - "
        },
        {
            "nomeparametro": "% Captação até Metade da proposta em relação a Entrega da Subunidade",
            "valortabela": "0,00%",
            "valorproposta": "0,00%",
            "parametrodeaprovacao": " - "
        },
        {
            "nomeparametro": "Valor m2",
            "valortabela": "R$ 195,17",
            "valorproposta": "R$ 191,57",
            "parametrodeaprovacao": " - "
        },
        {
            "nomeparametro": "Valor m2 VPL",
            "valortabela": "R$ 132,77",
            "valorproposta": "R$ 131,65",
            "parametrodeaprovacao": " - "
        },
        {
            "nomeparametro": "% Arrecadação",
            "valortabela": "92,92%",
            "valorproposta": "89,36%",
            "parametrodeaprovacao": "%Mín 50,00% - %Máx 100,00%"
        },
        {
            "nomeparametro": "% Desconto",
            "valortabela": "0,00%",
            "valorproposta": "1,84%",
            "parametrodeaprovacao": "%Máx 1,00%"
        },
        {
            "nomeparametro": "% Diferenca do VPL",
            "valortabela": "0,00%",
            "valorproposta": "0,84%",
            "parametrodeaprovacao": "%Máx 0,50%"
        }
    ]
}


Parâmetros:

  • codcoligada: coligada do empreendimento;
  • numvenda : Número da venda;
  • valortabelaprecopadrao:  Valor da Tabela de Preço Padrão da modalidade padrão
  • valortabelaprecoproposta: Valor da Tabela de Preço Padrão da modalidade padrão
  • valorfinanciadoatulizadopadrao: Valor sumarizado dos componentes de Entrada e Principal da modalidade padrão
  • valorfinanciadoatulizadoproposta: Valor sumarizado dos componentes de Entrada e Principal da modalidade proposta
  • valorpadraovpl: Valor sumarizado das parcelas da modalidade padrão - Inclui todos os valores de todos os componentes
  • valorpropostavpl: Valor sumarizado das parcelas da modalidade proposta- Inclui todos os valores de todos os componentes
  • percentualtma: Percentual da TMA - Taxa mínima de atratividade. A TMA é basicamente uma taxa de desconto que representa o retorno mínimo que o investidor deseja obter.
  • aprovada:  O VPL foi aprovado, true ou false
  • mensagem: Proposta AProvada ou Reprovada
  • log: Detalhe da mensagem quando for reprovada
  • itensvpl: 
    • nomeparametro: Prazo de Financiamento;
    • valortabela: Nro de Meses do componente principal;
    • valorproposta:  Nro de Meses do componente principal;
    • parametrodeaprovacao: Não valida para esse tipo de parâmetro;

    • nomeparametro: % Captação a Vista;
    • valortabela: Percentual do componente de entrada;
    • valorproposta:  Percentual do componente de entrada;
    • parametrodeaprovacao: Pode validar entre %mínimo  e %máximo, se configurado com valor na modalidade;
    • nomeparametro: % Captação até Entrega;
    • valortabela: Percentual do valor previsto para receber até a entrega;
    • valorproposta:  Percentual do valor previsto para receber até a entrega;
    • parametrodeaprovacao: Não valida para esse tipo de parâmetro;
    • nomeparametro: % Captação até 1 mês Antes Entrega;
    • valortabela: Percentual do valor previsto para receber até um mês antes da entrega;
    • valorproposta:  Percentual do valor previsto para receber até um mês antes da entrega;
    • parametrodeaprovacao: Não valida para esse tipo de parâmetro;
    • nomeparametro: % Captação até Metade da proposta em relação a Entrega da Subunidade;
    • valortabela: Percentual do valor previsto para receber até a metade do tempo que falta para entrega;
    • valorproposta:  Percentual do valor previsto para receber até a metade do tempo que falta para entrega;
    • parametrodeaprovacao: Não valida para esse tipo de parâmetro;
    • nomeparametro: Valor m2;
    • valortabela: Valor do m2 ;
    • valorproposta:  Valor do m2 ;
    • parametrodeaprovacao: Não valida para esse tipo de parâmetro;
    • nomeparametro: Valor m2 VPL;
    • valortabela: Valor do m2 com a VPL;
    • valorproposta:  Valor do m2 com a VPL;
    • parametrodeaprovacao: Não valida para esse tipo de parâmetro;
    • nomeparametro: % Arrecadação;
    • valortabela: (Valor do total financiado / Valor Tabela Preço) - 1;
    • valorproposta:  (Valor do total financiado proposta / Valor Tabela Preço Proposta) - 1;
    • parametrodeaprovacao: Pode validar entre %mínimo  e %máximo, se configurado com valor na modalidade;
    • nomeparametro: % Desconto;
    • valortabela: 1- (Valor do total original / Valor Tabela Preço) ;
    • valorproposta:  1- (Valor do total original proposta / Valor Tabela Preço Proposta) ;
    • parametrodeaprovacao: Pode validar entre %mínimo  e %máximo, se configurado com valor na modalidade;
    • nomeparametro: % Diferença do VPL;
    • valortabela: Percentual de diferença da VPL em reação ao padrão, nesse caso sempre será 0, pois é a coluna do padrão;
    • valorproposta:  Percentual de diferença da VPL em reação ao padrão,  se for maior que 0, está abaixo da tabela padrão e se for maior que 0, está acima da padrão;
    • parametrodeaprovacao: Pode validar entre %mínimo  e %máximo, se configurado com valor na modalidade;



API: http://localhost:8051/api/imb/v1/Sales/proposals/1

API para retornar lista de propostas

RESPONSE
[
    {
        "stateentity": 0,
        "codcoligada": 1,
        "numproposta": 89,
        "dataproposta": "2013-11-08T00:00:00",
        "statusvenda": 15,
        "descricaostatus": "Proposta",
        "valorproposta": 100000.0000,
        "valortabelapreco": 0.0,
        "datahoracriacaoproposta": "2013-11-08T00:00:00",
        "diascriacaoproposta": 3169,
        "codigoempreendimento": "100",
        "nomeempreendimento": "Empreendimento",
        "dataentregaempreendimento": "2004-12-31T00:00:00",
        "codigobloco": "01",
        "nomebloco": "Bloco A",
        "codigosubunidade": "000501",
        "nomesubunidade": "Sub Unidade",
        "numerovagassubunidade": 0,
        "areasubunidade": 90.0000,
        "codigocorretor": 0,
        "codigosuperiocorretor": 0
    },
    {
        "stateentity": 0,
        "codcoligada": 1,
        "numproposta": 9893,
        "dataproposta": "2022-03-10T00:00:00",
        "statusvenda": 15,
        "descricaostatus": "Proposta",
        "valorproposta": 200000.0000,
        "valortabelapreco": 0.0,
        "datahoracriacaoproposta": "2022-03-10T00:00:00",
        "diascriacaoproposta": 125,
        "codigocliente": "C01533",
        "nomecliente": "CLIENTE",
        "codigoempreendimento": "2019",
        "nomeempreendimento": "EMPREENDIMENTO MODELOS DE CÁLCULO ",
        "dataentregaempreendimento": "2010-06-01T00:00:00",
        "codigobloco": "03",
        "nomebloco": "BLOCO 03",
        "codigosubunidade": "000027",
        "nomesubunidade": "Apto 000027",
        "numerovagassubunidade": 0,
        "areasubunidade": 360.0000,
        "codigocorretor": 0,
        "codigosuperiocorretor": 0
    },
    {
        "stateentity": 0,
        "codcoligada": 1,
        "numproposta": 10004,
        "dataproposta": "2022-07-13T00:00:00",
        "statusvenda": 15,
        "descricaostatus": "Proposta",
        "valorproposta": 100000.0000,
        "valortabelapreco": 0.0,
        "datahoracriacaoproposta": "2022-07-13T00:00:00",
        "diascriacaoproposta": 0,
        "codigocliente": "C01533",
        "nomecliente": "CLIENTE",
        "codigoempreendimento": "2019",
        "nomeempreendimento": "EMPREENDIMENTO MODELOS DE CÁLCULO ",
        "dataentregaempreendimento": "2010-06-01T00:00:00",
        "codigobloco": "01",
        "nomebloco": "BLOCO 01",
        "codigosubunidade": "1",
        "nomesubunidade": ".",
        "numerovagassubunidade": 0,
        "areasubunidade": 100.0000,
        "codigocorretor": 0,
        "codigosuperiocorretor": 0
    }
]


API: http://localhost:8051/api/imb/v1/sales/proposals/1_10004

API buscar uma proposta especifica.

RESPONSE
[
    {
        "stateentity": 0,
        "codcoligada": 1,
        "numproposta": 10004,
        "dataproposta": "2022-07-13T00:00:00",
        "statusvenda": 15,
        "descricaostatus": "Proposta",
        "valorproposta": 100000.0000,
        "valortabelapreco": 0.0,
        "datahoracriacaoproposta": "2022-07-13T00:00:00",
        "diascriacaoproposta": 0,
        "codigocliente": "C01533",
        "nomecliente": "CLIENTE",
        "codigoempreendimento": "2019",
        "nomeempreendimento": "EMPREENDIMENTO MODELOS DE CÁLCULO ",
        "dataentregaempreendimento": "2010-06-01T00:00:00",
        "codigobloco": "01",
        "nomebloco": "BLOCO 01",
        "codigosubunidade": "1",
        "nomesubunidade": ".",
        "numerovagassubunidade": 0,
        "areasubunidade": 100.0000,
        "codigocorretor": 0,
        "codigosuperiocorretor": 0
    }
]

Apis de Parâmetros

API: GET: http://localhost:8051/api/imb/v1/parameters/getParameter?company=0&parameter=UTILIZACOMISSAOVERSAO2

API para verificar se a comissão 2.0 está ativada.

RESPONSE
{
    "company": 0,
    "name": "UTILIZACOMISSAOVERSAO2",
    "value": "1"
}


Dados recebidos:

  • company: Código da coliga. (0 para coligada global);
  • name: Nome do parâmetro para verificação;
  • value: Pode ser 1 ou 0. Se 1, está ativado e 0 está desativado.

Apis de Seguranças

API: GET: http://localhost:8051/api/imb/v1/securitys/813000033/companys/20/persons/111.222.333-50

API que retorna as permissões de uma tag de segurança por coligada e por CPF


API: GET:http://localhost:8051/api/imb/v1/securitys/813000033/companys/20/persons/111.222.333-50/tables/xcomissoes

API que retorna as permissões de uma tag de segurança por coligada, CPF e por restrições de campos de uma tabela


API: GET: http://localhost:8051/api/imb/v1/securitys/813000033/tags/0_1_3_2/companys/20/persons/111.222.333-50

API que retorna as permissões de uma tag de segurança e subtags (ExecuteId, InsertId, DeleteId, EditId), por coligada e por CPF


API: GET:http://localhost:8051/api/imb/v1/securitys/813000033/tags/0_1_3_2/companys/20/persons/111.222.333-50/tables/xcomissoes

API que retorna as permissões de uma tag de segurança e subtags (ExecuteId, InsertId, DeleteId, EditId), por coligada, CPF e por restrições de campos de uma tabela


API: GET: http://localhost:8051/api/imb/v1/securitys/813000033/tags/4/companys/20/persons/111.222.333-50

API que retorna as permissões de uma tag de segurança e subtag (TagId), por coligada e por CPF


API: GET:http://localhost:8051/api/imb/v1/securitys/813000033/tags/4/companys/20/persons/111.222.333-50/tables/xcomissoes

API que retorna as permissões de uma tag de segurança e subtags (TagId), por coligada, CPF e por restrições de campos de uma tabela


RESPONSE
{
    "count": 1,
    "hasNext": false,
    "items": [
        {
            "codColigada": 20,
            "codUsuario": "mestre",
            "securityId": 813000346,
            "executeId": 0,
            "insertID": 1,
            "deleteID": 2,
            "editID": 3,
            "tagId": 0,
            "allowEdit": true,
            "allowInsert": true,
            "allowView": true,
            "allowDelete": false,
            "allowTagId": true,
            "imbTableFieldRestrictionsSecurity": [
                {
                    "tableName": "XCOMISSOES",
                    "columnName": "PERCENTUALMAX",
                    "denyEdit": true,
                    "denyView": false,
                    "podeConsultar": "T",
                    "podeAlterar": "F"
                },
                {
                    "tableName": "XCOMISSOES",
                    "columnName": "PERCENTUALMAX",
                    "denyEdit": true,
                    "denyView": false,
                    "podeConsultar": "T",
                    "podeAlterar": "F"
                },
                {
                    "tableName": "XCOMISSOES",
                    "columnName": "PERCENTUALMAX",
                    "denyEdit": true,
                    "denyView": false,
                    "podeConsultar": "T",
                    "podeAlterar": "F"
                }
            ],
            "systemMensage": "Usuário Logado com Sucesso!"
        }
    ]
}


Dados recebidos:

  • codColigada: Código da coligada do usuário;

  • codUsuario: Código do usuário;

  • securityId:  Tag de segurança;

  • executeId: Tag de visualizar utilizada na verificação;

  • insertID: Tag de inserir utilizada na verificação;
  • deleteID: Tag de deletar utilizada na verificação;
  • editID: Tag de edição utilizada na verificação;
  • tagId: Qualquer tipo de tag que queira verificar;
  • allowEdit: Permite editar;
  • allowInsert: Permite inserir;

  • allowView: Permite visualizar;

  • allowDelete: Permite deletar;

  • allowTagId: Permite executar um tag que foi passada;
  • imbTableFieldRestrictionsSecurity: permissões dos campos da tabela definido no parâmetro



Não foi possível recuperar https://tdn.totvs.com/plugins/viewsource/viewpagesrc.action?PageId=756475196 - Página não permitida.

  • Sem rótulos