Skip to content
Novaix 目前处于早期开发阶段,功能尚未稳定,可能存在严重的 Bug。请勿用于生产环境。

开放接口

Novaix 提供 Provisioning API 和 Webhook 回调,允许外部系统自动开通和管理 VPS 实例。

为什么推荐使用 Novaix 内置功能

Novaix 自身已内置完整的用户前台、套餐管理、订单计费、在线支付、优惠券、流量包、代理返佣、工单、CMS 等功能,覆盖了中小型 VPS 业务的绝大多数场景。

我们曾尝试对接 WHMCS、智简魔方等第三方财务系统,但实际体验并不理想——第三方系统的接口设计、稳定性和维护周期参差不齐,对接成本远高于预期,且引入了额外的故障点和运维负担。因此,我们已停止维护所有第三方财务系统的对接模块,转而专注于完善 Novaix 自身的计费和用户管理能力。

对于绝大多数用户,直接使用 Novaix 内置功能即可满足业务需求,无需引入额外的财务系统。如果你有特殊的对接需求(例如已有财务系统且无法迁移),可以通过下面的 Provisioning API 和 Webhook 自行实现。

核心概念

集成方(Integration)

集成方是一个稳定的身份标识,承载回调地址和实例归属。API 密钥可以轮换,但集成方身份保持不变。

API 密钥

nv_ 开头的访问凭证,关联到某个集成方。必须由管理员创建,且勾选 provision 权限。

工作流

所有实例操作都是异步的:API 返回 task_id 后,外部系统通过轮询任务状态或接收 Webhook 回调确认最终结果。

配置步骤

1. 创建集成方

进入管理面板 → 系统设置 → 集成方管理 → 新建:

  • 名称:描述性名称
  • 回调地址:外部系统的 Webhook 接收端 HTTPS URL(可留空,不需要接收回调时可不配置)

配置了回调地址时,保存后会生成 callback_secret,请立即记录,仅展示一次。编辑集成方时新增回调地址(之前为空),也会自动生成 callback_secret 并在响应中返回。

2. 创建 API 密钥

进入个人资料 → API 密钥 → 新建:

  • 关联集成方:选择上一步创建的集成方
  • 权限:勾选 provision(读 + 写)

保存后立即记录密钥(nv_ 开头),仅展示一次。

3. 调用 API

完整的接口文档、错误码和示例代码请参见 novaix-releases 仓库的 integrations/ 目录。

Webhook 回调

任务完成或失败时,Novaix 会向集成方配置的回调地址 POST 通知。以下为创建实例成功时的回调示例(data 字段仅在创建实例成功时包含 IP 和主机名,其他任务类型或失败时可能不含 data):

json
{
  "event": "task.completed",
  "task_id": 100,
  "task_type": "create_instance",
  "external_id": "your_service_id_123",
  "status": "completed",
  "data": {
    "ip_address": "103.25.60.15",
    "hostname": "web-01"
  },
  "timestamp": 1748707200
}

签名通过 X-Novaix-Signature 头传递,使用 HMAC-SHA256 算法,密钥为集成方的 callback_secret。接收端必须验证签名

WARNING

Webhook 是 best-effort 投递(最多投递 3 次,即首次 + 最多 2 次重试),不是可靠交付。关键状态确认请使用任务轮询接口作为兜底。

API 密钥轮换

API 密钥可以安全轮换而不影响业务:

  1. 创建新密钥,关联同一个集成方
  2. 在外部系统中更新为新密钥
  3. 确认正常后删除旧密钥

整个过程中实例操作和 Webhook 回调不会中断,因为它们绑定在集成方(而非密钥)上。