Odoos masterdokumentasjon sier at den gamle RPC-databasetjenesten fjernes i Odoo 20. De bredere XML-RPC- og JSON-RPC-API-ene har vært avviklet siden versjon 19.0, men Odoo 20 fjerner ikke alle gamle tjenester. Odoo dokumenterer common- og object-tjenestene som tilgjengelige frem til Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integrasjonsteam må derfor identifisere hvilken tjeneste hver ekstern tilkobling bruker, i stedet for å behandle støtte for gamle RPC-kall som én enkelt funksjon med én fjerndato.

Odoos Amerikas-side sa at Odoo 20 ville bli lansert under arrangementet i San Francisco 2. og 3. september 2026. (Oxp26 Americas Introduction) Oppgraderingsplanlegging kan ta høyde for den dokumenterte fjerningen av databasetjenesten nå, men produksjonsbeslutninger bør kontrolleres mot den endelige Odoo 20-dokumentasjonen.

Fjerningen gjelder en bestemt tjeneste

Odoo oppgir `/xmlrpc`, `/xmlrpc/2` og `/jsonrpc` som gamle endepunkter som er avviklet fra versjon 19.0. Innenfor disse API-ene fjernes databasetjenesten i Odoo 20, mens common- og object-tjenestene er planlagt å forbli til Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) En integrasjon som bruker en beholdt tjeneste kan fortsatt fungere etter en oppgradering til Odoo 20, men endepunktet alene avgjør ikke kompatibiliteten.

Et system kan bruke ulike tjenester gjennom det gamle RPC-grensesnittet. En integrasjonsgjennomgang bør derfor registrere både endepunktet og tjenesten som kalles. Å beskrive en applikasjon bare som en XML-RPC- eller JSON-RPC-integrasjon viser ikke om den er avhengig av en operasjon som er fjernet i Odoo 20. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Den fortsatte tilgjengeligheten til common- og object-tjenestene er midlertidig. Odoo planlegger å fjerne begge i Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Team kan skille akutt arbeid med kall til databasetjenesten fra migreringen av beholdte tjenester, men begge krever en plan.

JSON-2 endrer forespørselskontrakten

Odoo dokumenterer JSON-2 som erstatnings-API-et. Endepunktformatet er `/json/2/<model>/<method>`, med model og method inkludert i URL-en. (Odoo master Docs: Reference External API) Migrering innebærer derfor mer enn å bytte base path i en eksisterende RPC-klient. Hver operasjon må mappes til riktig model- og method-rute.

JSON-2 krever navngitte argumenter i en JSON-forespørselskropp i stedet for posisjonelle RPC-argumenter. (Odoo master Docs: Reference External API) Eksisterende wrappers, mellomvare og genererte klienter kan anta at argumentrekkefølgen bestemmer betydningen. Disse komponentene må gjennomgås enkeltvis. Å videresende en gammel forespørsel til det nye endepunktet vil ikke fungere hvis klienten fortsatt konstruerer posisjonelle parametere.

For hver migrert operasjon bør team dokumentere målmodel, method og navngitte argumenter som JSON-2 krever. (Odoo master Docs: Reference External API) Forespørsler bør deretter testes i det relevante Odoo 20-miljøet, særlig når et delt integrasjonsbibliotek bygger kall for flere applikasjoner. Sammenligninger av statiske nyttelaster kan ikke bekrefte hvordan serveren eller klienten håndterer hele forespørselen.

Autentisering må også endres

JSON-2 bruker bearer-API-nøkkelautentisering. (Odoo master Docs: Reference External API) Migreringsarbeidet bør dekke opprettelse av nøkler, sikker lagring, håndtering av autorisasjonsheader og utskifting av nøkkel. Proxyer, gatewayer og klientbiblioteker bør kontrolleres for å sikre at de bevarer headeren når forespørsler videresendes. Logging, overvåking og feilhåndtering bør også gjennomgås, slik at legitimasjon ikke eksponeres.

Dokumentasjonen fastslår autentiseringsmetoden, men hver organisasjon må avgjøre hvordan API-nøkler passer inn i deres kontroll over legitimasjon. (Odoo master Docs: Reference External API) Det inkluderer å tildele ansvar for nøkler, styre hvor de kan brukes, og definere hvordan berørte integrasjoner skal oppdateres når en nøkkel erstattes.

