JSON-2 API und XML-RPC (Odoo)
Kurz gesagt
Die externe API von Odoo lässt ein fremdes Programm Daten in einer Odoo-Datenbank lesen und schreiben. Dafür ist JSON-2 vorgesehen: ein POST an /json/2 mit Modell und Methode im Pfad und einem API-Schlüssel im Authorization-Header, dokumentiert seit Odoo 19.0. XML-RPC und JSON-RPC sind abgekündigt; der Datenbankdienst db entfiel mit Odoo 20 (Herbst 2026), die Dienste common und object sollen mit Odoo 22 (Herbst 2028) folgen. Laut Dokumentation 20.0 ist der Zugang in den Odoo-Tarifen nur bei Custom enthalten, nicht bei Eine App Gratis und Standard; über eine selbst betriebene Installation ohne Odoo-Abonnement sagt die Seite nichts.
Das Wichtigste
- JSON-2: POST an die Adresse /json/2 mit Modell und Methode im Pfad, JSON-Objekt im Rumpf, Anmeldung per API-Schlüssel als Bearer-Token.
- XML-RPC an /xmlrpc und /xmlrpc/2 sowie JSON-RPC an /jsonrpc sind abgekündigt; sie boten ursprünglich dieselben drei Dienste common, db und object.
- Abkündigung laut Dokumentation 20.0: db entfernt mit Odoo 20 (Herbst 2026) und Odoo Online 19.1; common und object zur Entfernung in Odoo 22 (Herbst 2028) und Odoo Online 21.1 (Winter 2027) vorgesehen.
- Zugriff laut Dokumentation 20.0 nur im Tarif Custom der Odoo-Angebote, nicht bei Eine App Gratis und Standard; für eine selbst betriebene Community-Installation ohne Abonnement nennt sie keine Tarifregel (Stand 14. Oktober 2026).
- API-Schlüssel werden nur einmal angezeigt; die Dokumentation 20.0 nennt drei Monate als Obergrenze der Laufzeit, und jede JSON-2-Anfrage läuft in einer eigenen Transaktion.
JSON-2 API ist die Schnittstelle, über die Odoo seit Version 19.0 seine Datenbanken zusätzlich über HTTP zugänglich macht: Ein Programm sendet ein JSON-Objekt per POST an /json/2/<Modell>/<Methode> und weist sich mit einem API-Schlüssel im Header Authorization: bearer aus. XML-RPC ist eine ältere Schnittstelle desselben Zwecks an den Endpunkten /xmlrpc und /xmlrpc/2; XML-RPC und JSON-RPC boten dieselben drei Dienste common, db und object, und der Datenbankdienst db ist mit Odoo 20 entfallen.
Wofür die Schnittstellen gebraucht werden
Angebunden wird von außen: ein Shopsystem schreibt Aufträge nach Odoo, ein Auswertungswerkzeug liest Buchungen. Modell und Methode stehen in der URL, im Rumpf die Datensatz-IDs (leer bei Methoden ohne Datensatzbezug) und die benannten Parameter. Ein POST an /json/2/res.partner/search_read mit domain und fields gibt die gefundenen Kontakte als JSON-Liste zurück. Welche Modelle, Felder und Methoden eine Datenbank anbietet, zeigt laut Dokumentation 20.0 ihre /doc-Seite.
Abkündigung von XML-RPC und JSON-RPC
Die Dokumentation 20.0 führt XML-RPC und JSON-RPC an /xmlrpc, /xmlrpc/2 und /jsonrpc als abgekündigt (deprecated) und nennt JSON-2 als Ersatz. Beide RPC-Schnittstellen boten ursprünglich dieselben drei Dienste common, db und object; der Datenbankdienst db ist mit Odoo 20 (Herbst 2026) und Odoo Online 19.1 entfallen, die Dienste common und object sollen mit Odoo 22 (Herbst 2028) und Odoo Online 21.1 (Winter 2027) entfallen. Diese Termine sind Planungsangaben der Dokumentation; Controller mit type='jsonrpc' sind ausgenommen. Eine neue Anbindung bauen Sie daher auf JSON-2; ein bestehendes execute_kw-Skript läuft unter 20.0 weiter, solange common und object vorhanden sind.
Voraussetzungen und Schlüssel
Der Zugriff über die externe API ist laut Dokumentation 20.0 in den Odoo-Tarifen nur bei Custom enthalten, nicht bei Eine App Gratis und Standard; die Preisseite führt Externe API als Merkmal des Tarifs Custom mit Odoo Online, Odoo.sh und On-Premise als dessen Hostingwegen (Stand 14. Oktober 2026). Diese Angabe betrifft die Odoo-Tarife; für eine selbst betriebene Installation ohne Odoo-Abonnement nennt die Dokumentation keine Tarifregel, und im öffentlichen Community-Quellcode der Version 20.0 ist der JSON-2-Endpunkt enthalten (Modul rpc, Authentifizierung bearer).
Der API-Schlüssel entsteht im Benutzerprofil, braucht eine Bezeichnung und eine Laufzeit und wird nur einmal angezeigt; die Dokumentation 20.0 gibt drei Monate als Obergrenze an. Jeder Aufruf prüft die Rechte des Benutzers; für dauerhafte Anbindungen empfiehlt die Dokumentation einen Bot-Benutzer mit wenigen Rechten.
Nicht zu verwechseln mit
- JSON-RPC (
/jsonrpc): die zweite abgekündigte RPC-Schnittstelle; beide boten dieselben drei Dienstecommon,dbundobject, von denendbmit Odoo 20 entfallen ist. - Webhook: Dort ruft Odoo ein fremdes System auf; nur den Anruf von außen rechnet die Preisseite zur externen API. Einordnung: Odoo-API im Überblick.
- API-Schlüssel: Er ist die Anmeldung an der Schnittstelle, nicht die Schnittstelle selbst; Anlage und Rechte: API-Schlüssel und Zugriff für Schnittstellen.