Odoos masterdokumentation säger att den äldre RPC-tjänsten för databasen tas bort i Odoo 20. De bredare XML-RPC- och JSON-RPC-API:erna har varit föråldrade sedan version 19.0, men Odoo 20 tar inte bort alla äldre tjänster. Odoo dokumenterar att tjänsterna common och object förblir tillgängliga till Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integrationsteam behöver därför identifiera vilken tjänst som används av varje extern anslutning, i stället för att betrakta stöd för äldre RPC som en enda funktion med ett borttagningsdatum.
Odoos sida för Americas-evenemanget uppgav att Odoo 20 skulle släppas under evenemanget i San Francisco den 2 och 3 september 2026. (Oxp26 Americas Introduction) Uppgraderingsplaneringen kan nu ta hänsyn till den dokumenterade borttagningen av datatjänsten, men beslut i produktion bör kontrolleras mot den slutliga dokumentationen för Odoo 20.
Borttagningen gäller en specifik tjänst
Odoo anger `/xmlrpc`, `/xmlrpc/2` och `/jsonrpc` som äldre slutpunkter som är föråldrade sedan version 19.0. Inom dessa API:er tas datatjänsten bort i Odoo 20, medan tjänsterna common och object är planerade att finnas kvar till Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) En integration som använder en bevarad tjänst kan fortsätta fungera efter en uppgradering till Odoo 20, men slutpunkten i sig visar inte att kompatibilitet finns.
Ett system kan använda olika tjänster via det äldre RPC-gränssnittet. En integrationsgranskning bör därför dokumentera både slutpunkten och vilken tjänst som anropas. Att beskriva en applikation endast som en XML-RPC- eller JSON-RPC-integration visar inte om den är beroende av en operation som har tagits bort i Odoo 20. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Den fortsatta tillgängligheten för tjänsterna common och object är tillfällig. Odoo planerar att ta bort båda i Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Team kan dela upp brådskande arbete med anrop till datatjänsten från migreringen av bevarade tjänster, men båda kräver en plan.
JSON-2 ändrar anropskontraktet
Odoo dokumenterar JSON-2 som ersättnings-API:t. Dess slutpunktsformat är `/json/2/<model>/<method>`, där model och method ingår i URL:en. (Odoo master Docs: Reference External API) Migrering innebär därför mer än att bara byta basväg i en befintlig RPC-klient. Varje operation måste mappas till rätt route för model och method.
JSON-2 kräver namngivna argument i en JSON-begäransbody i stället för positionsbaserade RPC-argument. (Odoo master Docs: Reference External API) Befintliga wrappers, mellanlager och genererade klienter kan anta att argumentordningen avgör betydelsen. De komponenterna behöver granskas var för sig. Att omdirigera en äldre begäran till den nya slutpunkten fungerar inte om klienten fortsätter att konstruera positionsparametrar.
För varje migrerad operation bör team dokumentera målmodell, metod och de namngivna argument som krävs av JSON-2. (Odoo master Docs: Reference External API) Begäranden bör sedan testas i den relevanta Odoo 20-miljön, särskilt när ett delat integrationsbibliotek bygger anrop för flera applikationer. Statisk jämförelse av nyttolaster kan inte bekräfta hur servern eller klienten hanterar hela begäran.
Autentisering måste också ändras
JSON-2 använder bearer-autentisering med API-nyckel. (Odoo master Docs: Reference External API) Migreringsarbetet bör omfatta nyckelskapande, säker lagring, hantering av auktoriseringshuvuden och byte av nycklar. Proxys, gateways och klientbibliotek bör kontrolleras för att säkerställa att de bevarar huvudet vid vidarebefordran av förfrågningar. Loggning, övervakning och felhantering bör också granskas så att inloggningsuppgifter inte exponeras.
Dokumentationen fastställer autentiseringsmetoden, men varje organisation måste avgöra hur API-nycklar passar in i dess kontroll av inloggningsuppgifter. (Odoo master Docs: Reference External API) Det omfattar att tilldela ansvar för nycklar, styra var de kan användas och definiera hur berörda integrationer ska uppdateras när en nyckel byts ut.
Binära fält har en separat kompatibilitetsändring
Odoos ORM-ändringslogg registrerar ytterligare en RPC-ändring i Odoo 20: representationen av binära fält lägger till `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) Detta är separat från borttagningen av database-service eftersom det ändrar returnerade data snarare än tjänstens tillgänglighet. Program som läser, transformerar eller validerar svar som innehåller binära fält bör ingå i kompatibilitetstestningen.
Ändringsloggen bekräftar att medlemmen `filename` läggs till, men dess praktiska effekt beror på klienten. (Odoo master Docs: Orm Changelog) Tester bör kontrollera om strikta scheman, serialiserare, jämförelser av svar och nedströms transformationer accepterar den extra medlemmen. Klienter som ignorerar okända fält kanske inte behöver någon justering, men det beteendet bör verifieras i stället för att antas.
Hur integrationsgranskningen ska avgränsas
Börja med att identifiera anslutningar som använder `/xmlrpc`, `/xmlrpc/2` eller `/jsonrpc`, vilka Odoo markerar som utfasade slutpunkter. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Inventeringen bör omfatta internt utvecklade applikationer, middleware, schemalagda processer och tredjepartskopplingar där konfiguration eller källkod finns tillgänglig. Tilldela en ansvarig för varje anslutning så att dess syfte och status kan verifieras.
Klassificera sedan varje anslutning efter äldre tjänst. Användning av database-service kräver åtgärder för Odoo 20, medan användning av common- och object-service fortfarande är dokumenterad som tillgänglig fram till Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Detta stödjer en stegvis plan: åtgärda inkompatibiliteten i Odoo 20 först, och sätt sedan migreringsdatum för de återstående utfasade anropen.
För integrationer som flyttas till JSON-2, dokumentera routen `/json/2/<model>/<method>`, namngivna begärandeargument och bearer API-nyckelautentisering som krävs av ersättningsgränssnittet. (Odoo master Docs: Reference External API) Testfall bör täcka lyckade begäranden, avvisad autentisering, ogiltiga namngivna argument och applikationens hantering av returnerade data. Lägg till fall för binära fält där sådana fält förekommer.
Bekräfta det slutliga beteendet i Odoo 20
Borttagningsdetaljerna bygger på Odoos utvecklardokumentation för master, medan den tillkännagivna releasetidpunkten kommer från en eventsida som anger att Odoo 20 skulle släppas under Americas-evenemanget i september 2026. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Innan driftsättning bör teamen kontrollera dokumentationen för den släppta versionen av Odoo 20 och den exakta utgåvan och byggnaden de avser att använda.
Att använda en utfasad RPC-slutpunkt bevisar inte i sig att en integration slutar fungera i Odoo 20, eftersom common- och object-services fortfarande är dokumenterade som tillgängliga fram till Odoo 22. Omvänt innebär en lyckad körning i en tidigare version inte att en database-service-anrop fortfarande är kompatibelt efter att det har tagits bort. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Checklista för uppgraderingsbeslut
Innan en uppgradering till Odoo 20 godkänns bör beslutsfattare begära ett integrationsregister som visar varje utfasad slutpunkt, den tjänst som anropas, dess ansvariga och planerade åtgärd. Beroenden till database-service bör ha en testad ersättning. Integrationer som fortfarande använder common- eller object-services bör ha ett separat migreringsdatum som återspeglar deras dokumenterade borttagning i Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Granskningen bör bekräfta att JSON-2-implementationer placerar modellen och metoden i URL:en, använder namngivna JSON-argument och autentiserar med en bearer API-nyckel. När binära fält finns, bör testningen ta hänsyn till tillägget av `BinaryValue.filename`. (Odoo master Docs: Reference External API; Odoo master Docs: Orm Changelog) Dessa kontroller särskiljer den omedelbara borttagningen av Odoo 20:s databasstjänst från det senare avvecklandet av de återstående äldre tjänsterna.
