Fluxo de cotação no Portal Legado (CCT e PME)¶
1. O que é uma cotação no PASI em termos de negócio¶
Quando a gente fala em cotação aqui, estamos falando de uma simulação que vira um número de referência no sistema.
Na prática, a cotação serve para responder três perguntas simples:
- Este CNPJ pode contratar agora ou existe alguma trava
- Qual conjunto de coberturas vale para este caso
- Qual é o valor de referência, junto com a comissão escolhida
Entradas principais que o corretor informa¶
Mesmo com variações de tela, o que muda de verdade é um conjunto pequeno de decisões:
- Produto
- UF e cidade da cotação
- Tamanho do grupo, como número de segurados
- Identificação da empresa, normalmente CNPJ
- Uma escolha que define o pacote e a comissão
No caminho CCT, essa escolha passa por sindicatos e abrangência territorial.
No caminho PME, essa escolha passa por condição comercial e coberturas.
O que o sistema devolve ao final¶
No final do fluxo, o sistema cria ou reaproveita uma cotação e devolve um identificador de cotação, além de um indicador de bloqueio quando a regra de UF não permite seguir.
3. Visão geral do fluxo em uma página¶
O que muda entre CCT e PME¶
O portal legado tem dois caminhos porque o negócio tem dois jeitos de formar a oferta.
- No CCT, a oferta está amarrada à convenção coletiva, então a pessoa precisa escolher atividade e sindicatos, e o sistema precisa confirmar a abrangência territorial.
- No PME, a oferta está amarrada a uma condição comercial, então a pessoa escolhe a condição e vê coberturas antes de escolher a comissão.
4. Caminho 1: CCT¶
Passo a passo¶
1) Eu abro a Cotação Express e o portal carrega a lista de produtos disponíveis para mim.
2) Eu escolho o produto e o portal já traz duas coisas na sequência:
- a lista de UFs
- a validação se eu tenho liberação para a experiência de Loja CCT
3) Eu escolho a UF e a cidade. A partir daqui o fluxo CCT realmente começa a ganhar corpo.
4) Com UF e cidade definidos, eu escolho a categoria da CCT, que o portal chama de atividade.
5) Eu escolho o sindicato patronal e depois o sindicato laboral. O portal usa a escolha do patronal para filtrar o laboral.
6) Em seguida o portal mostra a abrangência territorial da convenção. Essa etapa é quase uma conferência visual para eu ter certeza de que a cidade está dentro do que a convenção cobre.
7) Antes de ir para comissão, o portal faz uma checagem de UF, que é aquela trava do tipo: minha UF de cadastro bate com a UF da cotação.
8) Eu escolho a comissão. Essa escolha é uma das mais importantes porque é ela que define a opção de comissão que vai entrar na criação da cotação.
9) Na tela de dados do contratante, eu informo o CNPJ e o portal consulta os dados e as validações de elegibilidade.
10) Eu finalizo e o portal cria a cotação no sistema.
Diagrama do fluxo CCT¶
Tabela resumida do CCT¶
| Etapa na tela | O que o portal consulta no sistema | O que volta de informação | Por que isso importa na etapa seguinte |
|---|---|---|---|
| Abrir Cotação Express | Lista de produtos para cotação | Produtos disponíveis, com informações para montar a vitrine | Define o que posso escolher e o que vai aparecer na jornada |
| Escolher produto | Lista de UFs (/api/Corretor/ListaUFCotacao/Lista/{corretor}) e validação de Loja CCT (/api/Validar/CorretorLojaCCT) |
UFs disponíveis e sinal de liberação para Loja CCT | Define se eu tenho acesso a loja e a lista de UFs que posso cotar |
| Escolher UF | Lista de cidades da UF (/api/Localidade/Cidade/{estado}) |
Lista de cidades | Cidade vira referência para o restante do fluxo e entra na criação final da cotação |
| Escolher cidade | Lista de atividades CCT (/api/Combo/Atividade/{CodigoCorretor}/{Estado}) |
Categorias de CCT elegíveis | Define a categoria que filtra sindicatos |
| Escolher categoria | Lista de sindicatos patronais (/api/Entidade/Combo/Patronal/{CodigoCorretor}/{Estado}/{COD_CATEGORIA_CCT}) |
Patronais possíveis | Define o primeiro eixo da convenção |
| Escolher patronal | Lista de sindicatos laborais (/api/Entidade/Combo/Laboral/{CodigoCorretor}/{Estado}/{COD_CATEGORIA_CCT}) |
Laborais possíveis | Fecha o par de sindicatos que será usado para buscar detalhes e comissão |
| Ver abrangência | Detalhe de abrangência territorial (/api/Entidade/Combo/AbrangenciaTerritorial/{laboral}/{patronal}) |
Texto de abrangência, vigência e detalhes de cláusula | Serve de conferência e ainda alimenta campos enviados no final |
| Próximo passo | Checagem de UF (/api/Proposta/comparaUfCorretorCotacao/{codCorretor}/{ufCotacao}) |
Mensagem de liberado ou divergente | Evita que eu só descubra o bloqueio lá no final |
| Comissão | Opções de comissão na CCT (/api/Corretor/Comissao/{patronal}/{laboral}) |
Lista de opções | Minha escolha vira a opção de comissão usada para montar preço e pacote |
| Dados do contratante | Consulta de CNPJ e validações (/api/ConsultaCNPJReceita) |
Dados cadastrais e indicação de elegibilidade | Pode bloquear cotação por regras de cliente e histórico |
| Finalizar | Criação da cotação (/api/Proposta/Novo) |
Número de cotação e indicador de bloqueio | Esse é o marco que libera o resto da jornada |
5. Caminho 2: Cotação PME¶
Passo a passo¶
Este caminho parece mais simples na tela, mas tem um ponto que muda tudo: em vez de sindicatos, eu escolho uma condição comercial.
1) Eu abro a Cotação Express e o portal carrega os produtos disponíveis para cotação.a.
2) Eu escolho o produto e, de novo, o portal carrega a lista de UFs.
3) Ainda nesse momento, o portal já busca as condições comerciais disponíveis para aquele produto.
4) Eu escolho a UF e a cidade.
5) Eu escolho a condição comercial e o portal mostra as coberturas vinculadas a ela.
6) Eu avanço e o portal lista as opções de comissão para a combinação da condição comercial e do corretor.
Existe também um modo de uso chamado lojaPme, em que o sistema pode devolver só uma opção de comissão. Isso muda a percepção do corretor porque a tela fica com menos escolhas.
Existe um detalhe importante aqui: o legado tem um parâmetro que pode mudar o comportamento dessa lista e devolver só uma opção. Na prática, isso vira regra de jornada e precisa ficar explícito.
7) Eu escolho a comissão.
8) Eu informo o CNPJ e o portal consulta os dados e as validações.
9) Eu finalizo e o portal cria a cotação no sistema.
Diagrama do fluxo PME¶
Tabela resumida do PME que não é CCT¶
| Etapa na tela | O que o portal consulta no sistema | O que volta de informação | Por que isso importa na etapa seguinte |
|---|---|---|---|
| Abrir Cotação Express | Lista de produtos PME (/api/Proposta/ProdutosPME/Lista/{codCorretor}) |
Produtos disponíveis, incluindo um link de loja para alguns casos | Define o que posso cotar |
| Escolher produto | Lista de UFs (/api/Corretor/ListaUFCotacao/Lista/{corretor}) |
UFs disponíveis | Alimenta a escolha de UF e a checagem posterior |
| Escolher produto | Lista de condições comerciais (/api/Proposta/CondicoesComerciais/Lista/{codProduto}) |
Condições comerciais elegíveis | Define qual conjunto de coberturas e comissões pode ser usado |
| Escolher UF | Lista de cidades (/api/Localidade/Cidade/{estado}) |
Cidades | Cidade entra na criação final |
| Escolher condição | Lista de coberturas (/api/Proposta/CondicoesComerciais/Coberturas/Lista/{codCondicaoComercial}) |
Coberturas e valores formatados para visualização | Ajuda a explicar a oferta antes da comissão |
| Próximo passo | Opções de comissão no PME (/api/Corretor/ComissaoPorCondicaoComercial/...) |
Lista de opções e percentuais | Minha escolha vira a opção de comissão usada no cálculo final |
| Dados do contratante | Consulta de CNPJ e validações (/api/ConsultaCNPJReceita) |
Dados cadastrais e elegibilidade | Pode bloquear por regras de cliente e histórico |
| Finalizar | Criação da cotação (/api/Proposta/Novo) |
Número de cotação e indicador de bloqueio | Marco que libera o restante do processo |
6. Como a decisão final é montada¶
Até o botão Finalizar, o portal só está montando um conjunto de escolhas.
Quando eu finalizo, o sistema pega essas escolhas e transforma em uma cotação gravada. A partir daí, o sistema devolve o número da cotação e outros indicadores.
O que realmente pesa na criação¶
Na prática, três escolhas mudam tudo:
- Cidade e UF, porque existe trava de bloqueio por divergência de UF
- A escolha que vira a opção de comissão, porque ela define capital, módulos e fatura mínima
- A elegibilidade do CNPJ, porque ela pode bloquear antes de gravar ou sinalizar impedimentos
No legado, a opção de comissão não é só comissão. Ela é um identificador que o sistema usa para puxar:
- tipo de capital
- valor de capital por segurado
- quantidade e valor de coberturas
- fatura mínima
- módulo e módulo adicional
- valores associados e não associados
Esse é um ponto importante para a API Nova: não adianta pensar em comissão como uma escolha isolada. Ela é uma chave que amarra o pacote.
7. Regras e travas que aparecem no caminho¶
Bloqueio por UF¶
Existe uma regra de bloqueio que compara a UF do corretor com a UF da cidade escolhida. Quando não bate, a cotação pode ser gravada como bloqueada e o sistema devolve um indicador de bloqueio.
Além disso, existe uma lista fixa de corretores liberados para cotar em qualquer UF. Essa lista aparece tanto na checagem anterior quanto na criação final
Liberação Loja CCT¶
A liberação de Loja CCT é baseada em uma lista configurada como texto, e o resultado é apenas verdadeiro ou falso.
Do jeito que está, uma falha interna pode virar falso e a gente perde visibilidade, porque a exceção é silenciada.
Elegibilidade do CNPJ na consulta de dados¶
A consulta de CNPJ faz um papel de guarda chuva de validações. Ela consulta dados cadastrais e também classifica elegibilidade com base em histórico e status em várias tabelas.
Além do banco, existem chamadas para provedores externos. No legado há um provedor principal e um fallback.
Divergências entre documentação e comportamento¶
Aqui estão as divergências mais importantes para quem trabalha com operação e suporte, porque elas explicam comportamentos que parecem aleatórios:
- A lista de UFs volta como todas as UFs, mesmo quando a tela sugere que seria filtrado por corretor
- A lista de cidades aparece como consulta pública no código, mesmo quando a documentação indica que exigiria login
- Algumas consultas tratam parâmetros como opcionais na documentação, mas o código exige e pode quebrar quando vem vazio
- Há pontos em que erro funcional volta como sucesso técnico, ou seja, volta com status de sucesso mas com Resultado falso e uma mensagem
8. Gargalos atuais e impactos¶
Pontos que geram confusão¶
- A pessoa escolhe UF na tela, mas só descobre bloqueio lá na frente, ou em telas diferentes dependendo do caminho
- Existem duas lógicas de liberação para cotar em todo o país, uma por lista fixa e outra por parâmetro, e isso é difícil de explicar para quem está na ponta
- Algumas mensagens de erro são genéricas e não ajudam o corretor a se corrigir
Pontos que aumentam risco operacional¶
- Consultas que aceitam código de corretor enviado pela tela sem evidência de checagem de vínculo aumentam risco de uso indevido
- Existem consultas que ficam públicas no código e facilitam enumeração de dados
9. O que muda com a API Nova¶
Antes e depois¶
| Tema | Legado hoje | API Nova (direção do projeto) |
|---|---|---|
| Entrada | Vários padrões e comportamentos diferentes | Gateway único com políticas por público |
| Acesso | Regras frágeis e muita superfície pública | Login específico para parceiros (client credentials) e validação no gateway |
| Vínculo | Muitos pontos aceitam códigos informados pela tela | Vínculo obrigatório, partner_id do acesso precisa bater com o recurso |
| Repetição | Reenvio pode gerar duplicidade | Idempotência natural com (partner_id, external_reference) |
| Rastreio | Difícil seguir uma jornada ponta a ponta | X-Correlation-Id sempre presente e propagado |
| Auditoria e logs | Inconsistente, alguns logs comentados | Auditoria e logs em SQL Server por 60 dias |
| Contrato | Documentação e comportamento divergem | Contrato alinhado com comportamento e erros padronizados |