DE · AT · CHRatgeber

Odoo-API: JSON-2, XML-RPC und Webhooks im Überblick

Aktualisiert:

Gilt für: Odoo 20.0 Enterprise (Online, Odoo.sh, On-Premise); JSON-2 laut Dokumentation nur im Tarif Custom; Webhooks über Studio nur Enterprise

Kurz gesagt

Für neue Anbindungen bietet Odoo seit 19.0 die JSON-2-API (/json/2) mit API-Schlüssel; laut Dokumentation 20.0 gibt es den Zugriff nur im Tarif Custom, nicht in One App Free und Standard. XML-RPC und JSON-RPC sind abgekündigt: Der db-Dienst entfiel in Odoo 20, common und object sollen in Odoo 22 (Herbst 2028) folgen.

Das Wichtigste

  • JSON-2 gibt es seit Odoo 19.0; laut Dokumentation (20.0) ist der Zugriff nur in den Odoo-Tarifen „Custom“ verfügbar, nicht in „One App Free“ und „Standard“.
  • XML-RPC (/xmlrpc, /xmlrpc/2) und JSON-RPC (/jsonrpc) sind abgekündigt; der db-Dienst wurde in Odoo 20 (Herbst 2026) und Odoo Online 19.1 entfernt.
  • Die Dienste common und object sind zur Entfernung in Odoo 22 (Herbst 2028) und Online 21.1 (Winter 2027) vorgesehen; das ist die Planung der Dokumentation.
  • API-Schlüssel gelten höchstens drei Monate, und jeder JSON-2-Aufruf läuft in einer eigenen Transaktion.
  • Webhooks in der Dokumentation werden mit Odoo Studio eingerichtet; Studio ist laut Editionsseite nur in Enterprise enthalten.

Odoo lässt sich von außen auf drei Wegen ansprechen: Ihr Programm ruft Odoo auf (API), Odoo meldet ein Ereignis nach außen (ausgehender Webhook) oder ein fremdes System löst in Odoo etwas aus (eingehender Webhook). Die erste Gruppe wechselt gerade ihre Technik; dieser Artikel ordnet die Optionen für Odoo 20.0 (laut Odoos Support-Übersicht im September 2026 erschienen) und nennt die Termine, die die Dokumentation für die Abschaltung angibt.

Welche Schnittstellen gibt es?

Schnittstelle Zweck Stand nach Dokumentation 20.0
JSON-2-API (/json/2/<Modell>/<Methode>) Daten lesen und schreiben, Modellmethoden aufrufen neu seit Odoo 19.0; Ersatz für die RPC-Dienste
XML-RPC (/xmlrpc, /xmlrpc/2) und JSON-RPC (/jsonrpc) Dienste common und object (db entfernt) abgekündigt; Abschaltung gestaffelt (siehe unten)
Eingehender Webhook (Trigger „On webhook“) ein externes System löst per POST eine Aktion in Odoo aus Einrichtung mit Studio
Ausgehende Webhook-Aktion „Send Webhook Notification“ Odoo sendet bei einer Automatisierungsregel Felder per POST an eine URL Einrichtung als Aktion einer Automatisierungsregel

Andere Controller mit type='jsonrpc' (bis Odoo 18 type='json') fallen nicht unter die Abkündigung.

Wie arbeitet die JSON-2-API?

Sie senden einen POST an /json/2/<Modell>/<Methode> mit einem JSON-Objekt für ids (leer bei @api.model-Methoden), context und die benannten Parameter der Methode. Positionsparameter gibt es nicht. Die Anmeldung läuft über den Header Authorization: bearer <API-Schlüssel>; der Header X-Odoo-Database ist nötig, wenn ein Server mehrere Datenbanken hostet und kein Datenbankfilter über den Host eingestellt ist.

  • Schlüssel: Sie erzeugen ihn im Profil unter Meine Präferenzen ‣ „Account Security“ ‣ „New API Key“ (deutsch „Neuer API-Schlüssel“); er braucht Beschreibung und Laufzeit, höchstens drei Monate, und wird nur einmal angezeigt.
  • Rechte: Alle Aufrufe prüfen Zugriffsrechte, Datensatzregeln und Feldzugriffe des Benutzers. Für automatische Integrationen empfiehlt die Dokumentation einen eigenen Bot-Benutzer mit minimalen Rechten.
  • Transaktionen: Jeder Aufruf läuft in einer eigenen SQL-Transaktion. Mehrere zusammengehörige Operationen, zum Beispiel Reservierungen oder Zahlungen, gehören deshalb in eine einzige Methode im Modul.
  • Tarif: Die Dokumentation von Odoo 20.0 schränkt den Zugriff auf den Tarif „Custom“ ein; „One App Free“ und „Standard“ sind ausgenommen. Die Preisseite von Odoo führt Odoo Online, Odoo.sh und On-Premise als Hosting-Optionen des Tarifs Custom und die externe API als dessen Merkmal.
  • Dokumentation der Datenbank: Verfügbare Modelle, Felder und Methoden einer Datenbank sind auf deren /doc-Seite einsehbar.

Was ändert sich bei XML-RPC und JSON-RPC?

Beide Schnittstellen boten dieselben drei Dienste; unter Odoo 20.0 verbleiben common und object. Die Dokumentation nennt:

Dienst Funktion Status nach Dokumentation 20.0 Ersatz
db Datenbanken anlegen, duplizieren, sichern, wiederherstellen, löschen entfernt in Odoo 20 (Herbst 2026) und Odoo Online 19.1 teilweise HTTP-Controller unter /web/database/... (mit Master-Passwort); weitere Funktionen über JSON-2 oder /web/version
common Version und Anmeldung zur Entfernung vorgesehen in Odoo 22 (Herbst 2028) und Online 21.1 (Winter 2027) /web/version und API-Schlüssel
object execute, execute_kw für beliebige Modellmethoden zur Entfernung vorgesehen in Odoo 22 (Herbst 2028) und Online 21.1 (Winter 2027) JSON-2-API

