
Como funciona o portal Addiante Seminovos
O material responde às perguntas do e-mail sobre o Projeto Fiumicino. Mostra a arquitetura, o Catálogo e o atendimento por trás do site, a operação, a segurança e o que falta para abrir o portal a anunciantes.
Telas reais de addianteseminovos.com.br, capturadas em 06/11/2026.



O portal já atende dois dos sete pedidos e atende outros quatro só para um vendedor


O anúncio sai do Catálogo Seminovos, passa pela API e chega aos sites pela Cloudflare
- O Catálogo roda em Django 5.2 e React 19, com PostgreSQL.
- Os sites usam Next.js 16, e a API usa FastAPI com PostgreSQL. Tudo roda no Google Cloud Run.
- A Cloudflare guarda as páginas na borda e é limpa a cada mudança de estoque.
- As peças em azul tracejado são o que o Fiumicino acrescenta.
- O Catálogo Seminovos (Django, React e PostgreSQL) guarda o estoque. A equipe cadastra e um aprovador publica.
- A API e o worker (FastAPI e PostgreSQL) sincronizam o estoque e tratam as fotos.
- Os sites em Next.js rodam no Cloud Run, com a Cloudflare na frente.
- O contato é gravado e segue ao Salesforce, ou abre o WhatsApp dos consultores.
- O Fiumicino acrescenta a área do anunciante, planos e pagamento, moderação aberta a terceiros e relatório por anúncio.

O Catálogo guarda cada ativo com ficha técnica, fotos revisadas e três estados independentes
- A ficha técnica tem colunas fixas, e por isso todo anúncio sai com os mesmos campos.
- O lote de fotos é recusado inteiro se a placa não bater ou se um arquivo for inválido.
- O login é o Microsoft da empresa, com seis papéis, e cada alteração fica registrada com autor e ação.
- O modelo foi pensado para caminhões. Implementos pedem campos próprios.
- O ativo guarda marca, modelo, ano, km e chassi único de 17 caracteres.
- A ficha técnica tem colunas fixas para motor, potência, torque, câmbio, PBT e cabine.
- Cada foto é revisada (pendente, aprovada ou rejeitada) e tem até 15 MB.
- O implemento vinculado tem preço próprio, e o preço do ativo vem com a FIPE do mês.
- O ativo tem três estados independentes, de devolução, comercial (em preparação, disponível, vendido) e de publicação (rascunho, publicado, retirado).
- Falta criar os campos de implemento, como eixos, comprimento e capacidade de carga.


Nenhuma alteração no Catálogo vai ao ar sem um aprovador comparar o antes e o depois
- O aprovador vê cada campo alterado e publica ou recusa com motivo.
- A publicação gera uma versão que não muda mais, e é essa versão que o site e a OLX leem.
- O chassi é único no cadastro, o que impede o mesmo bem em dois anúncios.
- Esse fluxo é a base para moderar anúncios de terceiros.
- A equipe edita o rascunho (ficha, preço e fotos) e envia para aprovação com a lista do que mudou.
- O aprovador compara antes e depois, campo a campo.
- Ele aprova e publica na mesma transação, ou rejeita com motivo e o rascunho volta à equipe.
- A versão publicada não muda depois de criada. O portal e a OLX leem só essa versão.
- Mudar um campo importante de um ativo publicado o tira do ar até nova aprovação, e marcar como vendido também exige aprovação.
- No Fiumicino, o anunciante prepara o rascunho no lugar da equipe.

Um anúncio aprovado no Catálogo chega ao site em cerca de um minuto
O site não tem cadastro próprio. O Catálogo avisa da mudança, a API busca a versão publicada, trata as fotos e pede à Cloudflare que troque a página guardada.
catalog.changed, assinado com HMAC-SHA256.Se o aviso não chegar, uma varredura a cada 5 minutos faz o mesmo caminho. O tempo de cerca de um minuto soma até 30 s de detecção no Catálogo e cerca de 40 s do site.


A página do anúncio é montada com os dados que o Catálogo publicou
- A busca filtra por categoria, marca e faixa de preço, e o filtro fica no endereço.
- Tipo e fabricante com duas ofertas ou mais ganham página própria no Google.
- Cada anúncio tem endereço estável, entra no sitemap e leva marcação de produto e oferta para o Google.
- Unidades iguais formam uma oferta “a partir de”. A placa aparece mascarada e o chassi nunca sai.
- Faltam filtro por ano e por região, e busca por texto.