Binære felt har en egen kompatibilitetsendring

Odoos ORM-endringslogg registrerer enda en RPC-endring i Odoo 20: representasjonen av binære felt legger til `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) Dette er separat fra fjerningen av databaseservicen, fordi det endrer returnerte data, ikke tjenestetilgjengelighet. Applikasjoner som leser, transformerer eller validerer svar som inneholder binære felt, bør inngå i kompatibilitetstesting.

Endringsloggen bekrefter at `filename`-medlemmet blir lagt til, men den praktiske effekten avhenger av klienten. (Odoo master Docs: Orm Changelog) Tester bør kontrollere om strenge skjemaer, serialisatorer, sammenligning av svar og nedstrøms transformasjoner aksepterer det ekstra medlemmet. Klienter som ignorerer ukjente felt, kan kanskje ikke trenge justering, men dette bør verifiseres og ikke antas.

Slik avgrenser du integrasjonsrevisjonen

Begynn med å identifisere forbindelser som bruker `/xmlrpc`, `/xmlrpc/2` eller `/jsonrpc`, som Odoo markerer som utdaterte endepunkter. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Inventaret bør omfatte internt utviklede applikasjoner, mellomvare, planlagte prosesser og tredjepartskoblinger der konfigurasjon eller kildekode er tilgjengelig. Tildel en eier til hver forbindelse, slik at formål og status kan verifiseres.

Deretter klassifiseres hver forbindelse etter gammel tjeneste. Bruk av databaseservicen krever utbedring for Odoo 20, mens bruk av common- og object-tjenesten fortsatt er dokumentert som tilgjengelig frem til Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Dette støtter en trinnvis plan: ta tak i inkompatibiliteten i Odoo 20 først, og sett deretter migreringsdatoer for de gjenværende utdaterte kallene.

For integrasjoner som går over til JSON-2, registrer `/json/2/<model>/<method>`-ruten, navngitte forespørselsargumenter og bearer API-nøkkelautentisering som kreves av erstatningsgrensesnittet. (Odoo master Docs: Reference External API) Testtilfeller bør dekke vellykkede forespørsler, avvist autentisering, ugyldige navngitte argumenter og applikasjonens håndtering av returnerte data. Legg til tilfeller for binære felt der disse feltene forekommer.

Bekreft den endelige oppførselen i Odoo 20

Detaljene om fjerningen er hentet fra Odoos master-utviklerdokumentasjon, mens den annonserte lanseringstidspunktet kommer fra en arrangementside som opplyser at Odoo 20 skulle lanseres under Amerika-arrangementet i september 2026. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Før utrulling bør teamene kontrollere dokumentasjonen for den utgitte Odoo 20-versjonen, samt den nøyaktige utgaven og byggversjonen de har tenkt å bruke.

Å bruke et utdatert RPC-endepunkt beviser i seg selv ikke at en integrasjon vil slutte å fungere i Odoo 20, fordi common- og object-tjenestene fortsatt er dokumentert frem til Odoo 22. På den annen side betyr vellykket drift i en tidligere versjon ikke at en databaseservice-forespørsel er kompatibel etter fjerningen. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Sjekkliste for oppgraderingsbeslutning

Før en oppgradering til Odoo 20 godkjennes, bør beslutningstakere be om et integrasjonsregister som viser hvert utdaterte endepunkt, tjenesten som kalles, eier og planlagt utbedring. Avhengigheter til databaseservicen bør ha en testet erstatning. Integrasjoner som blir på common- eller object-tjenester, bør ha en egen migreringsdato som gjenspeiler den dokumenterte fjerningen i Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Referanse for ekstern RPC-API)

Gjennomgangen bør bekrefte at JSON-2-implementeringer plasserer modellen og metoden i URL-en, bruker navngitte JSON-argumenter og autentiserer med en API-nøkkel for bearer. Der binære felt finnes, bør testingen ta høyde for tilføyelsen av `BinaryValue.filename`. (Odoo master Docs: Referanse for ekstern API; Odoo master Docs: Orm-endringslogg) Disse kontrollene skiller den umiddelbare fjerningen av Odoo 20-databasetjenesten fra den senere avviklingen av de gjenværende eldre tjenestene.