RPA & AutomaçãoEngenharia de DadosLeitura 5 min

Como Funciona uma Coleta Automatizada de Dados Públicos: Escopo, Execução e Entrega

As três etapas de uma coleta automatizada em fontes públicas: contrato de escopo, execução do robô com normalização e comparação, e entrega com log de auditoria.

Jonas HamerskiData Engineer | RPA/Web Scraping | Backend Python22 de julho de 20265 min

"Nossos robôs coletam" é uma frase curta demais para um processo que tem três etapas bem distintas, cada uma com o próprio critério de pronto.

Este artigo abre a esteira: o que acontece entre você pedir uma informação e ela aparecer dentro do seu sistema.


Etapa 01. O contrato de coleta

Nenhum robô sobe antes disso. O escopo é um documento curto, validado com o seu time, que responde a quatro perguntas.

Fonte

Qual portal público, exatamente. Não "Diário Oficial", e sim quais Diários, de quais estados, em qual seção. Fonte mal definida é a causa mais comum de coleta que "funciona" e entrega a informação errada.

Campos

Quais atributos precisam voltar e quais são obrigatórios. A distinção importa: campo obrigatório ausente significa falha da coleta e vai para reprocessamento; campo opcional ausente é resultado válido.

Frequência

De quanto em quanto tempo, e em qual horário e fuso. Um exemplo real de linha de escopo: diária, 06:00, America/Sao_Paulo. Fuso explícito evita a discussão anual sobre horário de verão.

Destino

Para onde o dado vai: ERP, CRM, webhook, data warehouse, ou mais de um ao mesmo tempo. Definir isso no escopo, e não no final, evita ter que reprocessar histórico depois.

Saída desta etapa: contrato de coleta validado com o seu time.


Etapa 02. Execução: o que o robô faz de verdade

A execução tem quatro passos internos, e o terceiro e o quarto são os que separam coleta de monitoramento.

1. Autenticação na fonte

Quando a fonte exige sessão, ela é aberta com credencial exclusiva por cliente. Credencial compartilhada entre clientes é o caminho mais rápido para bloqueio em cascata: um cliente exagera no volume e todos os outros param.

2. Percorrer as publicações

O robô navega o portal como um operador navegaria: pagina, filtra, abre o detalhe. Aqui aparecem os problemas reais de campo: paginação que muda de esquema, sessão que expira no meio, portal que responde 200 com página de erro dentro.

A regra operacional é sempre a mesma: resposta que não é claramente um resultado não vira resultado. Vai para a fila de reprocessamento.

3. Extrair e normalizar

O dado bruto vira dado estruturado. É onde "ATIVA", "Ativa" e "situação cadastral: ATIVA" convergem para um valor único, e onde datas em três formatos diferentes viram um só.

A normalização é o que permite trocar de fonte depois sem reescrever quem consome. Se o sistema do cliente conhece o formato do portal, o portal virou dependência do cliente.

4. Comparar com a última coleta

O retorno normalizado é comparado com a coleta anterior. Três resultados possíveis:

  • Igual: registra no log, não gera evento.
  • Diferente: gera evento de mudança, com o antes e o depois.
  • Novo: primeiro registro daquela chave, entra como criação.

A deduplicação mora aqui: a mesma publicação capturada por dois caminhos diferentes não pode virar dois eventos.

Saída desta etapa: dado normalizado e comparado com a coleta anterior.


Etapa 03. Entrega: onde o dado aparece

A entrega é o único momento em que o serviço encosta no sistema do cliente, e por isso é a etapa com mais requisitos não funcionais.

Um lote de entrega carrega, no mínimo, identificação da coleta, fonte, contagem de registros, contagem de alterações e o instante da atualização. Sem esses campos, o destino não consegue distinguir "coleta vazia" de "coleta que não rodou", e essa é uma diferença crítica.

Cada rota de entrega tem o próprio retorno confirmado: o webhook do ERP responde, a API do CRM responde, o data warehouse confirma a gravação. Entrega sem confirmação é entrega que você acha que fez.

Saída desta etapa: registro disponível dentro do seu sistema, com histórico.


O Ciclo Não Termina na Entrega

A parte que o desenho linear esconde: a esteira reinicia. A coleta de hoje é a base de comparação de amanhã.

Isso tem uma consequência de arquitetura. O histórico não é um extra de auditoria: ele é insumo do próprio processo. Sem a coleta anterior guardada e normalizada, não existe "mudou", e o monitoramento vira uma sequência de fotos desconexas.

Um ciclo típico de uma esteira diária tem esta cara: início às 06:00, coleta e normalização em andamento às 06:04, entrega concluída às 06:07, com contagem de registros processados, número de alterações detectadas e duração total. Próximo ciclo, amanhã às 06:00.


Os Quatro Modos de Falha Que Precisam Estar Previstos

Fonte fora do ar. Precisa de retentativa com espaçamento crescente e um limite claro. Depois do limite, alerta, não silêncio.
Captcha ou bloqueio. Volta para a fila. Nunca vira resultado vazio.
Mudança de layout. A extração para de encontrar o campo. Isso tem que gerar falha explícita, e não campo em branco. Campo em branco por mudança de layout é o pior bug possível: ele se parece com um dado legítimo.
Entrega recusada pelo destino. O lote fica pendente e é reentregue. O dado coletado não pode se perder porque o ERP do cliente estava em manutenção.

O Que Pedir Para Ver Antes de Assinar

O contrato de escopo preenchido para a sua fonte, com campos obrigatórios marcados.
Um exemplo de payload de entrega, com os campos de metadados do lote.
A política de reprocessamento: quantas tentativas, em quanto tempo, e o que acontece depois da última.
O log de auditoria de uma entrega real, para ver o nível de rastreabilidade.

Antes de subir o primeiro robô

A esteira só é simples de operar quando o escopo foi bem feito. A maior parte do retrabalho em projeto de coleta nasce de campo mal definido, não de dificuldade técnica.

Se quiser ver a esteira aplicada à sua fonte, o ponto de partida é o contrato de coleta: fonte, campos, frequência e destino.


"Sem a coleta anterior guardada, não existe 'mudou'. E sem 'mudou', não existe monitoramento."
Assuntos
RPAPipelineNormalizaçãoDeduplicaçãoMonitoramentoWebhookAuditoriaDiarioOficial
Tem um caso parecido?

A gente coleta o dado na fonte e entrega dentro do seu sistema

Fale direto com quem constrói o robô. A conversa começa pela fonte, pelo volume e pelo destino do dado, não por proposta.