SuperAPI AI 工具集

odoo-rpc-api

编程与开发

查看项目

更新于 10-16 01:14

技能介绍

用途:帮助外部应用(如 Django、Node.js、移动端)通过 Odoo 的 JSON-RPC 与 XML-RPC 接口读写数据,适合数据导入导出脚本、中间件集成,以及排查认证或权限错误。

主要能力:覆盖认证、模型方法调用、记录 CRUD;可生成 Python、JavaScript 或 curl 的 RPC 调用代码,也能根据报错给出诊断与修正后的调用。

使用方式:提及 @odoo-rpc-api 并描述集成需求即可生成代码。XML-RPC 先经 /xmlrpc/2/common 的 authenticate 获取 uid,再用 /xmlrpc/2/object 的 execute_kw 调用模型方法,例如 search_read、create。JSON-RPC 可 POST 到 /web/dataset/call_kw,请求体需含 jsonrpc、method、id、params(model、method、args、kwargs)。

最佳实践:生产环境使用 API Key(Odoo 14+,设置→技术→API Keys)而非密码;用 search_read 替代 search+read 减少往返;凭据放环境变量或密钥管理;为集成创建最小权限专用用户;处理连接错误并实现指数退避重试;批量操作避免紧循环。

限制:不涉及 OAuth2 或会话 Cookie 认证,示例仅用 API Key;XML-RPC 层无内置限流,需客户端自行节流;/xmlrpc/2/ 不支持文件上传,二进制数据需经 JSON-RPC 使用 ir.attachment;Odoo.sh 可能按套餐限制部分 API 调用,需确认订阅支持外部 API 访问。