Odoo master dokumentacija navodi da se nasleđena RPC usluga baze podataka ukida u Odoo 20. Širi XML-RPC i JSON-RPC API-jevi su zastareli od verzije 19.0, ali Odoo 20 ne uklanja svaki nasleđeni servis. Odoo dokumentuje da common i object servisi ostaju dostupni do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integracioni timovi zato moraju da identifikuju servis koji koristi svaka spoljašnja konekcija, umesto da tretiraju podršku za nasleđeni RPC kao jednu funkciju sa jednim datumom ukidanja.
Odoo stranica događaja za Amerike navodi da će Odoo 20 biti objavljen tokom događaja u San Francisku 2. i 3. septembra 2026. (Oxp26 Americas Introduction) Planiranje nadogradnje sada može da uzme u obzir dokumentovano ukidanje usluge baze podataka, ali odluke u produkciji treba proveriti prema konačnoj Odoo 20 dokumentaciji izdanja.
Ukidanje se odnosi na određeni servis
Odoo navodi `/xmlrpc`, `/xmlrpc/2` i `/jsonrpc` kao nasleđene endpoint-e koji su zastareli od verzije 19.0. Unutar tih API-ja, usluga baze podataka se ukida u Odoo 20, dok je planirano da common i object servisi ostanu do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integracija koja koristi zadržani servis može nastaviti da radi nakon nadogradnje na Odoo 20, ali sam endpoint ne potvrđuje kompatibilnost.
Sistem može da koristi različite servise kroz nasleđeni RPC interfejs. Zbog toga pregled integracije treba da zabeleži i endpoint i pozvani servis. Opisivanje aplikacije samo kao XML-RPC ili JSON-RPC integracije ne pokazuje da li zavisi od operacije koja je ukinuta u Odoo 20. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Nastavljena dostupnost common i object servisa je privremena. Odoo planira ukidanje oba u Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Timovi mogu da odvoje hitan rad na pozivima usluge baze podataka od migracije zadržanih servisa, ali za oba je potreban plan.
JSON-2 menja zahtevani ugovor
Odoo dokumentuje JSON-2 kao zamenski API. Njegov format endpoint-a je `/json/2/<model>/<method>`, pri čemu su model i metoda uključeni u URL. (Odoo master Docs: Reference External API) Migracija zato podrazumeva više od zamene osnovne putanje u postojećem RPC klijentu. Svaka operacija mora da se mapira na odgovarajuću rutu modela i metode.
JSON-2 zahteva imenovane argumente u JSON telu zahteva, umesto pozicionih RPC argumenata. (Odoo master Docs: Reference External API) Postojeći omotači, middleware i generisani klijenti mogu da pretpostave da redosled argumenata određuje značenje. Te komponente treba pojedinačno pregledati. Preusmeravanje nasleđenog zahteva na novi endpoint neće raditi ako klijent i dalje gradi pozicione parametre.
Za svaku migriranu operaciju, timovi treba da dokumentuju ciljnu model, metodu i imenovane argumente koje JSON-2 zahteva. (Odoo master Docs: Reference External API) Zahteve zatim treba testirati u odgovarajućem Odoo 20 okruženju, naročito kada deljena integraciona biblioteka gradi pozive za više aplikacija. Statička poređenja payload-a ne mogu da potvrde kako server ili klijent obrađuje ceo zahtev.
Autentifikacija takođe mora da se promeni
JSON-2 koristi bearer autentifikaciju API ključem. (Odoo master Docs: Reference External API) Rad na migraciji treba da obuhvati kreiranje ključeva, bezbedno čuvanje, rukovanje zaglavljem autorizacije i zamenu ključa. Proksiji, gejtvej uređaji i klijentske biblioteke treba da budu provereni kako bi se utvrdilo da čuvaju zaglavlje prilikom prosleđivanja zahteva. Takođe treba pregledati logovanje, nadzor i obradu grešaka kako bi se sprečilo izlaganje kredencijala.
Dokumentacija utvrđuje metod autentifikacije, ali svaka organizacija mora da odredi kako se API ključevi uklapaju u njene kontrole kredencijala. (Odoo master Docs: Reference External API) To uključuje dodeljivanje odgovornosti za ključeve, kontrolu gde mogu da se koriste i definisanje kako će pogođene integracije biti ažurirane kada se ključ zameni.
Binarna polja imaju zasebnu promenu kompatibilnosti
Odoo-ov ORM changelog beleži još jednu RPC promenu u Odoo 20: predstavljanje binarnih polja dodaje `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) Ovo je odvojeno od uklanjanja database-service jer menja vraćene podatke, a ne dostupnost servisa. Aplikacije koje čitaju, transformišu ili validiraju odgovore koji sadrže binarna polja treba uključiti u testiranje kompatibilnosti.
Changelog potvrđuje da se član `filename` dodaje, ali njegov praktični efekat zavisi od klijenta. (Odoo master Docs: Orm Changelog) Testovi treba da provere da li stroge šeme, serijalizatori, poređenja odgovora i nizvodne transformacije prihvataju dodatni član. Klijentima koji ignorišu nepoznata polja možda nije potrebna nikakva prilagodba, ali to ponašanje treba proveriti, a ne pretpostaviti.
Kako obuhvatiti reviziju integracija
Počnite tako što ćete identifikovati veze koje koriste `/xmlrpc`, `/xmlrpc/2` ili `/jsonrpc`, koje Odoo označava kao zastarele krajnje tačke. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Popis treba da obuhvati interno razvijene aplikacije, međuslojni softver, zakazane procese i konektore trećih strana gde su dostupni konfiguracija ili izvorni kod. Dodelite vlasnika svakoj vezi kako bi se njena svrha i status mogli potvrditi.
Zatim klasifikujte svaku vezu po zastareloj usluzi. Korišćenje database-service zahteva otklanjanje za Odoo 20, dok je korišćenje common i object servisa i dalje dokumentovano kao dostupno do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Ovo podržava fazni plan: prvo rešite nekompatibilnost za Odoo 20, a zatim postavite datume migracije za preostale zastarele pozive.
Za integracije koje prelaze na JSON-2, zabeležite rutu `/json/2/<model>/<method>`, imenovane argumente zahteva i bearer API-key autentifikaciju koju zahteva zamenski interfejs. (Odoo master Docs: Reference External API) Test slučajevi treba da obuhvate uspešne zahteve, odbijenu autentifikaciju, neispravne imenovane argumente i obradu vraćenih podataka u aplikaciji. Dodajte slučajeve za binarna polja gde god se ta polja pojavljuju.
Potvrdite konačno ponašanje u Odoo 20
Detalji o uklanjanju preuzeti su iz Odoo-ove master developerske dokumentacije, dok najavljeno vreme objavljivanja dolazi sa stranice događaja koja navodi da će Odoo 20 biti objavljen tokom događaja Americas u septembru 2026. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Pre implementacije, timovi treba ponovo da provere dokumentaciju za objavljenu verziju Odoo 20 i tačno izdanje i build koji nameravaju da koriste.
Korišćenje zastarele RPC krajnje tačke samo po sebi ne dokazuje da će integracija prestati da radi u Odoo 20, jer su common i object servisi i dalje dokumentovani do Odoo 22. Obrnuto, uspešan rad na ranijoj verziji ne uspostavlja kompatibilnost za poziv database-service nakon njegovog uklanjanja. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Kontrolna lista za odluku o nadogradnji
Pre nego što odobre nadogradnju na Odoo 20, donosioci odluka treba da zatraže registar integracija koji prikazuje svaku zastarelu krajnju tačku, pozvani servis, njenog vlasnika i planirano otklanjanje. Zavisnosti od database-service treba da imaju testiranu zamenu. Integracije koje ostaju na common ili object servisima treba da imaju zaseban datum migracije koji odražava njihovo dokumentovano uklanjanje u Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Revizija treba da potvrdi da JSON-2 implementacije smeštaju model i metod u URL, koriste imenovane JSON argumente i autentifikuju se pomoću bearer API ključa. Kada su prisutna binarna polja, testiranje treba da obuhvati dodavanje `BinaryValue.filename`. (Odoo master Docs: Reference External API; Odoo master Docs: Orm Changelog) Ove provere razlikuju trenutno uklanjanje Odoo 20 database-service servisa od kasnijeg ukidanja preostalih legacy servisa.
