Saltar para o conteúdo
Giovani Drosda Lima
Automação · Integração

Automação de cadastro entre CRM e plataforma sem API

Aplicação de terminal que procura contratos no CRM de uma mediadora imobiliária e lança os mesmos dados numa segunda plataforma, que não disponibiliza qualquer interface de integração.

O problema

A mediadora mantinha os contratos no Properfy, o CRM onde a equipa trabalha todos os dias. Os mesmos contratos tinham depois de ser lançados na Linkka, a plataforma usada para o relatório de locação. Nenhuma das duas fala com a outra.

O segundo lançamento era feito à mão. Alguém abria o contrato de um lado, copiava os campos, abria o formulário do outro lado e escrevia tudo de novo. Repetido por cada contrato de cada período, é tempo perdido numa tarefa que não exige julgamento nenhum, e onde um engano de transcrição só costuma dar sinal muito depois.

A Linkka não publica API. Não havia, portanto, a via limpa de ligar os dois sistemas por trás. O que havia era a mesma interface que a pessoa usa.

O que construí

Uma aplicação de terminal, entregue como executável único, que percorre o trajeto inteiro: procura os contratos no CRM dentro de um intervalo de datas, deixa escolher quais processar, e preenche a plataforma de destino conduzindo um browser da mesma maneira que uma pessoa o faria.

A decisão de conduzir o browser em vez de forjar pedidos ao servidor foi propositada. Faz o mesmo percurso visível que um utilizador autorizado faz, respeita as validações do formulário e não depende de detalhes internos que podem mudar sem aviso.

Como funciona

Passo 1

Verificação antes de começar

Ao arrancar, a aplicação confirma que tem tudo o que precisa: credenciais dos dois sistemas e parâmetros de ligação. Se faltar alguma coisa, encaminha para o ecrã de configurações em vez de falhar a meio de um processamento.

Ecrã de terminal com o título Integrador Properfy para Linkka e a mensagem: todas as configurações prontas, com um botão Continuar.
Validação da configuração ao arranque
Passo 2

Menu principal

Quatro caminhos, sem submenus escondidos: processar dados, ver histórico, configurações e sair. A barra inferior mostra sempre os atalhos de teclado disponíveis, incluindo a troca de tema de cores.

Menu principal da aplicação com as opções Processar Dados, Ver Histórico, Configurações e Sair.
Menu principal
Passo 3

Escolha do período

O utilizador indica a data inicial e a data final, com hora. É por aqui que se define o lote de trabalho, normalmente o dia anterior ou a semana que passou.

Ecrã de seleção de período com os campos Data Inicial e Data Final preenchidos no formato dia, mês, ano e hora.
Seleção do intervalo de datas
Passo 4

Contratos encontrados

A aplicação consulta o CRM e apresenta os contratos do período numa tabela com referência, data de divulgação, tipologia, morada e bairro. Nada é processado sem escolha explícita: cada linha tem de ser marcada.

Tabela de contratos encontrados no CRM, com colunas de seleção, referência, data de divulgação, tipologia, morada e bairro. Os valores estão tapados por tarjas.
Contratos do período, para seleção. Os dados dos clientes estão tapados nesta captura
Passo 5

Dois modos de processamento

No modo cuidadoso o browser fica visível e a aplicação pára em cada contrato à espera de confirmação. Serve para a primeira utilização do dia, para lotes invulgares, ou sempre que alguém queira ver com os próprios olhos o que está a ser escrito.

No modo normal o browser corre oculto e o lote segue sem interrupções. Em ambos os casos o registo aparece em tempo real.

Ecrã de escolha entre Modo Cuidadoso, com navegador visível e confirmação em cada contrato, e Modo Normal, com navegador oculto e processamento automático.
Escolha do modo de processamento
Passo 6

Preenchimento

A aplicação abre a plataforma de destino, autentica-se, navega até ao formulário de registo e preenche os campos a partir dos dados do CRM. No modo cuidadoso, pára aqui para revisão antes de gravar.

Janela de browser com o formulário Novo Registo Relatório de Locação da plataforma de destino, com os campos preenchidos. Todos os valores aparecem desfocados.
Formulário da plataforma de destino a ser preenchido. Valores desfocados nesta captura
Passo 7

Resumo do lote

No fim, o registo completo do que aconteceu e a contagem de sucessos e falhas. Se um contrato falhar, os restantes continuam, e a falha fica identificada em vez de se perder no meio do resto.

Registo de execução linha a linha, terminando com a mensagem processamento concluído e o resumo de um sucesso e zero falhas.
Registo em tempo real e resumo final
Passo 8

Histórico consultável

Cada execução fica guardada com data, período, modo usado e resultado por contrato. É o que permite responder mais tarde à pergunta que sempre aparece: este registo entrou quando, por que via, e correu bem?

Detalhe de um processamento no histórico, com data, modo, período e a lista de contratos processados com o estado de cada um.
Detalhe de um processamento anterior

Três decisões que fizeram diferença

O modo cuidadoso é o predefinido. Uma ferramenta que escreve em nome de alguém tem de deixar essa pessoa ver o que está a ser escrito, pelo menos até haver confiança suficiente para deixar correr sozinha.

Tudo fica registado. Data, período, modo, contrato e resultado. Sem esse rasto, qualquer divergência mais tarde vira discussão sem factos, e é a ferramenta que leva a culpa por omissão.

As credenciais vivem nas configurações, não no código. A aplicação foi entregue a uma equipa que a usa todos os dias, com contas próprias, e que precisa de as poder mudar sem me chamar.

Resultado

O que era uma tarefa manual de procurar e transcrever, contrato a contrato, passou a ser escolher um período e confirmar. A equipa deixou de gastar tempo em transcrição e passou a ter um histórico consultável de tudo o que foi lançado.

Trabalhos relacionados