Índice do artigofaltam 10 min de leitura
Na maioria das vezes, "o ERP não tem API" descreve uma pergunta que ainda não foi feita, não um sistema.
A frase chega pronta do fornecedor, geralmente por e-mail, geralmente com duas linhas. Ela encerra reunião, adia projeto e faz empresa trocar de ERP sem precisar. Este artigo faz duas coisas: separa os quatro significados possíveis dessa frase, e, para o caso em que a ausência é real, coloca preço nas cinco saídas que restam.
Resumo do artigo
- A frase "não tem API" costuma significar módulo não contratado, serviço desligado no ambiente, campo não publicado ou integração vendida à parte. Só o último caso é uma decisão comercial do fornecedor.
- Quando a API realmente não existe, sobram cinco saídas: arquivo em pasta, banco espelho, RPA, camada intermediária e plataforma de integração.
- Só uma delas tem preço público por unidade. A Microsoft cobra US$ 150 por bot ao mês pelo Power Automate Process, e US$ 215 quando a máquina é hospedada por ela.
- A escolha é de operação e de contrato, não de tecnologia: o que decide é o atraso tolerado, o volume e quem responde quando a integração para.
"Não tem API" quase nunca significa que não existe API
A frase tem quatro leituras, e elas exigem ações completamente diferentes. Três delas se resolvem dentro do ERP que a empresa já tem.
- Módulo não contratadoA API existe no produto e não está no contrato da empresa. Vira negociação comercial, não projeto técnico.
- Serviço desligado no ambienteO framework publica a interface e ninguém habilitou naquele servidor. É configuração, e costuma sair em dias.
- Campo não publicadoA API responde e o dado que você precisa não vem nela. Exige alteração do lado do fornecedor, e entra no calendário dele.
- Integração vendida à parteO fornecedor tem o componente e prefere vender o projeto de integração. É a resposta comercial disfarçada de limitação técnica.
A quinta possibilidade, a ausência real, existe e é mais rara do que parece. Ela aparece em sistema antigo, em software feito sob medida por alguém que saiu, e em produto de nicho que nunca foi pensado para conversar com nada. Esse é o caso que o resto do artigo trata.
No TOTVS Protheus, por exemplo, "ter API" já são três perguntas separadas, e a resposta muda conforme o ambiente. O mesmo raciocínio vale para praticamente qualquer ERP de mercado.
As quatro perguntas que separam "não existe" de "não está ligado"
Mande as quatro por escrito, na mesma mensagem, antes de aceitar a resposta. Exigir a resposta por escrito é o que transforma opinião em compromisso, e é o que você vai levar para a reunião de contrato depois.
- O produto publica alguma interface de integração? Peça o nome dela e o link da documentação, não um sim ou não. Documentação pública é o que permite orçar sem depender de reunião.
- Essa interface está habilitada no nosso ambiente? Serviço disponível no produto e serviço ligado no servidor da empresa são coisas diferentes, e a segunda é configuração.
- Os campos que precisamos estão expostos no recurso publicado? Liste os campos pelo nome que aparece na tela do ERP. Campo preenchido na tela não significa campo devolvido na resposta.
- O que falta é contrato ou é desenvolvimento? Se for contrato, peça a proposta. Se for desenvolvimento do fornecedor, peça o prazo e a fila. As duas respostas são aceitáveis; a ausência delas não é.
Se as quatro respostas confirmarem que não há caminho publicado, aí sim o projeto muda de forma. Começa a escolha entre cinco saídas, e cada uma cobra em um lugar diferente.
As cinco saídas não são alternativas equivalentes. Duas delas movem dado em lote e aceitam atraso. Uma repete cliques de pessoa. Uma constrói o que o ERP não publicou. E uma terceiriza a conexão inteira, cobrando por evento.
Na prática, projetos reais combinam duas: lote para o volume histórico e uma segunda saída para o que precisa ser recente.
Arquivo em pasta: a saída mais barata, e o atraso que ela cobra
Arquivo é a saída que entra em produção mais rápido e a que menos depende do fornecedor. Quase todo ERP exporta CSV, TXT posicional ou XML, nem que seja por relatório agendado, e quase todo ERP importa o mesmo formato de volta. A empresa combina uma pasta, um horário e um layout, e a integração existe sem nenhuma linha de código dentro do ERP.
O preço vem em forma de atraso. O dado é sempre o da última exportação, e a operação passa a conviver com uma janela: o pedido que entrou às 10h aparece no outro sistema no ciclo das 14h. Isso é aceitável para catálogo, folha, fechamento contábil e carga de histórico. Não é aceitável para saldo de estoque em loja virtual com venda concorrente, porque o cliente compra o que não existe.
A troca por arquivo funciona enquanto o layout for o combinado. O dia em que alguém acrescenta uma coluna no relatório do ERP, o importador do outro lado recebe um arquivo que não reconhece.
Quando a quebra não é alarmada, ela aparece semanas depois, no fechamento, como divergência de número sem causa aparente.
O segundo custo é silencioso e aparece meses depois: layout de arquivo não tem contrato. Alguém acrescenta uma coluna no relatório do ERP, o importador quebra, e ninguém descobre até o fechamento do mês. Se a saída escolhida for essa, o mínimo é versionar o layout, validar a quantidade de colunas na entrada e alarmar quando o arquivo do dia não chegar.
Banco espelho: dá para ler, e é aí que o suporte termina
A leitura direta no banco resolve consulta e relatório, e não resolve escrita. A distinção é a coisa mais importante desta seção. Ler uma cópia do banco do ERP é um caminho defensável em sistema legado sem quem o mantenha; escrever na base do ERP contorna a validação da aplicação e costuma ser vedado pelo contrato de suporte do fornecedor. No SAP Business One, por exemplo, o banco ser SQL Server não autoriza escrever nele, e a escrita suportada passa pela DI API ou pelo Service Layer.
A palavra "espelho" também é importante. Apontar relatório para o banco de produção transforma uma consulta mal escrita em lentidão para quem está faturando. O desenho que funciona é uma réplica de leitura, atualizada em intervalo combinado, com acesso somente de leitura e com as consultas rodando longe da base que a operação usa.
Prós
- Chega em todo dado que existe, inclusive o que nenhuma API publicaria
- Não depende do calendário nem do orçamento do fornecedor do ERP
- Custo de implantação baixo quando a réplica já existe para backup
Contras
- Resolve leitura e não resolve escrita, que continua dependendo da aplicação
- Quebra em silêncio a cada atualização de versão que muda a estrutura das tabelas
- Pode conflitar com a cláusula de suporte do contrato, e isso se confere antes, não depois
O que esse quadro decide: banco espelho é excelente para tirar relatório, alimentar painel e abastecer um assistente de busca interna, e é a saída errada para lançar documento.