DEVyond logo

API de Odoo: cómo conectar Odoo con tu web, CRM o tienda

Odoo se puede conectar con tu web, tu CRM o tu tienda a través de su API externa. Te explicamos cómo funciona, qué cambia en Odoo 19 y qué conviene planificar.

Qué es

Qué es la API de Odoo y qué permite hacer

La API de Odoo es la forma de que otras aplicaciones lean y escriban datos en Odoo de manera automática: crear clientes, consultar pedidos, registrar facturas, actualizar el stock o leer proyectos sin entrar en la interfaz. Con ella puedes conectar Odoo con tu web, tu tienda online, tu CRM o una aplicación a medida.

Odoo es un ERP modular muy extendido entre pymes: tiene aplicaciones de ventas, CRM, contabilidad, inventario, proyectos, compras o recursos humanos que se activan según lo que necesita cada empresa. Todas comparten la misma base de datos, y la API da acceso a esos mismos datos.

Una particularidad que conviene conocer: históricamente la API de Odoo no ha sido una API REST clásica, de las que tienen una URL por recurso. Funciona como una llamada remota a los modelos internos de Odoo: le dices qué modelo quieres (por ejemplo, contactos o pedidos de venta), qué operación (buscar, leer, crear, modificar) y con qué datos. Es muy potente, porque llega a casi todo, pero requiere conocer cómo está organizado Odoo por dentro.

Lo que se suele integrar

Las integraciones más habituales conectan Odoo con:

La web o la tienda online, para que pedidos, clientes y stock viajen entre ambos sin copiarlos.

El CRM, cuando el equipo comercial trabaja en otra herramienta y la venta cerrada tiene que llegar a Odoo para facturarse.

Aplicaciones a medida o portales de clientes, que muestran información de Odoo (pedidos, facturas, proyectos) a clientes o a equipos que no usan Odoo directamente.

Cuadros de mando, que combinan los datos de Odoo con los de otras herramientas.

Odoo Community y Enterprise

Odoo tiene una edición Community, de código abierto, y una edición Enterprise, de pago, que se ofrece en la nube de Odoo, en Odoo.sh o instalada en tus servidores. La API externa está disponible en ambas, aunque en algunos planes en la nube conviene comprobar las condiciones de acceso. Si tu Odoo tiene módulos personalizados, también podrás acceder a sus datos a través de la API.

Cómo funciona

XML-RPC, JSON-RPC y la nueva API JSON-2

Durante años, la API externa de Odoo ha funcionado con dos protocolos: XML-RPC y JSON-RPC. Ambos hacen lo mismo con distinto formato: te autenticas con un usuario y su contraseña o una clave de API, y llamas a los métodos de los modelos de Odoo.

Odoo 19 introdujo una nueva API llamada JSON-2. En lugar de un único punto de entrada genérico, cada llamada va a una dirección con el modelo y el método, se autentica con una clave de API en la cabecera y devuelve los resultados en JSON con códigos de error HTTP normales. Es más sencilla de usar desde cualquier lenguaje y más parecida a lo que esperan los desarrolladores acostumbrados a otras APIs. Está disponible también en la edición Community.

Qué significa para tus integraciones

A partir de Odoo 19, los antiguos puntos de entrada XML-RPC y JSON-RPC siguen funcionando pero están marcados como obsoletos, y Odoo ha anunciado su retirada en una versión futura. Según la información publicada, la eliminación está prevista para Odoo 22, hacia finales de 2028.

En la práctica: si vas a desarrollar una integración nueva sobre Odoo 19 o posterior, conviene hacerla ya con JSON-2. Si tienes integraciones antiguas, siguen funcionando, pero es buena idea planificar su migración antes de actualizar Odoo a las versiones que eliminen los protocolos antiguos.

Si tu empresa usa una versión anterior de Odoo, la integración tendrá que usar XML-RPC o JSON-RPC, y conviene diseñarla de forma que cambiar de protocolo más adelante no obligue a rehacerlo todo.

Autenticación y seguridad

Lo recomendable es crear un usuario específico para cada integración, con solo los permisos que necesita, y usar claves de API en lugar de la contraseña de una persona. Así puedes revocar el acceso de una integración sin afectar a nadie y saber qué cambios ha hecho cada una.

Planificar

Cómo planificar una integración con Odoo

La parte técnica es solo una parte. Lo que hace que una integración con Odoo funcione bien durante años es lo que se decide antes de programar:

