Dokumentasi induk Odoo menyatakan bahawa perkhidmatan RPC pangkalan data warisan telah dikeluarkan dalam Odoo 20. API XML-RPC dan JSON-RPC yang lebih luas telah dianggap usang sejak versi 19.0, tetapi Odoo 20 tidak menghapuskan semua perkhidmatan warisan. Odoo mendokumentasikan bahawa perkhidmatan common dan object kekal tersedia sehingga Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Oleh itu, pasukan integrasi perlu mengenal pasti perkhidmatan yang digunakan oleh setiap sambungan luaran, bukannya menganggap sokongan RPC warisan sebagai satu ciri tunggal dengan satu tarikh penghapusan.
Halaman acara Americas Odoo menyatakan bahawa Odoo 20 akan dilancarkan semasa acara San Francisco pada 2 dan 3 September 2026. (Oxp26 Americas Introduction) Perancangan naik taraf boleh mengambil kira penghapusan perkhidmatan pangkalan data yang didokumentasikan sekarang, tetapi keputusan pengeluaran harus disemak terhadap dokumentasi pelepasan Odoo 20 yang muktamad.
Penghapusan ini terpakai kepada perkhidmatan tertentu
Odoo mengenal pasti `/xmlrpc`, `/xmlrpc/2` dan `/jsonrpc` sebagai titik akhir warisan yang dianggap usang sejak versi 19.0. Dalam API tersebut, perkhidmatan pangkalan data dikeluarkan dalam Odoo 20, manakala perkhidmatan common dan object dijadualkan kekal sehingga Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integrasi yang menggunakan perkhidmatan yang dikekalkan mungkin terus berfungsi selepas naik taraf Odoo 20, tetapi titik akhir sahaja tidak membuktikan keserasian.
Satu sistem boleh menggunakan perkhidmatan yang berbeza melalui antara muka RPC warisan. Oleh itu, semakan integrasi harus merekodkan kedua-dua titik akhir dan perkhidmatan yang dipanggil. Memerihalkan aplikasi hanya sebagai integrasi XML-RPC atau JSON-RPC tidak menunjukkan sama ada ia bergantung pada operasi yang dikeluarkan dalam Odoo 20. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Ketersediaan berterusan perkhidmatan common dan object adalah sementara. Odoo menjadualkan kedua-duanya untuk dikeluarkan dalam Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Pasukan boleh memisahkan kerja segera pada panggilan perkhidmatan pangkalan data daripada migrasi perkhidmatan yang dikekalkan, tetapi kedua-duanya memerlukan pelan.
JSON-2 mengubah kontrak permintaan
Odoo mendokumentasikan JSON-2 sebagai API pengganti. Format titik akhirnya ialah `/json/2/<model>/<method>`, dengan model dan method disertakan dalam URL. (Odoo master Docs: Reference External API) Oleh itu, migrasi melibatkan lebih daripada sekadar menggantikan laluan asas dalam klien RPC sedia ada. Setiap operasi mesti dipetakan kepada laluan model dan method yang sesuai.
JSON-2 memerlukan argumen bernama dalam badan permintaan JSON, bukannya argumen RPC berasaskan kedudukan. (Odoo master Docs: Reference External API) Pembalut, middleware dan klien yang dijana sedia ada mungkin menganggap bahawa susunan argumen menentukan makna. Komponen tersebut memerlukan semakan individu. Mengubah hala permintaan warisan ke titik akhir baharu tidak akan berfungsi jika klien terus membina parameter berasaskan kedudukan.
Bagi setiap operasi yang dimigrasikan, pasukan harus mendokumentasikan model sasaran, method dan argumen bernama yang diperlukan oleh JSON-2. (Odoo master Docs: Reference External API) Permintaan kemudian harus diuji dalam persekitaran Odoo 20 yang berkaitan, terutamanya apabila pustaka integrasi yang dikongsi membina panggilan untuk beberapa aplikasi. Perbandingan muatan statik tidak dapat mengesahkan bagaimana pelayan atau klien mengendalikan keseluruhan permintaan.
Pengesahan juga mesti berubah
JSON-2 menggunakan pengesahan kunci API pembawa. (Odoo master Docs: Reference External API) Kerja migrasi perlu merangkumi penciptaan kunci, penyimpanan selamat, pengendalian pengepala kebenaran, dan penggantian kunci. Proksi, gerbang dan pustaka klien harus disemak untuk memastikan bahawa ia mengekalkan pengepala apabila memajukan permintaan. Pencatatan log, pemantauan dan pengendalian ralat juga harus dikaji semula supaya kelayakan tidak didedahkan.
Dokumentasi menetapkan kaedah pengesahan, tetapi setiap organisasi mesti menentukan bagaimana kunci API sesuai dengan kawalan kelayakannya. (Odoo master Docs: Reference External API) Ini termasuk menetapkan tanggungjawab bagi kunci, mengawal tempat ia boleh digunakan dan menentukan bagaimana integrasi yang terjejas akan dikemas kini apabila sesuatu kunci diganti.
Medan binari mempunyai perubahan keserasian yang berasingan
Log perubahan ORM Odoo merekodkan satu lagi perubahan RPC Odoo 20, perwakilan medan binari menambah `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) Ini berasingan daripada penyingkiran perkhidmatan pangkalan data kerana ia mengubah data yang dipulangkan, bukannya ketersediaan perkhidmatan. Aplikasi yang membaca, mengubah atau mengesahkan respons yang mengandungi medan binari harus disertakan dalam ujian keserasian.
Log perubahan mengesahkan bahawa ahli `filename` ditambah, tetapi kesan praktikalnya bergantung pada klien. (Odoo master Docs: Orm Changelog) Ujian harus menyemak sama ada skema ketat, penyelaras, perbandingan respons dan transformasi hiliran menerima ahli tambahan itu. Klien yang mengabaikan medan tidak dikenali mungkin tidak memerlukan pelarasan, tetapi tingkah laku itu harus disahkan, bukan diandaikan.
Cara menentukan skop audit integrasi
Mulakan dengan mengenal pasti sambungan yang menggunakan `/xmlrpc`, `/xmlrpc/2` atau `/jsonrpc`, yang ditandakan oleh Odoo sebagai titik akhir yang dihentikan sokongannya. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Inventori harus merangkumi aplikasi yang dibangunkan secara dalaman, perisian perantara, proses berjadual dan penyambung pihak ketiga apabila konfigurasi atau kod sumber tersedia. Tugaskan pemilik bagi setiap sambungan supaya tujuan dan statusnya dapat disahkan.
Seterusnya, klasifikasikan setiap sambungan mengikut perkhidmatan lama. Penggunaan perkhidmatan pangkalan data memerlukan pembetulan untuk Odoo 20, manakala penggunaan perkhidmatan common dan object masih didokumenkan sebagai tersedia sehingga Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Ini menyokong pelan berfasa: tangani ketidakserasian Odoo 20 terlebih dahulu, kemudian tetapkan tarikh migrasi untuk panggilan yang masih dihentikan sokongannya.
Bagi integrasi yang beralih ke JSON-2, rekodkan laluan `/json/2/<model>/<method>`, argumen permintaan bernama dan pengesahan kunci API pembawa yang diperlukan oleh antara muka pengganti. (Odoo master Docs: Reference External API) Kes ujian harus meliputi permintaan berjaya, pengesahan ditolak, argumen bernama yang tidak sah dan pengendalian data oleh aplikasi terhadap data yang dipulangkan. Tambahkan kes medan binari di mana-mana sahaja medan tersebut wujud.
Sahkan tingkah laku akhir Odoo 20
Butiran penyingkiran diambil daripada dokumentasi pembangun utama Odoo, manakala masa keluaran yang diumumkan datang daripada halaman acara yang menyatakan bahawa Odoo 20 akan dikeluarkan semasa acara Americas September 2026. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Sebelum penerapan, pasukan harus menyemak semula dokumentasi bagi versi Odoo 20 yang dikeluarkan serta edisi dan binaan tepat yang mereka mahu gunakan.
Menggunakan titik akhir RPC yang dihentikan sokongannya sahaja tidak membuktikan bahawa sesuatu integrasi akan berhenti berfungsi dalam Odoo 20, kerana perkhidmatan common dan object masih didokumenkan sehingga Odoo 22. Sebaliknya, operasi berjaya pada versi terdahulu tidak membuktikan keserasian bagi panggilan perkhidmatan pangkalan data selepas penyingkirannya. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Senarai semak keputusan naik taraf
Sebelum meluluskan naik taraf Odoo 20, pembuat keputusan harus meminta daftar inventori integrasi yang menunjukkan setiap titik akhir yang dihentikan sokongannya, perkhidmatan yang dipanggil, pemiliknya dan pembetulan yang dirancang. Kebergantungan perkhidmatan pangkalan data harus mempunyai pengganti yang telah diuji. Integrasi yang kekal pada perkhidmatan common atau object harus mempunyai tarikh migrasi berasingan yang mencerminkan penyingkiran yang didokumenkan dalam Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Semakan hendaklah mengesahkan bahawa pelaksanaan JSON-2 meletakkan model dan kaedah dalam URL, menggunakan argumen JSON bernama dan mengesahkan dengan kunci API pembawa. Apabila medan binari hadir, ujian hendaklah mengambil kira penambahan `BinaryValue.filename`. (Odoo master Docs: Reference External API; Odoo master Docs: Orm Changelog) Semakan ini membezakan penyingkiran segera perkhidmatan pangkalan data Odoo 20 daripada persaraan kemudian bagi baki perkhidmatan lama.
