Saltar al contenido
NUEVOGuía práctica con 5 agentes Python para Odoo, verificada contra Odoo 20 →
Focuz/academy

python

Migra de XML-RPC a JSON-2 antes de Odoo 22

La documentación oficial de Odoo programa la eliminación de XML-RPC y JSON-RPC para Odoo 22. Así se ve la misma llamada con la API JSON-2.

Focuz Academy · 6 de octubre de 2026 · 7 min

La documentación de la API externa de Odoo 19 presenta JSON-2 como la nueva API y programa la eliminación de los endpoints /xmlrpc, /xmlrpc/2 y /jsonrpc para Odoo 22 (otoño de 2028).

Antes: XML-RPC

import xmlrpc.client
models = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/object")
leads = models.execute_kw(db, uid, password, "crm.lead", "search_read",
                          [[["type", "=", "opportunity"]]], {"fields": ["name"], "limit": 5})

Después: JSON-2

import httpx
r = httpx.post(f"{url}/json/2/crm.lead/search_read",
               headers={"Authorization": f"bearer {api_key}", "X-Odoo-Database": db},
               json={"domain": [["type", "=", "opportunity"]], "fields": ["name"], "limit": 5})
r.raise_for_status()
leads = r.json()

Lo que cambia

  • Autenticación con API key en la cabecera, sin uid ni contraseña.
  • Argumentos con nombre: JSON-2 no acepta argumentos posicionales.
  • Una transacción por llamada: usa métodos compuestos como search_read en lugar de encadenar.
  • Errores HTTP reales (4xx/5xx) con un JSON que describe el problema.
  • Según la documentación, el acceso a la API externa no está disponible en los planes One App Free ni Standard de Odoo Online.

Código probado por Focuz contra Odoo 20.

Guía gratuita: 5 agentes Python para Odoo

Casos de Junior a Senior, con código verificado contra Odoo 20.

Descargar →

Sigue leyendo