Odoo云端版本

Odoo Online 提供由 Odoo 托管和管理的私有数据库。Odoo Online 数据库可通过任何 web 浏览器访问,无需本地安装。它们可用于长期正式运行,也可用于全面测试 Odoo,包括不需要自定义代码的自定义配置。

小技巧

要快速试用 Odoo,共享的 demo 数据库 可用于测试。无需注册;不过,每个数据库仅可用几个小时。

注解

Odoo Online 与自定义模块或来自 Odoo Apps Store 的模块不兼容。

数据库管理器

要管理 Odoo Online 数据库,请打开 database manager 并以数据库管理员身份登录。

网站域名

通过选择数据库并单击 域名 来 配置自定义域名。

小技巧

免费注册域名。

标签

通过选择数据库并单击 标签 添加标签以识别和排序数据库。在对话框中,输入标签,单击 (加号)按钮,然后单击 保存。

小技巧

在右上角的 搜索栏中搜索标签。

隐藏

通过选择数据库并单击 隐藏 将其从数据库管理器中永久隐藏。在对话框中,单击 是的,我不再需要了。

注解

您可以通过其 URL 访问隐藏的数据库。

管理

通过选择数据库并单击 管理 访问所有其他数据库管理选项。

切换套餐

通过单击目标套餐下方的 切换 来切换 定价套餐。

升级

通过单击 升级 启动 数据库升级。

注解

此选项仅在可用升级时显示。

重命名

通过单击 重命名 重命名数据库并更改其 URL。在对话框中,输入 新名称 并单击 重命名。

复制

通过单击 创建副本 创建数据库的副本。在对话框中,输入 新名称 并单击 创建副本。

重要

  • 默认情况下,用于测试目的 选项处于启用状态。它会禁用副本数据库上的所有外部操作(邮件、支付、交货单等)。

  • 副本在 15 天后过期。

  • 每个数据库最多可以创建五个副本。在特殊情况下,请联系 Odoo 支持团队 以延长该限制。

下载备份

通过单击 下载备份 下载包含数据库备份的 ZIP 文件。

注解

查看管理员活动日志

通过单击 查看管理员活动日志 查看 Odoo 员工或数据库管理员在数据库上执行的所有操作的日志。

注解

Odoo 员工执行的操作通常是提交给 Odoo 支持团队的请求的结果,或是在快速启动项目上下文中执行的操作,或是维护数据库所必需的操作。

转移所有权

通过单击 转移所有权 创建支持工单以请求数据库所有权转移。

删除

通过单击 删除 删除数据库并关闭其相关订阅。在对话框中,单击 删除。

危险

数据库中的所有数据将立即为所有用户删除且 无法恢复 。建议在删除数据库之前 下载备份。

注解

删除后,数据库的名称将可供任何人使用。

Web 服务

数据库列表

要通过编程方式检索 database manager 下显示的所有数据库列表,请通过 external JSON-2 API 调用 odoo.database 模型的 list 方法。

import requests

API_KEY = "your_api_key"

response = requests.post(
    "https://www.odoo.com/json/2/odoo.database/list",
    headers={
        "Authorization": f"bearer {API_KEY}",
    },
    json={},
)
response.raise_for_status()
databases = response.json()

审计日志

要检索 Odoo Online 数据库的管理员活动日志,请通过 external JSON-2 API 调用 odoo.database 模型的 get_audit_logs 方法。

请求必须提供 db_uuid 或 subscription_code。如果提供了 db_uuid,则会返回该数据库的日志。否则,可以使用 subscription_code 检索属于该订阅的所有数据库和项目的日志。

可选的 cursor 是上一次请求返回的不透明值。提供时,仅返回比该 cursor 更新的日志。

审计日志检索受速率限制约束,每 5 分钟最多执行一次。

import requests

API_KEY = "your_api_key"

response = requests.post(
    "https://www.odoo.com/json/2/odoo.database/get_audit_logs",
    headers={"Authorization": f"bearer {API_KEY}"},
    json={"db_uuid": "<DB_UUID>"},
)
response.raise_for_status()
result = response.json()

响应是一个 JSON 对象,包含日志和一个用于检索下一批日志的不透明 cursor:

{
   "logs": [
      {
         "date": "2026-09-04 12:13:14",
         "user": "John Doe [Odoo: Foo]",
         "database": "my-database",
         "subscription": "sub-code",
         "ip": "1.2.3.4",
         "action": "Connect as",
         "details": "Connected as Admin",
         "authorized": true
      }
   ],
   "next_cursor": "opaque-cursor-value"
}

请求参数为:

  • db_uuid (string):数据库的 UUID。如果提供,则忽略 subscription_code 。

  • subscription_code (string):订阅代码。当未提供 db_uuid 时使用。

  • cursor (string):上一次请求返回的不透明 cursor。提供时,仅返回比该 cursor 更新的日志。

每条日志条目包含:

  • date (string):日志的 UTC 日期和时间。

  • user (string):执行该操作的用户

  • database (string):该操作涉及的数据库(如适用)。

  • subscription (string):订阅代码。

  • ip (string):执行该操作的 IP 地址。

  • action (string):操作类型。

  • details (string):关于该操作的附加信息。

  • authorized (boolean):该操作是否已获授权。

next_cursor 值是一个不透明 cursor,可以作为 cursor 在后续请求中提供。