Odoo 19 JSON-2: kế hoạch chuyển khỏi XML-RPC và JSON-RPC

Các mốc deprecation, khác biệt transaction và checklist migration cần biết trước khi nâng cấp một integration Odoo lên phiên bản 19.

Tín hiệu

JSON-2 là External API mới được giới thiệu ở Odoo 19. Client gọi model method qua POST /json/2/<model>/<method> và xác thực bằng API key dạng bearer. Đây không phải feature của Odoo 18. [S1]

Tài liệu Odoo 19 đánh dấu các endpoint /xmlrpc, /xmlrpc/2/jsonrpc là deprecated, với kế hoạch loại bỏ ở Odoo 22 (mùa thu 2028) và Odoo Online 21.1 (mùa đông 2027). Thông báo này không áp dụng cho custom controller type='jsonrpc'. [S2]

Khác biệt dễ gây lỗi nhất

Mỗi call JSON-2 chạy trong một SQL transaction riêng: thành công thì commit, lỗi thì rollback. Nhiều call JSON-2 không thể ghép thành một transaction duy nhất. Nếu nghiệp vụ phải ghi nhiều model theo một invariant, cần gom logic vào một method server-side đã review rồi gọi method đó một lần. [S3]

Checklist migration

  1. Lập inventory mọi nơi đang gọi common, db, object, execute hoặc execute_kw.
  2. Đọc dynamic documentation của chính database để xác nhận model, method và field được expose.
  3. Chuyển authentication sang API key bearer; xác định rõ HostX-Odoo-Database theo deployment.
  4. Test bằng đúng service user để giữ nguyên ACL, record rules và field access.
  5. Tìm chuỗi nhiều call đang giả định atomicity; thay bằng một method server-side khi cần all-or-nothing.
  6. Chạy song song trên staging, đối chiếu payload, lỗi và side effect trước cutover.

Giới hạn

Mốc removal ở trên là mốc công bố trong tài liệu Odoo 19 tại ngày truy xuất. Kế hoạch nâng cấp vẫn phải kiểm tra edition, gói Odoo Online, custom controller và dynamic documentation của database đích. Đây là tín hiệu chuẩn bị migration, không phải cam kết mọi integration có thể đổi transport mà không sửa nghiệp vụ.