Beim Umstieg ersetzt der API-Schlüssel die Kombination aus Benutzer-ID und Passwort, Modell und Methode stehen in der URL, alle Argumente sind benannt.

Welche Schnittstelle für welchen Fall?

Die Zuordnung ist eine redaktionelle Einschätzung auf Grundlage der Dokumentation.

Anwendungsfall Schnittstelle Bedingungen und Termine
Neue Anbindung, die Daten liest oder schreibt (Odoo 19.0 oder neuer) JSON-2 Tarif „Custom“ beachten; Schlüssel höchstens drei Monate gültig; eigener Bot-Benutzer
Bestehendes Skript mit execute_kw common und object sind in Odoo 20.0 noch vorgesehen; Umstieg auf JSON-2 planen Abschaltung von common und object vorgesehen in Odoo 22 (Herbst 2028) und Online 21.1 (Winter 2027)
Skript, das Datenbanken über db anlegt oder sichert auf /web/database/..., Befehlszeile oder pg_dump umstellen db in Odoo 20 und Odoo Online 19.1 entfernt
Fremdes System soll in Odoo bei Ereignis etwas auslösen eingehender Webhook Einrichtung mit Studio (Enterprise); Webhook-URL vertraulich behandeln; zuerst in einer Kopie der Datenbank testen
Odoo soll ein Fremdsystem benachrichtigen Aktion „Send Webhook Notification“ Aktion einer Automatisierungsregel, siehe Automatisierungsregeln
Versionsabfrage /web/version ersetzt common.version()

Webhooks im Detail

Eingehende Webhooks legen Sie in Studio unter „Webhooks“ an. Odoo erzeugt die URL; „Rotate Secret“ ändert sie. Die URL ist vertraulich, weil ihre Weitergabe unbeabsichtigten Zugriff auf die Datenbank geben kann. Mit „Log Calls“ protokollieren Sie die Aufrufe. Wer Datensätze neu anlegen will, braucht die Aktion „Execute Code“, und die Dokumentation rät, Entwickler oder Solution-Architekten einzubeziehen, weil falsch konfigurierte Webhooks die Datenbank stören können. Auch die ausgehende Aktion „Send Webhook Notification“ steht im Studio-Kapitel der Dokumentation; ob Sie sie in Ihrer Edition ohne Studio nutzen können, klären Sie vorab.

Typische Fehler

  • Neue Integration auf XML-RPC aufbauen, obwohl common und object zur Entfernung vorgesehen sind.
  • Einen API-Schlüssel ohne Rotation einsetzen. Die Dokumentation begrenzt die Laufzeit auf drei Monate und empfiehlt, den neuen Schlüssel vor dem Widerruf des alten zu hinterlegen.
  • Zusammengehörige Schritte in mehreren JSON-2-Aufrufen ausführen, sodass Zwischenstände anderer Transaktionen sichtbar werden.
  • Webhooks direkt in der Produktivdatenbank testen; die Dokumentation empfiehlt eine Kopie.

So gehen Sie vor

  1. Listen Sie Ihre Anbindungen auf: Welche nutzen /xmlrpc, /xmlrpc/2 oder /jsonrpc?
  2. Prüfen Sie Version, Hosting und Tarif: JSON-2 gibt es ab 19.0, und die Tarifeinschränkung steht in der Dokumentation.
  3. Legen Sie pro Integration einen Bot-Benutzer mit minimalen Rechten und einen API-Schlüssel an.
  4. Stellen Sie Aufrufe auf die URL-Form und benannte Argumente um.
  5. Testen Sie zuerst auf einer Kopie der Datenbank und tragen Sie die Abschaltzeitpunkte in Ihre Planung ein.

Häufige Fragen

Wann endet der Support für XML-RPC in Odoo?

Nach der Dokumentation zu Odoo 20.0 sind die Dienste common und object zur Entfernung in Odoo 22 (Herbst 2028) und Online 21.1 (Winter 2027) vorgesehen; der db-Dienst ist bereits in Odoo 20 und Odoo Online 19.1 entfallen. Das Datum von Odoo 22 nennt die Dokumentation als Planung.

Kann ich JSON-2 auf Odoo Online mit dem Standard-Tarif nutzen?

Laut Dokumentation (20.0) ist der Zugriff über die externe API nur im Tarif „Custom“ verfügbar, nicht in „One App Free“ und „Standard“. Wie das für Odoo.sh oder On-Premise gilt, klären Sie mit Ihrem Odoo-Ansprechpartner.

Brauche ich Studio für Webhooks?

Die Dokumentation beschreibt Webhooks und Automatisierungsregeln mit Studio, und Studio ist laut Editionsseite nur in Enterprise enthalten. Für andere Wege klären Sie Edition und Version mit Ihrem Odoo-Ansprechpartner.

Quellen

  1. External JSON-2 API (Odoo 20.0)Odoo S.A., Entwicklerdokumentation · abgerufen am
  2. External RPC API (Odoo 20.0)Odoo S.A., Entwicklerdokumentation · abgerufen am
  3. Automation rules (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  4. Webhooks (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  5. Odoo Pricing (Tarife One App Free, Standard, Custom; External API)Odoo S.A. · abgerufen am
  6. Compare Editions (Zeile Studio)Odoo S.A. · abgerufen am
  7. Standard and extended support (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am