Integrar um portal ou aplicativo ao ERP costuma começar simples e ficar frágil. Quase sempre os problemas vêm de poucas decisões de arquitetura tomadas no início. Três delas fazem a maior diferença.
1. Quem chama quem
Abrir o ERP para a internet, para que o portal o chame direto, traz risco de segurança e exige VPN, liberação de porta e manutenção constante. O desenho mais simples é inverter: o ERP chama o portal. O ERP envia cargas de produtos, preços, clientes e títulos, e busca os pedidos novos. Nada precisa ficar exposto do lado do ERP, e o agendamento pode usar o próprio agendador do ERP.
2. Envio repetível, sem duplicar
Redes falham, jobs são reexecutados e alguém clica duas vezes. Se reenviar a mesma carga cria registro duplicado, toda falha vira trabalho manual. Por isso as cargas devem ser idempotentes: enviar de novo atualiza o que já existe, em vez de criar outro. A mesma regra vale para o pedido que volta ao ERP: precisa ter uma chave que impeça gravar duas vezes.
3. Falha técnica não é falha de negócio
Quando o pedido não entra, a causa pode ser de dois tipos bem diferentes:
- Erro técnico (ERP fora do ar, timeout): a integração deve tentar de novo sozinha, sem incomodar ninguém.
- Erro de negócio (produto bloqueado, cliente sem crédito, campo obrigatório): o pedido deve voltar ao vendedor com o motivo claro, para ele corrigir.
Misturar os dois gera pedidos que ficam "presos" sem que ninguém saiba por quê.
Bônus: eventos que não se perdem
Quando o ERP precisa ser avisado de um evento (por exemplo, uma entrega concluída), use webhooks assinados e reenvio automático com intervalos crescentes. Assim, uma indisponibilidade de alguns minutos não faz o seu sistema perder o evento.
Um contrato documentado
Por fim, o que une tudo é um contrato claro. Uma API documentada (OpenAPI/Swagger) permite que a sua equipe de TI e parceiros entendam, testem e integrem sem depender de quem construiu o portal.
É assim que o OrderPro e o Routkey se conectam ao ERP. Se quiser conversar sobre a integração do seu ambiente, fale com a gente.