Odooova glavna dokumentacija navodi da se zastarjela RPC usluga baze podataka uklanja u Odoo 20. Širi XML-RPC i JSON-RPC API-ji su zastarjeli od verzije 19.0, ali Odoo 20 ne uklanja svaku staru uslugu. Odoo navodi da usluge common i object ostaju dostupne do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integracijski timovi zato trebaju identificirati uslugu koju koristi svaka vanjska veza, umjesto da smatraju podršku za stare RPC pozive jednom značajkom s jednim datumom uklanjanja.

Stranica događaja za Amerike tvrtke Odoo navodi da će Odoo 20 biti objavljen tijekom događaja u San Franciscu 2. i 3. rujna 2026. (Oxp26 Americas Introduction) Planiranje nadogradnje sada može uzeti u obzir dokumentirano uklanjanje usluge baze podataka, ali odluke za produkciju treba provjeriti prema konačnoj dokumentaciji izdanja Odoo 20.

Uklanjanje se odnosi na određenu uslugu

Odoo navodi `/xmlrpc`, `/xmlrpc/2` i `/jsonrpc` kao zastarjele krajnje točke koje su deprecated od verzije 19.0. Unutar tih API-ja usluga baze podataka uklanja se u Odoo 20, dok je planirano da usluge common i object ostanu do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integracija koja koristi zadržanu uslugu može nastaviti raditi nakon nadogradnje na Odoo 20, ali sama krajnja točka ne znači kompatibilnost.

Sustav može koristiti različite usluge putem starog RPC sučelja. Pregled integracije zato treba zabilježiti i krajnju točku i pozvanu uslugu. Opisivanje aplikacije samo kao XML-RPC ili JSON-RPC integracije ne pokazuje ovisi li ona o operaciji koja je uklonjena u Odoo 20. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Nastavak dostupnosti usluga common i object je privremen. Odoo planira uklanjanje obje u Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Timovi mogu odvojiti hitan rad na pozivima usluge baze podataka od migracije zadržanih usluga, ali za oba je potreban plan.

JSON-2 mijenja ugovor zahtjeva

Odoo dokumentira JSON-2 kao zamjenski API. Njegov format krajnje točke je `/json/2/<model>/<method>`, s modelom i metodom uključenima u URL. (Odoo master Docs: Reference External API) Migracija zato uključuje više od zamjene osnovne putanje u postojećem RPC klijentu. Svaku operaciju treba mapirati na odgovarajuću rutu modela i metode.

JSON-2 zahtijeva imenovane argumente u JSON tijelu zahtjeva, umjesto pozicijskih RPC argumenata. (Odoo master Docs: Reference External API) Postojeći omotači, middleware i generirani klijenti mogu pretpostaviti da redoslijed argumenata određuje značenje. Ti dijelovi trebaju zaseban pregled. Preusmjeravanje starog zahtjeva na novu krajnju točku neće raditi ako klijent i dalje sastavlja pozicijske parametre.

Za svaku migriranu operaciju timovi trebaju dokumentirati ciljni model, metodu i imenovane argumente koje zahtijeva JSON-2. (Odoo master Docs: Reference External API) Zahtjeve zatim treba testirati u odgovarajućem Odoo 20 okruženju, osobito kada zajednička integracijska knjižnica sastavlja pozive za nekoliko aplikacija. Usporedbe statičnih korisnih tereta ne mogu potvrditi kako poslužitelj ili klijent obrađuje cijeli zahtjev.

Autentikacija se također mora promijeniti

JSON-2 koristi autentikaciju API ključa s bearer tokenom. (Odoo master Docs: Reference External API) Migracijski rad trebao bi obuhvatiti stvaranje ključeva, sigurno pohranjivanje, rukovanje zaglavljem autorizacije i zamjenu ključa. Proxies, gatewayi i klijentske biblioteke trebali bi se provjeriti kako bi se osiguralo da zadržavaju zaglavlje pri prosljeđivanju zahtjeva. Trebali bi se također pregledati zapisivanje, nadzor i obrada pogrešaka kako vjerodajnice ne bi bile izložene.

Dokumentacija uspostavlja metodu autentifikacije, ali svaka organizacija mora odrediti kako API ključevi odgovaraju njezinim kontrolama vjerodajnica. (Odoo master Docs: Reference External API) To uključuje dodjeljivanje odgovornosti za ključeve, kontrolu gdje se mogu koristiti i definiranje kako će se pogođene integracije ažurirati kada se ključ zamijeni.

