DE · AT · CHGlossar

JSON-2 API und XML-RPC (Odoo)

Rechtsstand: · Aktualisiert:

Gilt für: Odoo 20.0; Community und Enterprise; Odoo Online, Odoo.sh, On-Premise; Tarifhinweis der Dokumentation gilt den Odoo-Tarifen, nicht selbst betriebener Community

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 Dienste common, db und object, von denen db mit 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.

Häufige Fragen

Kann ich JSON-2 mit dem Tarif Standard nutzen?

In den Odoo-Tarifen nicht: Die Dokumentation 20.0 schränkt den Zugriff über die externe API auf den Tarif Custom ein und nennt Eine App Gratis und Standard ausgenommen; 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 Angebote von Odoo S.A.; 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).

Muss ich meine XML-RPC-Skripte sofort umstellen?

Nein, aber planen Sie den Umstieg. Der Datenbankdienst db ist mit Odoo 20 (Herbst 2026) und Odoo Online 19.1 entfallen; die Dienste common und object sind laut Dokumentation 20.0 zur Entfernung in Odoo 22 (Herbst 2028) und Odoo Online 21.1 (Winter 2027) vorgesehen. Unter Odoo 20.0 laufen Aufrufe an /xmlrpc und /xmlrpc/2 über diese zwei Dienste noch.

Wo sehe ich, welche Modelle und Methoden meine Datenbank anbietet?

Auf der /doc-Seite Ihrer Datenbank; die Dokumentation 20.0 verweist dafür auf dieses Verzeichnis, weil Modelle, Felder und Methoden von den installierten Apps abhängen. Die verfügbaren Rechte kommen hinzu: Jeder Aufruf wird gegen die Zugriffsrechte, Datensatzregeln und Feldzugriffe des Benutzers geprüft, dessen API-Schlüssel Sie verwenden.

Quellen

  1. External JSON-2 API (Entwicklerdokumentation 20.0): Endpunkt /json/2, Header, Beispiel, Tarifhinweis, Abschnitte API Keys, Access Rights, Transaction und Migrating from XML-RPC / JSON-RPCOdoo S.A. · abgerufen am
  2. External RPC API (Entwicklerdokumentation 20.0): XML-RPC an /xmlrpc und /xmlrpc/2, Dienste common, db und object, AbkündigungshinweisOdoo S.A. · abgerufen am
  3. Öffentlicher Community-Quellcode, Zweig 20.0: Modul rpc, Datei addons/rpc/controllers/json2.py (Route /json/2, Authentifizierung bearer)Odoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  4. Odoo Release Notes: Übersicht mit Version 20, veröffentlicht September 2026Odoo S.A. · abgerufen am
  5. Odoo Pricing: Tarife Eine App Gratis, Standard und Custom; Merkmal Externe API im Tarif Custom; FAQ External APIOdoo S.A. · abgerufen am