O contato é gravado no banco antes de seguir ao Salesforce ou ao WhatsApp
- Se o Salesforce estiver fora, o contato espera na fila e é reenviado.
- O mesmo envio repetido não vira dois contatos, porque cada envio tem um id próprio.
- O chat do EvoCRM, a plataforma de atendimento da equipe, já está pronto no site e segue desligado.
- No Fiumicino, o destino passa a ser o anunciante de cada anúncio.
- O formulário e o WhatsApp pedem nome, empresa e e-mail. O formulário pede também o telefone, e o CNPJ é opcional nos dois.
- A API valida o CNPJ pelo dígito verificador e aceita 30 envios por minuto por IP.
- A oferta é conferida no estoque, e vale o preço do servidor.
- O contato é gravado no PostgreSQL sem permitir alteração, com o aceite, a política e o horário.
- Na mesma transação entra na fila de envio, e o Salesforce recebe com reenvios em 1 min, 5 min, 15 min, 1 h e 3 h.
- O WhatsApp do consultor abre com a mensagem e o protocolo do contato.
- No Fiumicino, o anunciante recebe o contato do próprio anúncio.


A medição só começa depois que o visitante aceita o aviso de privacidade
- O Consent Mode v2 do Google começa negado, e o aviso libera cada finalidade em separado.
- O Google Tag Manager só dispara GA4, Meta e Google Ads depois do aceite. O Microsoft Clarity também espera.
- O Sentry, que registra erros, está configurado para não enviar dados pessoais.



O painel liga cada lead do Salesforce à campanha que trouxe a visita
- Ele junta Google Ads, Meta Ads, GA4, Salesforce, Metricool e Marketing Cloud, com uma página por unidade.
- O site manda ao Salesforce a origem da visita (UTM e GCLID) junto com o contato. Em 30 dias, 32 de 33 leads do Google chegaram com o GCLID.
- Mostra o custo por lead e por lead qualificado e o tempo até o primeiro atendimento, medido na fila do Salesforce.
- Cada alerta diz o que pedir à agência ou ao comercial e fica marcado quando o ajuste é feito.
- O painel mede um vendedor só. No Fiumicino, cada anunciante precisa do relatório dos próprios anúncios.




Um coletor próprio busca os dados quatro vezes por dia útil e confere os totais antes de publicar
- O coletor não usa modelo de IA. Ele lê o Salesforce pela API e o Google Ads, a Meta e o GA4 pelo HYPD.
- A cada rodada, compara a soma diária com a soma por campanha e a lista de leads com a contagem do Salesforce.
- Se uma fonte falha, o bloco dela não é publicado, e o aviso diz o que faltou.
- O login é por e-mail e senha, com lista fechada, e cada pessoa vê só as áreas liberadas para ela.
- Um relatório por anunciante precisa separar os dados por empresa e dar a cada uma acesso só ao que é dela.



As proteções vão da borda da Cloudflare ao banco, e cinco lacunas estão mapeadas
- Cada camada barra um tipo de problema antes da seguinte.
- Os segredos ficam no Secret Manager, e nenhum serviço usa chave de acesso em arquivo.
- Em azul tracejado, o que precisa ser resolvido antes de abrir o portal a terceiros.
- A borda da Cloudflare cuida do TLS e do cache, e desafia acessos de fora do Brasil.
- Na entrada do Google Cloud, o balanceador com Cloud Armor aceita só a Cloudflare.
- Os sites enviam CSP, HSTS, X-Frame-Options DENY e nosniff.
- A API restringe o CORS, limita envios por IP, valida os dados e confere o HMAC do Catálogo.
- Os segredos ficam no Secret Manager, a placa sai mascarada e o chassi não sai da API.
- O Sentry roda sem dados pessoais, ao lado do UptimeRobot e dos alertas de fila.
- Faltam HSTS na API, antispam (o limite é em memória e não há Turnstile), política de privacidade numa página do site, região do comprador e prazo de guarda do contato.


Toda mudança passa por revisão, testes, homologação e GMUD antes de ir ao ar
Antes e depois de mexer na API, a TI faz backup do banco, e a versão anterior fica pronta para voltar.

