Odoos masterdokumentation angiver, at den ældre RPC-databasetjeneste fjernes i Odoo 20. De bredere XML-RPC- og JSON-RPC-API'er har været udfaset siden version 19.0, men Odoo 20 fjerner ikke alle ældre tjenester. Odoo dokumenterer common- og object-tjenesterne som fortsat tilgængelige indtil Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integrationsteams skal derfor identificere den tjeneste, som hver ekstern forbindelse bruger, i stedet for at behandle understøttelse af ældre RPC som en enkelt funktion med én dato for fjernelse.
Odoos side for Americas-eventen sagde, at Odoo 20 ville blive udgivet under deres San Francisco-event den 2. og 3. september 2026. (Oxp26 Americas Introduction) Opgraderingsplanlægning kan allerede nu tage højde for den dokumenterede fjernelse af databasetjenesten, men produktionsbeslutninger bør kontrolleres mod den endelige dokumentation for Odoo 20.
Fjernelsen gælder en specifik tjeneste
Odoo angiver `/xmlrpc`, `/xmlrpc/2` og `/jsonrpc` som ældre endpoints, der er udfaset fra version 19.0. Inden for disse API'er fjernes databasetjenesten i Odoo 20, mens common- og object-tjenesterne er planlagt til at forblive indtil Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) En integration, der bruger en bevaret tjeneste, kan fortsætte med at fungere efter en opgradering til Odoo 20, men endpointet alene fastslår ikke kompatibilitet.
Et system kan bruge forskellige tjenester gennem den ældre RPC-grænseflade. En integrationsgennemgang bør derfor registrere både endpointet og den kaldte tjeneste. At beskrive en applikation kun som en XML-RPC- eller JSON-RPC-integration viser ikke, om den afhænger af en operation, der er fjernet i Odoo 20. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Den fortsatte tilgængelighed af common- og object-tjenesterne er midlertidig. Odoo planlægger at fjerne begge i Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Teams kan adskille det presserende arbejde med kald til databasetjenesten fra migreringen af bevarede tjenester, men begge kræver en plan.
JSON-2 ændrer anmodningskontrakten
Odoo dokumenterer JSON-2 som erstatnings-API'et. Dets endpointformat er `/json/2/<model>/<method>`, hvor model og method er inkluderet i URL'en. (Odoo master Docs: Reference External API) Migrering indebærer derfor mere end at erstatte base path i en eksisterende RPC-klient. Hver operation skal mappes til den relevante model- og method-route.
JSON-2 kræver navngivne argumenter i en JSON-anmodningsbody i stedet for positionelle RPC-argumenter. (Odoo master Docs: Reference External API) Eksisterende wrappers, middleware og genererede klienter kan antage, at argumentrækkefølgen bestemmer betydningen. Disse komponenter skal gennemgås enkeltvis. At omdirigere en ældre anmodning til det nye endpoint virker ikke, hvis klienten fortsat konstruerer positionelle parametre.
For hver migreret operation bør teams dokumentere den målrettede model, method og de navngivne argumenter, som JSON-2 kræver. (Odoo master Docs: Reference External API) Anmodninger bør derefter testes i det relevante Odoo 20-miljø, især når et delt integrationsbibliotek konstruerer kald for flere applikationer. Statisk sammenligning af payloads kan ikke bekræfte, hvordan serveren eller klienten håndterer hele anmodningen.
Autentificering skal også ændres
JSON-2 bruger bearer API-nøgleautentificering. (Odoo master Docs: Reference External API)Migreringsarbejdet bør omfatte oprettelse af nøgler, sikker opbevaring, håndtering af autorisationsheader og udskiftning af nøgler. Proxies, gateways og klientbiblioteker bør gennemgås for at sikre, at de bevarer headeren ved videresendelse af anmodninger. Logning, overvågning og fejlhåndtering bør også gennemgås, så legitimationsoplysninger ikke eksponeres.
Dokumentationen fastlægger autentificeringsmetoden, men hver organisation skal selv afgøre, hvordan API-nøgler passer ind i deres kontrol af legitimationsoplysninger. (Odoo master Docs: Reference External API) Det omfatter at tildele ansvar for nøgler, kontrollere hvor de kan bruges og definere, hvordan berørte integrationer skal opdateres, når en nøgle udskiftes.
Binære felter har en separat kompatibilitetsændring
Odoos ORM-ændringslog registrerer endnu en RPC-ændring i Odoo 20: repræsentationen af binære felter tilføjer `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) Dette er separat fra fjernelsen af databaseservicen, fordi det ændrer de returnerede data frem for tjenestens tilgængelighed. Applikationer, der læser, transformerer eller validerer svar, der indeholder binære felter, bør indgå i kompatibilitetstestningen.
Ændringsloggen bekræfter, at medlemmet `filename` tilføjes, men den praktiske betydning afhænger af klienten. (Odoo master Docs: Orm Changelog) Test bør kontrollere, om strenge skemaer, serialisatorer, respons-sammenligninger og efterfølgende transformationer accepterer det ekstra medlem. Klienter, der ignorerer ukendte felter, kræver muligvis ingen justering, men det bør verificeres og ikke antages.
Sådan afgrænses integrationsrevisionen
Begynd med at identificere forbindelser, der bruger `/xmlrpc`, `/xmlrpc/2` eller `/jsonrpc`, som Odoo markerer som udfasede slutpunkter. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Oversigten bør omfatte internt udviklede applikationer, middleware, planlagte processer og tredjepartsconnectorer, hvor konfiguration eller kildekode er tilgængelig. Tildel en ansvarlig til hver forbindelse, så dens formål og status kan verificeres.
Klassificer derefter hver forbindelse efter ældre tjeneste. Brug af databaseservice kræver afhjælpning for Odoo 20, mens brug af common- og object-servicen fortsat er dokumenteret som tilgængelig indtil Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Det understøtter en trinvis plan: afhjælp inkompatibiliteten i Odoo 20 først, og fastlæg derefter migreringsdatoer for de resterende udfasede kald.
For integrationer, der flyttes til JSON-2, skal du registrere ruten `/json/2/<model>/<method>`, navngivne anmodningsargumenter og bearer API-nøgleautentificering, som kræves af erstatningsgrænsefladen. (Odoo master Docs: Reference External API) Testcases bør dække vellykkede anmodninger, afvist autentificering, ugyldige navngivne argumenter og applikationens håndtering af returnerede data. Tilføj tilfælde med binære felter, hvor disse felter forekommer.
Bekræft den endelige adfærd i Odoo 20
Oplysningerne om fjernelsen er hentet fra Odoos master-udviklerdokumentation, mens den annoncerede udgivelsestid kommer fra en eventside, der angiver, at Odoo 20 ville blive udgivet under Americas-eventet i september 2026. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Før implementering bør teams kontrollere dokumentationen for den frigivne Odoo 20-version samt den præcise udgave og build, de har til hensigt at bruge.
At bruge et udfaset RPC-slutpunkt beviser i sig selv ikke, at en integration vil holde op med at fungere i Odoo 20, fordi common- og object-servicen fortsat er dokumenteret indtil Odoo 22. Omvendt etablerer vellykket drift på en tidligere version ikke kompatibilitet for et kald til databaseservicen efter dens fjernelse. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Tjekliste til opgraderingsbeslutning
Før en Odoo 20-opgradering godkendes, bør beslutningstagere anmode om et integrationsregister, der viser hvert udfaset slutpunkt, den anvendte tjeneste, dens ejer og den planlagte afhjælpning. Afhængigheder til databaseservicen bør have en testet erstatning. Integrationer, der forbliver på common- eller object-services, bør have en separat migreringsdato, der afspejler deres dokumenterede fjernelse i Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Gennemgangen bør bekræfte, at JSON-2-implementeringer placerer modellen og metoden i URL'en, bruger navngivne JSON-argumenter og autentificerer med en bearer API-nøgle. Hvor binære felter er til stede, bør testen tage højde for tilføjelsen af `BinaryValue.filename`. (Odoo master Docs: Reference External API; Odoo master Docs: Orm Changelog) Disse kontroller skelner mellem den umiddelbare fjernelse af Odoo 20's database-service og den senere udfasning af de resterende ældre tjenester.
