Skip to content

API 系统介绍 ​

Hestia REST API 可用于执行控制面板的核心功能。 例如,我们在内部使用它来同步 DNS 集群并集成 WHMCS 计费系统。 该 API 还可用于创建新的用户帐户、域、数据库,甚至构建替代的 Web 界面。

API 参考 提供 PHP 代码示例,演示如何将 API 集成到应用程序或脚本中。 但是,您也可以使用任何其他语言与 API 进行通信。

随着 Hestia v1.6.0 的发布,我们引入了更先进的 API 系统,它将允许非管理员用户使用特定命令。

我无法连接到 API ​

随着 Hestia v1.4.0 的发布,我们决定需要加强安全性。 如果您想从远程服务器连接到 API,您首先需要将其 IP 地址列入白名单。 要添加多个地址,请用新行分隔它们。

我可以禁用 API 吗? ​

是的,您可以通过服务器设置禁用 API。 该文件将从服务器中删除,所有连接都将被忽略。 请注意,禁用 API 后某些功能可能无法使用。

密码 vs API 密钥 vs 访问密钥 ​

密码 ​

  • 只能由管理员用户使用。
  • 更改管理员密码需要在使用该密码的所有地方进行更新。
  • 允许运行所有命令。

API 密钥 ​

  • 只能由管理员用户使用。
  • 更改管理员密码不会产生任何后果。
  • 允许运行所有命令。

访问键 ​

  • 用户特定。
  • 可以限制权限。 例如仅v-purge-nginx-cache。
  • 能够禁用通过其他方法登录,但仍然允许使用 api 密钥
  • 可以仅限于管理员用户或允许所有用户。

设置访问/密钥认证 ​

要创建访问密钥,请遵循我们文档中的指南。

如果您使用的软件已经支持哈希格式,请使用“ACCESS_KEY:SECRET_KEY”而不是旧的 API 密钥。

创建 API 密钥 ​

警告

该方法已被上述访问/密钥认证所取代。 我们强烈建议使用这种更安全的方法。

运行命令v-generate-api-key。

返回代码 ​

ValueNameComment
0OKCommand has been successfully performed
1E_ARGSNot enough arguments provided
2E_INVALIDObject or argument is not valid
3E_NOTEXISTObject doesn’t exist
4E_EXISTSObject already exists
5E_SUSPENDEDObject is already suspended
6E_UNSUSPENDEDObject is already unsuspended
7E_INUSEObject can’t be deleted because it is used by another object
8E_LIMITObject cannot be created because of hosting package limits
9E_PASSWORDWrong / Invalid password
10E_FORBIDENObject cannot be accessed by this user
11E_DISABLEDSubsystem is disabled
12E_PARSINGConfiguration is broken
13E_DISKNot enough disk space to complete the action
14E_LAServer is to busy to complete the action
15E_CONNECTConnection failed. Host is unreachable
16E_FTPFTP server is not responding
17E_DBDatabase server is not responding
18E_RDDRRDtool failed to update the database
19E_UPDATEUpdate operation failed
20E_RESTARTService restart failed

根据 GPLv3 许可证发布