Os quatro serviços do portal escalam por instância no Cloud Run
Cada instância tem 1 vCPU. Quando o acesso cresce, o Cloud Run sobe instâncias até o limite, que a TI pode ampliar sem mudar o código.
seminovos-website de seminovos512 MiB · 40 por instância1 a 4locacao-websimulador de locação512 MiB · 40 por instância0 a 2seminovos-apiAPI pública e contatos512 MiB · 20 por instância1 a 3seminovos-workerfilas, fotos e sincronização1 GiB · 2 por instância0 a 2Valores da especificação de produção. O Catálogo roda em dois serviços próprios no mesmo Cloud Run. O custo de nuvem por serviço ainda não foi medido.


Hoje a Addiante não vende anúncio, e a curadoria do estoque é interna
Não há
O site vende o estoque da própria Addiante, e ninguém paga para anunciar. Não existe tabela de plano nem de assinatura no código.
Fora do site
O preço publicado é à vista. A negociação e o pagamento ficam com o consultor.
Aprovação no Catálogo
Só a equipe da Addiante cadastra, e um aprovador publica. O contato é conferido contra o anúncio e o preço.
Consultores e monitores
O comprador fala com os consultores por formulário, WhatsApp e centrais 0800. Sentry e UptimeRobot vigiam o site.
Hoje não entra anúncio falso porque só a Addiante publica. Num marketplace aberto, a moderação passa a ser uma parte central do produto.

Para aceitar anunciantes, o sistema precisa de dono por ativo, planos, cobrança e roteamento do contato
- Em teal, o que já existe e pode ser reaproveitado.
- Hoje todo ativo pertence à Addiante, então o primeiro passo é dar a cada ativo uma empresa dona.
- Contas de empresas parceiras com login próprio já estão em construção na Addiante, fora do ar.
- O ativo com ficha e fotos revisadas, a aprovação com versão publicada, os papéis e as chaves de API, a vitrine com busca e o contato gravado com fila de envio já existem e se reaproveitam.
- Falta o anunciante, com CNPJ conferido, termos e usuários, e cada ativo passa a ter uma empresa dona.
- Falta o plano com assinatura e a cobrança por um provedor (cartão, Pix ou boleto).
- Falta a denúncia com bloqueio, o roteamento do contato ao anunciante, o relatório por anúncio e o antispam.


Duas versões planejadas criam a conta de empresa que o anunciante vai precisar
v1.1.8no ar desde 30/10Cache das páginas no Cloudflare, limpo a cada publicação do Catálogo.base atualÉ o portal desta apresentação.v1.2.0 e
v1.2.4 a v1.2.10no ar em 08/11Totens da Fenatran com cadastro curto e o basculante Randon em 3D.não ajudaÉ entrega da feira.v1.2.1no ar em 08/11Leva lotes de revenda ao evento da Addiante no Superbid.ajuda em parteManda o contato a outro canal conforme a venda.v1.2.2 e v1.2.3no ar em 08/11Anúncio e listagem mais rápidos no celular, e erros dos monitores corrigidos.ajuda em parteA vitrine nova já nasce com isso.v1.4.0código em rascunho, desligadoPortal da operação com login, empresas por CNPJ, habilitações e comissão.ajuda diretoCria a conta da empresa com aprovação.v1.4.1planejada, sem códigoRede de parceiros por convite, com dossiê, aceite dos termos e área da empresa.ajuda diretoCobre usuários, papéis e termos aceitos.v1.4.2planejada, sem códigoVenda por ofertas a empresas habilitadas, com lance automático e Compre Já.ajuda em parteRegistra cada lance, mas não cobra plano.As versões 1.4 ainda não têm data. Nenhuma versão traz plano, assinatura, cobrança ou denúncia.

Na v1.4.1, a empresa parceira entra por convite e tem área própria
- A operação analisa o dossiê, e a empresa aceita o contrato antes do acesso.
- A área mostra o link de divulgação, os contatos atribuídos, as comissões e a equipe.
- O parceiro vê o status do contato, não os dados do comprador.
- Esse cadastro pode virar a conta do anunciante. Faltam o anúncio feito pela empresa, o plano e a cobrança.
Tela simulada. A versão não foi implementada, e os dados são fictícios.
Portal de parceirosEEEmpresa Exemplo LtdaOlá, Empresa Exemplo
Revenda com comissão · aprovadaCompra por ofertas · em análiseaddianteseminovos.com.br/seminovos?ref=EXEMPLOCopiarOs dados do comprador aparecem depois da venda ganha.