Binarna polja imaju zasebnu promjenu kompatibilnosti

Zapisi promjena Odooova ORM-a bilježe još jednu RPC promjenu u Odoo 20: prikaz binarnih polja dodaje `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) To je odvojeno od uklanjanja usluge baze podataka jer mijenja vraćene podatke, a ne dostupnost usluge. Aplikacije koje čitaju, transformiraju ili validiraju odgovore koji sadrže binarna polja trebale bi biti uključene u testiranje kompatibilnosti.

Zapisi promjena potvrđuju da je član `filename` dodan, ali njegov praktični učinak ovisi o klijentu. (Odoo master Docs: Orm Changelog) Testovi bi trebali provjeriti prihvaćaju li stroge sheme, serializatori, usporedbe odgovora i nizvodne transformacije dodatni član. Klijenti koji zanemaruju nepoznata polja možda neće zahtijevati prilagodbu, ali to ponašanje treba provjeriti, a ne pretpostaviti.

Kako odrediti opseg revizije integracija

Počnite identificiranjem veza koje koriste `/xmlrpc`, `/xmlrpc/2` ili `/jsonrpc`, koje Odoo označava kao zastarjele krajnje točke. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Popis treba obuhvatiti interno razvijene aplikacije, middleware, zakazane procese i konektore trećih strana gdje su konfiguracija ili izvorni kod dostupni. Dodijelite vlasnika svakoj vezi kako bi se njezina svrha i status mogli provjeriti.

Zatim klasificirajte svaku vezu prema naslijeđenoj usluzi. Korištenje usluge baze podataka zahtijeva sanaciju za Odoo 20, dok je korištenje zajedničke i object usluge i dalje dokumentirano kao dostupno do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) To podržava fazni plan: najprije riješite nekompatibilnost u Odoo 20, a zatim postavite datume migracije za preostale zastarjele pozive.

Za integracije koje prelaze na JSON-2, zabilježite rutu `/json/2/<model>/<method>`, imenovane argumente zahtjeva i autentifikaciju bearer API ključem koju zahtijeva zamjensko sučelje. (Odoo master Docs: Reference External API) Testni slučajevi trebali bi obuhvatiti uspješne zahtjeve, odbijenu autentifikaciju, nevažeće imenovane argumente i obradu vraćenih podataka u aplikaciji. Dodajte slučajeve za binarna polja gdje god se ta polja pojavljuju.

Potvrdite konačno ponašanje Odoo 20

Pojedinosti o uklanjanju preuzete su iz Odooove master developerske dokumentacije, dok najavljeno vrijeme izdanja dolazi s stranice događaja koja navodi da će Odoo 20 biti objavljen tijekom događaja Americas u rujnu 2026. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Prije implementacije, timovi bi trebali ponovno provjeriti dokumentaciju za objavljenu verziju Odoo 20 i točno izdanje i build koje namjeravaju koristiti.

Korištenje zastarjele RPC krajnje točke samo po sebi ne dokazuje da će integracija prestati raditi u Odoo 20, jer su zajednička i object usluga i dalje dokumentirane do Odoo 22. Suprotno tome, uspješan rad na ranijoj verziji ne uspostavlja kompatibilnost za poziv usluge baze podataka nakon njezina uklanjanja. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Kontrolni popis odluke o nadogradnji

Prije odobravanja nadogradnje na Odoo 20, donositelji odluka trebali bi zatražiti registar integracija koji prikazuje svaku zastarjelu krajnju točku, pozvanu uslugu, njezina vlasnika i planiranu sanaciju. Ovisnosti o usluzi baze podataka trebale bi imati testiranu zamjenu. Integracije koje ostaju na zajedničkoj ili object usluzi trebale bi imati zaseban datum migracije koji odražava njihovo dokumentirano uklanjanje u Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Pregled bi trebao potvrditi da implementacije JSON-2 smještaju model i metodu u URL, koriste imenovane JSON argumente i autentificiraju se pomoću bearer API ključa. Kada su prisutna binarna polja, testiranje bi trebalo uzeti u obzir dodavanje `BinaryValue.filename`. (Odoo master Docs: Reference External API; Odoo master Docs: Orm Changelog) Ove provjere razlikuju neposredno uklanjanje Odoo 20 baze podataka i servisa od kasnijeg ukidanja preostalih zastarjelih servisa.