Qué sistema manda en cada dato. Si un cliente se da de alta en la web y en Odoo, ¿cuál es el bueno? Definirlo evita duplicados y conflictos.

Qué se sincroniza y con qué frecuencia. Un pedido nuevo puede necesitar llegar al momento; un informe puede actualizarse una vez al día.

Cómo se gestionan los errores. Qué pasa si Odoo no responde, si falta un dato obligatorio o si un producto no existe. Una integración profesional reintenta, avisa y deja registro.

Los módulos personalizados

Muchas implantaciones de Odoo tienen campos o módulos a medida. La API llega también a ellos, pero hay que conocerlos: el partner que implantó Odoo o la documentación interna son la mejor fuente para saber dónde está cada dato.

Por eso, en una integración con Odoo trabajamos de la mano de quien gestiona el ERP: nosotros nos encargamos de la conexión y de la aplicación, y el partner sigue siendo responsable de la configuración de Odoo.

Conector ya hecho o desarrollo a medida

Para casos sencillos existen conectores y módulos ya hechos en la tienda de aplicaciones de Odoo y en plataformas de automatización. Cuando hay reglas propias, varias herramientas o procesos críticos, compensa una integración a medida con control total y registro de errores.

Cómo lo hacemos

Cómo conectamos Odoo en Devyond

En nuestro servicio de integración de ERP y sistemas conectamos Odoo con webs, tiendas, CRM y aplicaciones a medida con código propio. Empezamos con un mapa de datos y de sistemas, diseñamos qué se sincroniza y en qué dirección, y elegimos la frecuencia: en tiempo real cuando el proceso lo pide, o por lotes cuando basta con actualizar cada hora o cada día.

Dejamos un panel donde se ve cada sincronización, su estado y sus errores, para que tu equipo sepa qué ha pasado sin tener que preguntarnos.

Un caso típico

Una empresa usa Odoo para facturación y proyectos, un CRM para ventas y una aplicación propia para sus clientes. Cada herramienta tiene una parte de la información y nadie ve el conjunto.

La solución no es cambiar de herramientas, sino conectarlas: la aplicación a medida lee de Odoo los proyectos y la facturación, del CRM las oportunidades, y lo presenta todo en un mismo sitio. Cada sistema sigue haciendo lo que hace bien.

Próximo paso

Si quieres conectar Odoo con tu web, tu CRM o tu aplicación, cuéntanos qué versión usas, qué módulos tienes activos y qué información necesitas mover. Con eso podemos decirte cómo plantearlo.

Conclusión

Qué hacer ahora

La API de Odoo permite leer y escribir casi cualquier dato del ERP, incluidos los módulos personalizados. Con Odoo 19 llega la API JSON-2, más sencilla de usar, y los protocolos XML-RPC y JSON-RPC quedan como obsoletos.

Lo que hace que una integración funcione durante años es decidir antes qué sistema manda en cada dato, qué se sincroniza y cómo se gestionan los errores.

Siguiente paso

No implantamos Odoo: en Devyond lo conectamos con tu web, tu CRM, tu tienda o tu aplicación, con un mapa de datos y un panel donde ver cada sincronización y sus errores.

¿Hablamos?

Te ayudamos a conectar Odoo con el resto de tus herramientas para que la información deje de copiarse a mano.

Foto de Javier García

Escrito por Javier García,

LinkedIn icon
FAQ

Preguntas frecuentes sobre la API de Odoo

Resolvemos las dudas más habituales sobre nuestro proceso y forma de trabajo.

Históricamente no en sentido estricto: su API externa funcionaba con XML-RPC y JSON-RPC. Desde Odoo 19 existe la API JSON-2, que se usa de forma mucho más parecida a una API REST, con una dirección por modelo y método y autenticación con clave de API.

Sí. La API externa está disponible en Community y en Enterprise, y la nueva API JSON-2 también se incluye en la edición Community de Odoo 19.

En Odoo 19 siguen funcionando, pero están marcadas como obsoletas y Odoo ha anunciado su retirada en una versión futura. Conviene planificar la migración a JSON-2.

Prácticamente cualquier dato de Odoo al que tenga permiso el usuario de la integración: contactos, pedidos, facturas, productos, stock, proyectos u oportunidades, incluidos los campos personalizados.

Sí. Se puede reaccionar a cambios en cuanto ocurren o hacer cargas periódicas por lotes; la elección depende del proceso y del volumen de datos.

No siempre, pero ayuda mucho cuando hay módulos personalizados: conoce dónde está cada dato y cómo está configurado el ERP.

Otros artículos de interés