Integrar Odoo com um legado exige decidir onde cada entidade nasce e como conflitos serão resolvidos. Copiar todas as tabelas nos dois sentidos cria um sistema distribuído difícil de operar.
Odoo 19 introduziu a API externa JSON-2. Versões anteriores usam XML-RPC/JSON-RPC, que a documentação já agenda para remoção futura. A versão instalada e o plano contratado mudam a arquitetura possível.
Escolha do mecanismo
Na API JSON-2, chamadas usam /json/2/model/method com API key Bearer, e os modelos/campos disponíveis aparecem na documentação dinâmica /doc da própria base. Acesso externo está disponível nos planos Custom, não nos planos One App Free ou Standard.
Odoo Studio também recebe e envia webhooks para fluxos orientados a evento. Importação CSV atende migração e lotes; um módulo customizado é melhor quando várias operações precisam ocorrer numa única transação de negócio.
Contrato e autoridade
Clientes podem nascer no legado e produtos no Odoo, enquanto pedidos seguem numa direção. Cada entidade tem chave externa, dono, campos sincronizados e política para atualização concorrente.
O adaptador traduz códigos e unidades sem expor detalhes internos. Uma tabela de de/para registra IDs dos dois sistemas e estado de sincronização.
Transações no Odoo
A documentação alerta que chamadas JSON-2 separadas não formam uma única transação. Criar cabeçalho e executar múltiplos efeitos em chamadas independentes pode deixar estado parcial.
Quando o processo exige atomicidade, criamos um método em módulo dedicado que valida e executa a operação. Métodos de negócio, como action_confirm em sale.order, devem ser usados para preservar validações em vez de apenas alterar status.
Eventos, fila e reconciliação
Webhooks entram em fila com idempotência e log de payload. A URL é segredo, deve ser rotacionável e testada primeiro em uma cópia da base, como recomenda a documentação.
Uma rotina periódica compara chaves e datas para encontrar eventos perdidos. O painel mostra atrasos, conflitos e registros órfãos sem esconder divergência.
Diagnóstico
Precisamos da versão, hospedagem, plano, módulos, customizações, modelo do legado e frequência. A documentação dinâmica da base revela campos e métodos realmente disponíveis.
O piloto cobre uma entidade mestre e um movimento, com ambiente de teste e reconciliação. Depois, outros fluxos reutilizam autenticação, correlação e monitoramento.