Chuyển tới nội dung chính

🌐 REST / RPC API

Xbook expose dữ liệu qua tầng ORM. Mọi model đều dùng chung một bộ phương thức chuẩn (search_read, create, write, unlink…), nên khi nắm một model bạn dùng được mọi model.

Mẫu lời gọi

models = xmlrpc.client.ServerProxy(f"{base_url}/xmlrpc/2/object")
result = models.execute_kw(db, uid, api_key, MODEL, METHOD, ARGS, KWARGS)

Các thao tác CRUD

Thao tácMethodVí dụ
Đọc danh sáchsearch_read[[["active","=",true]]], {"fields":["name"],"limit":10}
Tạo mớicreate[{"name":"Khách A","email":"a@x.vn"}]
Cập nhậtwrite[[id], {"phone":"0900..."}]
Xóaunlink[[id]]
Đếmsearch_count[[["customer_rank",">",0]]]

Lọc & phân trang

Bộ lọc dùng cú pháp domain [[ "field", "operator", value ]]:

domain = [["create_date", ">=", "2026-01-01"], ["amount_total", ">", 1000000]]
orders = models.execute_kw(
db, uid, api_key, "sale.order", "search_read",
[domain], {"fields": ["name", "amount_total"], "limit": 50, "offset": 0, "order": "create_date desc"},
)

Mã lỗi thường gặp

Tình huốngNguyên nhân
AccessErrorTài khoản không đủ quyền với model/bản ghi.
ValidationErrorDữ liệu vi phạm ràng buộc nghiệp vụ.
Xác thực thất bại (uid = False)Sai db, username hoặc api_key.
mẹo

Một số phân hệ cung cấp endpoint REST/JSON chuyên biệt (ví dụ thanh toán, POS self-order). Tham khảo tài liệu của từng phân hệ khi cần.