Empresa Exemplo Ltda
- ✓Pré-cadastroCNPJ, porte e contato
- 2Análise da operaçãodossiê com 3 documentos
- 3Formalizaçãoaceite do contrato e dos termos
- 4Acessoárea da empresa liberada
Revenda com comissãoem análise
Compra por ofertasem análise
A decisão chega por e-mail.


A operação aprova cada empresa antes da revenda ou da compra por ofertas
- Na v1.4.0, a operação cadastra a empresa, decide cada habilitação e mantém a tabela de comissão.
- Na v1.4.2, o lote tem incremento, lance automático e Compre Já, e o prazo cresce se chegar lance no fim.
- Só empresas habilitadas veem os lotes. A vitrine pública não muda.
- A Randon precisa da mesma aprovação para liberar anunciantes. A venda por ofertas não cobra nem pede caução.
Telas simuladas. As versões não foram implementadas, e os dados são fictícios.
OperaçãoOPOperação AddianteEmpresas convidadas
Cadastrar empresa00.000.000/0001-00médiaaprovadaem análise11.111.111/0001-11grandeem análiseem análise22.222.222/0001-22microrecusadanão pediu33.333.333/0001-33médiasuspensaaprovadaTabela de comissão vigente

fecha em 02:14:37Scania P 360 6x4


O portal e o Catálogo são código privado da Addiante, e o EvoCRM é código aberto com ajustes nossos
- Código
- Repositório privado da Addiante no GitHub, sem arquivo de licença.
- Dependências
- As diretas usam licenças MIT, BSD e Apache. As indiretas não foram auditadas.
- Onde roda
- Cloud Run, PostgreSQL e Cloudflare da Addiante.
- Código
- Repositório privado da Addiante, sem arquivo de licença, com cerca de 60 arquivos de teste.
- Ponto de atenção
- O modelo que oculta placas nas fotos tem licença AGPL-3.0, que está em revisão.
- Onde roda
- Cloud Run, PostgreSQL e Cloud Storage privado.
- Código
- Base aberta da Evolution Foundation, com os ajustes da Addiante num repositório próprio.
- Licença
- Apache 2.0. A interface exige manter logo e aviso, e o uso comercial pode pedir licença do autor.
- O que faz
- Atendimento da equipe por WhatsApp. O rodízio de consultores e as jornadas com consentimento e descadastro estão em piloto.
A forma de licenciar e a titularidade entre as empresas do grupo se definem com o jurídico.

Cada forma de reaproveitar define quem opera o sistema e quem é dono do código
A Addiante opera para a Randon
- Como funciona
- Uma instância nova, com marca, domínio e banco próprios, no mesmo modelo de nuvem. A TI da Addiante publica por GMUD.
- O que pesa
- A Randon precisa de pouca equipe técnica, e as prioridades são combinadas entre as duas.
A Randon leva o código
- Como funciona
- Cópia dos repositórios, da documentação, dos testes e dos roteiros de publicação, na nuvem da Randon.
- O que pesa
- A Randon ganha autonomia total e precisa de time técnico e de um período de passagem de conhecimento.
Uma base com duas vitrines
- Como funciona
- O mesmo código serve as duas empresas, com marca e dados separados. A API já recebe o inquilino em cada rota.
- O que pesa
- O custo e a evolução se dividem, e as mudanças pedem governança conjunta.

A Addiante sugere fechar as regras de negócio antes de estimar o prazo de cada etapa
Levantamento
Regras dos planos, meio de pagamento, termos de uso, papéis na LGPD e a forma de reaproveitar.
A Randon decide quem opera e como cobra.Primeira etapa
Vitrine com a marca Randon, conta do anunciante, cadastro com aprovação, contato ao anunciante e antispam.
A Randon define categorias e campos da ficha de implemento.Planos e pagamento
Assinatura, integração com o provedor de pagamento, vigência e renovação, ligadas à conta do anunciante.
A Randon define preços e regras de cancelamento.Abertura
Relatório por anúncio, denúncia e bloqueio, e a entrada de clientes e distribuidores.
A Randon decide quem entra primeiro.O prazo de cada etapa sai do levantamento, com a forma de reaproveitar e a equipe definidas. A Addiante pode mostrar o código e a documentação numa sessão de trabalho com a equipe do Fiumicino.
