知识库首页

vHost虚拟主机开发者API

一:api接口验证方式

api接口验证地址:http://主控域名/api/v3

api接口响应方式:http post get

api接口ip白名单:支持(建议后台设定有效的api白名单ip)

api验证公共参数:

参数 类型 说明 是否必须
api_sign string md5(api秘钥+api_random+api_timestamp),小写md5
api_random string 随机数(保证不会重复)
api_timestamp int 时间戳(10位长度)
api_language string 如果等于chinese,那么将错误信息返回中文简体(utf-8编码),为空返回英文错误提示
api_type string vhost
action string 填写下面接口名称

二:api接口响应模式

响应类型 响应返回值 说明
成功 0 或 0|相关数据 操作成功后的返回值
失败 -1|错误内容 只要判断前缀是否-1|  就代表错误 截取|后面错误内容返回
查询数据 json数组 根据查询列表接口返回json数组,如查询失败,签名失效等,也会返回-1,如果查询为空返回空

三:api接口操作

(测试通讯) 接口名称:test

成功返回:0

 (创建用户) 接口类型:user_add

参数名 参数说明 必须
userid 自定义用户编号,可以是第三方财务的用户id传入,保证唯一性
username 用户名
password 密码 >=6位
name 姓名/名称等
email 邮箱地址
phone 手机号码
vcount 服务数量 默认0 否 
utype 默认0(0=普通用户,10=管理员级别,其他自定义分组id)
status 用户状态(0=正常用户 1=禁止用户)
remark 用户备注信息
mail_verified 默认0,等于1为该邮箱地址已验证
mobile_verified 默认0,等于1为该手机号码已验证
reg_ip 注册ip地址
login_ip 登录ip地址

成功返回0|188   注意这个188是数据库自增的编号(并非userid编号)

  (修改用户) 接口类型:user_update

参数名 参数说明 必须
id 数据库查询中的自增id(非userid)
userid 修改用户编号,类似过户,一般为空不修改
password1 为空不修改,反之大于6位
password2 确认密码,为空不修改,反之大于6位
name 姓名/名称
email 邮箱地址
phone 手机号码
username 用户名
vcount 服务数量
utype 0=普通用户,10=管理员级别
status 0=正常,1=禁用账号
mail_verified 等于1已验证邮箱
mobile_verified 等于1已验证手机号
cvdate 重装限制日期如20190501 或则低于当前时间或则0或则留空即可
rvcount 按用户级别 已重装的次数
reg_ip 注册ip地址
login_ip 登录ip地址
成功返回0

   (删除用户) 接口类型:user_delete

参数名 说明 必须
userid 用户编号,(您创建时自定义的非自增id)

成功返回0

    (查询用户) 接口类型:user_info

参数名 说明 必须
id 数据库中自增生成的编号
userid 自定义的用户编号
username 用户名
name 按名称
email 邮箱地址
phone 手机号码
utype 用户组id(0=普通用户,10=管理员)
login_ip 按登录ip查询(已包含注册ip全部索引查询)
remark 按备注信息模糊查询

成功返回json数组,不存在返回为空

 (vhost登录独立面板) 接口类型:http://主控域名/process?c=login  请自己组合一个form表单拼接进行提交该接口post类型

参数名 说明 必须

logintype

登录类型:vhost
username ftp账号
password ftp密码

成功自动跳转独立面板,所以get post都可以使用该接口

  (vhost创建) 接口类型:vhost_create

参数名 说明 必须
userid vm开通到那个用户编号下
areaid 按区域id开通,自动轮训区域下全部节点,如要指定节点开通请为空 是/否
nodeid 按指定节点id开通 是/否

aspscript

1=启用asp,0=不启用asp脚本  (默认0)
phpscript 1=启用php,0=不启用php脚本  (默认0)

aspxscript

1=启用asp.net,0=不启用asp.net脚本(简称.aspx脚本)  (默认0)
enable_mysql 1=启用mysql,0=不创建mysql数据库 (默认0)
mysqlspace 开通mysql数据库的空间容量,需以上enable_mysql=1才有效

mysqlbackupnum

mysql数据库允许备份的数量,需以上enable_mysql=1才有效
enable_mssql 1=启用sql server,0=不创建sql server数据库 (默认0)

mssqlspace

开通sql server数据库的空间容量,需以上enable_mssql=1才有效
mssqlbackupnum sql server数据库允许备份的数量,需以上enable_mssql=1才有效
domains 绑定的域名多个以英文,逗号分割,如没有可留空,默认有赠送域名  否 
ftpname ftp虚拟主机名称,最少5位,且必须是英文开通或英文数字组合,不可包含特殊字符

ftppassword

ftp密码  英文数字组合
cpulimit 对站点的cpu限制百分比(仅对独立池有效)100为不限制
ram 专用内存 单位mb 不限制设置0
diskspace 磁盘可用容量,单位mb
bindingdomain 允许绑定的域名数量

maxconnections

iis连接数量,0=不限制,否则推荐50~300

bwlimit

是否限制流量,0=不限制,否则单位gb   默认0

maxbandwidth

站点可用宽带,最小1,单位mb
apppoolnum 多少个用户站点共享池,1=每个站点一个独立池,否则输入如20=20个用户站点共享一个池
hostip 主机ip,留空为共享ip,输入1为自动随机选取一个独立ip  (默认空)
phpversion php版本可选(5.2,5.3,5.4,5.5,5.6,7.0,7.1,7.2,7.3,7.4,8.1),前提已安装php一键安装包
netversion net版本(.aspx站点用途),可选范围(2.0,4.0),注意:2.0包含3.5了
netmode 池模式,0=经典(推荐),1=集成,(针对独立池用户),默认0
defaultdoc 默认主页如:index.asp,index.php 多个以英文逗号分割,留空系统自动处理
remark 主机创建时的备注,可留空
returnjson 如果等于1,成功返回 0|主机vhost表的json信息

 成功返回:0|123   后面的123代表主控返回的虚拟主机id编号

 如果returnjson=1,那么成功返回 0|json信息 如: 

 提示:json中字段 mysql_xxx和mssql_xxx 代表附带的数据库信息,如果未开通数据库这些字段是没有的

0|{"freedomain":"mssql002.123.com","ftpname":"mssql002","ftppassword":"a1231","ftpport":"21","hostip":"192.168.3.18","id":"582","mssql_sqlid":"38","mssql_sqlip":"192.168.3.18","mssql_sqlname":"a1675270013","mssql_sqlpass":"we5auyy8whu0","mssql_sqluser":"a1675270013","nodeid":"3","userid":"8080"}

  (vhost更新) 接口类型:vhost_update

参数名 说明 必须
id 编辑修改的主机id
update_host 默认0只更改数据库信息,为1时实时更改iis站点信息以及数据库信息
nodeid 节点id(无特殊情况无需修改)
userid 修改用户编号(类似过户)
cpulimit 修改站点池cpu百分比,100=不限制,(仅对独立池有效)
ram 专用内存 单位mb,不限制设置0
diskspace 磁盘容量,单位mb
bindingdomain 绑定域名数量,留空不修改
maxconnections 站点iis数量
maxbandwidth 站点宽带 (单位mb)
bwlimit 0=不限流量,否则限制流量,单位g
bwusage 已用流量,单位gb,支持浮点数,一般这个无需改
bwdate 下次流量重置日期,一般开通按月周期算,一般无需改,改动请传时间戳10位数
phpversion php版本可选(5.2,5.3,5.4,5.5,5.6,7.0,7.1,7.2,7.3,7.4,8.1),前提已安装php一键安装包  否 
netversion  net版本(.aspx站点用途),可选范围(2.0,4.0),注意:2.0包含3.5了 否 
netmode  池模式,0=经典(推荐),1=集成,(针对独立池用户) 否 
hostip  主机ip更改,留空不更改,否则请到ip池列表选取ip传入更改 否 
status 主机状态(1=锁定,2=正常,-1=中止,-2=超流量运行,-3=超流量停止) 否 
remark 备注信息更改,留空不修改

成功返回0

    (vhost删除) 接口类型:vhost_delete

参数名 说明 必须

hostid

主机编号
forcedelete 默认0,为1强制删除主机
returnmsg 默认空,为1时删除后成功返回 0|json信息

成功返回0  如果returnmsg=1 那么成功返回 0|json信息

    (查询主机信息以及状态) 接口类型:state

参数名 说明 必须
hostid 主机id

 成功返回

running|{"apppoolname":"1_rstack_13","apppoolnum":"1","aspscript":"1","aspxscript":"1","bwdate":"1678434670","bwlimit":"500","bwusage":"0","defaultdoc":"","freedomain":"host1676015469.123.com","ftpname":"host1676015469","ftpport":"21","hostip":"192.168.3.18","netmode":"0","netversion":"2.0","phpscript":"1","phpversion":"7.4","status":"2","userid":"8080"}

(按|分割) 在|前者是状态 ,后者是一些任务进度的类型 名称等字面意思

状态有:

locked,overdue,overbw,running,off,unknown

(锁定,过期中止,超流量停机,运行中,关闭中,未知站点)

    (查询主机信息以及状态) 接口类型:state_json

参数名 说明 必须
hostid 主机id

 成功返回json数组 【实时状态state=running,stop,unknown】,【静态主机状态status=对应主控的主机状态】

{"apppoolname":"1_rstack_8","apppoolnum":"1","aspscript":"1","aspxscript":"1","bwdate":"1677073377","bwlimit":"0","bwusage":"0","defaultdoc":"index.asp,index.php,default.htm,default.asp,index.htm,index.html,iisstart.htm,default.aspx","freedomain":"vhost001.123.com","ftpname":"vhost001","ftpport":"21","hostid":"552","hostip":"192.168.3.18","netmode":"0","netversion":"2.0","phpscript":"1","phpversion":"7.4","state":"running","status":"2","userid":"8080"}

 (vhost主机电源操作) 接口类型:start,stop

参数名 说明 必须
hostid 主机编号

 成功返回0

  (主机状态获取) 接口类型:set_ftppassword

参数名 说明 必须
hostid 主机编号

new_ftppassword

新的ftp密码,英文数字,长度>=6

成功返回:0

  (主机添加域名) 接口类型:add_domain

参数名 说明 必须
hostid 主机编号
scheme http,https 留空默认http
domainname 域名如:www.baidu.com
domainport 域名对应端口一般,http=80,https=443,留空默认=80

成功返回0

  (主机删除域名) 接口类型:del_domain

参数名 说明 必须
hostid 主机编号

domainid

要删除的域名id

成功返回0

  (主机设置拒绝目标ip访问自己站点) 接口类型:add_denyip

参数名 说明 必须
hostid 主机id
fieldname 拒绝理由,一句话概况

fieldvalue

演示192.168.3.1等于拒绝指定ip,192.168.3.0等于拒绝整个c段,192.168.0.0的关于拒绝整个b段
成功返回0

  (删除主机拒绝ip记录) 接口类型:del_denyip

参数名 说明 必须
hostid 主机id
fieldid 要删除的id
成功返回0

  (回收主机程序池) 接口类型:recycle_apppool

参数名 说明 必须
hostid 主机id
成功返回0

  (更改主机php版本) 接口类型:change_php

参数名 说明 必须
hostid 主机id
phpversion 可选:
5.2|5.3|5.4|5.5|5.6|7.0|7.1|7.2|7.3|7.4|8.1
成功返回0

 (更改主机net版本) 接口类型:change_net_version

参数名 说明 必须
hostid 主机id

netversion

可选:2.0/4.0    (3.5也包含2.0内)
成功返回0

 (更改主机net模式) 接口类型:change_net_mode

参数名 说明 必须
hostid 主机id

netmode

0=经典模式(推荐),1=集成模式
成功返回0

 (导入ssl整数,申请的证书,选取nginx的pem密钥) 接口类型:import_ssl

参数名 说明 必须
hostid 主机id

ssl_domain

申请整数的域名 如 baidu.com

ssl_pem

pem密钥

ssl_privkey

私钥
成功返回0

 (更改站点默认首页) 接口类型:change_defaultdoc

参数名 说明 必须
hostid 主机id

defaultdoc

多个以英文逗号分割 如:index.html,index.php,index.asp
成功返回0

 (winrar解压缩) 接口类型:winrar

参数名 说明 必须
hostid 主机id
  【下面是压缩接口】  

subvaction

1

targetpath

压缩/web下那个路径,如果留空,压缩整个/web下全部文件
  【下面是解压缩接口】  
subvaction 0
is_replace 是否覆盖,1=覆盖,0=不覆盖
rarname 解压的目标文件 如202201013434.rar  (在/db/目录的文件)
成功返回0

 (更改站点运行目录,如一些thinkphp等程序可能需要) 接口类型:change_runpath

参数名 说明 必须
hostid 主机id

runpath

将站点网站目录更改到/web/xx下,留空恢复原始/web下站点目录

成功返回0

 (清除网站内容) 接口类型:clear_web

参数名 说明 必须
hostid 主机id

delpath

留空清除/web下全部,或删除指定 文件夹或则文件,填写

成功返回0

 (预装站点) 接口类型:preinstall

参数名 说明 必须
hostid 主机id

preinstallid

预装的自定义程序id,列表获取

成功返回0

 (添加mini) 接口类型:add_mini

参数名 说明 必须
hostid 主机id

fieldname

添加的mini扩展名,如 .iso

fieldvalue

添加mini类型,如:application/octet-stream

成功返回0

 (删除mini) 接口类型:del_mini

参数名 说明 必须
hostid 主机id

fieldid

要删除的mini编号

成功返回0

 (添加isapi) 接口类型:add_isapi

参数名 说明 必须
hostid 主机id

fieldname

isapi名称

fieldvalue

isapi dll 放到如:/web/win.dll下 那么填写win

成功返回0

 (删除isapi) 接口类型:del_isapi

参数名 说明 必须
hostid 主机id

fieldid

要删除的isapi编号

成功返回0

 (预装站点) 接口类型:del_isapi

参数名 说明 必须
hostid 主机id

fieldid

要删除的isapi编号

成功返回0

 (设置301重定向) 接口类型:set_redirect

参数名 说明 必须
hostid 主机id

redirecturl

重定向url,留空取消重定向

成功返回0

 (设置404错误) 接口类型:page404

参数名 说明 必须
hostid 主机id

pagename

设置404错误页,如404.html放到/web下,留空取消404

成功返回0

 

 (设置出错信息) 接口类型:error_info

参数名 说明 必须
hostid 主机id
subvaction 1=启用站点详情错误,0=不启用

成功返回0

 (执行权限) 接口类型:exec_script

参数名 说明 必须
hostid 主机id
exec_path 如/web/upload存了图片不想有执行权限 则输入upload  多个目录以,分割

成功返回0

 (设置fso权限) 接口类型:set_fso

参数名 说明 必须
hostid 主机id
subvaction 1=启用fso权限,0=关闭fso权限(推荐更安全)

成功返回0

 (设置文件保护) 接口类型:file_protect

参数名 说明 必须
hostid 主机id
file_protect_name 全名保护如 rstack.php 或则 *.htm 或则多个,逗号分割 rstack.php,*.htm,*.asp   (*代表全部此后缀均为保护) 

成功返回0

 (修改mysql已开通的数据库密码) 接口类型:resetmysqlps

参数名 说明 必须
hostid 主机id
sqlid 数据库id
newsqlpass 新密码 >=6位,英文数字组合

成功返回0

 (修改mssql已开通的数据库密码) 接口类型:resetmssqlps

参数名 说明 必须
hostid 主机id
sqlid 数据库id
newsqlpass 新密码 >=6位,英文数字组合

成功返回0

 (更改mysql远程ip或则本地) 接口类型:change_mysql_remoteip

参数名 说明 必须
hostid 主机id
sqlid 数据库id
newremoteip

localhost=更改本地访问,%=更改远程ip访问

成功返回0

 (创建mysql mssql临时的ftp) 接口类型:temp_sql_ftp

参数名 说明 必须
hostid 主机id
subvaction add=创建,del=删除
sqlid 数据库id

成功返回0

 (备份数据库) 接口类型:sql_backup

参数名 说明 必须
hostid 主机id
sqlid 数据库id

成功返回0

 (恢复数据库) 接口类型:sql_recovery

参数名 说明 必须
hostid 主机id
subvaction 留空恢复,del=删除
sqlid 数据库id

sqlbid

要恢复的sql编号

成功返回0

 (登录mysql网页数据库 get提交即可自动跳转) 接口类型:login_phpmyadmin

参数名 说明 必须
hostid 主机id
sqlid 数据库id

成功返回0

 (登录mssql网页数据库 get提交即可自动跳转) 接口类型:login_sqladmin

参数名 说明 必须
hostid 主机id
sqlid 数据库id

成功返回0

 (站点宽带使用曲线图) 接口类型:vhost_monitor

参数名 说明 必须
hostid 主机id

成功返回

[{"ftpname":"vhost001","network":"0,0","systemversion":"rstack v1.0","time":"1675692549","times":"2023-02-06 22:09:09","vtype":"vhost"},{"ftpname":"vhost001","network":"0,0","systemversion":"rstack v1.0","time":"1675692610","times":"2023-02-06 22:10:10","vtype":"vhost"}]

 (获取主机全部json信息) 接口类型:vhost_data

参数名 说明 必须
id 主机id
ftpname ftp名称

成功返回  (如果看起来乱可以到json网站解析后查看)

{"id":"582","iisid":"1675270013","userid":"8080","nodeid":"3","ftpname":"mssql002","ftppassword":"a1231","freedomain":"mssql002.123.com","hostip":"192.168.3.18","diskspace":"1024","diskspace_use":"0","cpulimit":"100","bindingdomain":"99","maxconnections":"200","maxbandwidth":"2","bwlimit":"0","bwusage":"0","bwdate":"1677689213","apppoolnum":"1","apppoolname":"1_rstack_11","phpversion":"8.1","netversion":"2.0","netmode":"0","aspscript":"1","aspxscript":"0","phpscript":"1","file_protect":"","exec_script":"","page404":"","is_error_page":"0","is_error_info":"1","is_fso":"1","redirect301":"","runpath":"","defaultdoc":"index.asp,index.php,default.htm,default.asp,index.htm,index.html,iisstart.htm,default.aspx","ftpport":"21","status":"2","remark":"","config":"","time":"2023-02-02 00:46:53","areaname":"虚拟区域1号","nodename":"新主机节点1","phpmyadmin":"http://192.168.3.18:33060","sqladmin":"http://192.168.3.18:14330/","domainlist":[{"id":"637","hostid":"582","domain":"mssql002.123.com","scheme":"http","port":"80","is_first":"1","config":"","time":"2023-02-02 00:46:56"}],"sslcertlist":null,"vhostfieldlist":null,"vsqllist":null,"vhostpreinstalllist":[{"id":"4","name":"discuz","path":"d:/123","sort":"1","nodeid":"3","remark":""},{"id":"5","name":"phpwind","path":"d:/phpwind","sort":"1","nodeid":"3","remark":"测试1"}],"mysql_data":null,"mssql_data":{"id":"38","userid":"8080","nodeid":"3","hostid":"582","stype":"mssql","sqlip":"192.168.3.18","sqlname":"a1675270013","sqluser":"a1675270013","sqlpass":"we5auyy8whu0","space":"200","space_use":"4390912","sqlver":"","sqlsize":"0","backupnum":"3","remoteip":"localhost","temp_ftpuser":"","temp_ftppass":"","temp_ftpduetime":"0","remark":"","time":"1675270013"},"mysqlbackuplist":null,"mssqlbackuplist":null}

 

(获取vhost区域) 接口类型:vhost_area

参数名 说明 必须
id 节点id
name 区域名称
remark 备注

成功返回  (如果看起来乱可以到json网站解析后查看)

 [{"id":"18","name":"虚拟区域1号","label":"vhost","remark":"虚拟区域1号1"}]

 (获取vhost计算节点信息) 接口类型:vhost_node

参数名 说明 必须
id 节点id
areaid 区域id
ip 节点ip
status 状态:0=启用,1=维护中

成功返回  (如果看起来乱可以到json网站解析后查看)

[{"id":"3","name":"新主机节点1","areaid":"18","ip":"192.168.3.18","privateip":"10.0.0.2","phpmyadmin":"http://192.168.3.18:33060","sqladmin":"http://192.168.3.18:14330/","vcount":"10","maxnumber":"200","allownumber":"189","freedomain":"123.com","ftpport":"21","webpath":"d:/rstackhost","webfullpath":"d:/rstackhostbak","sort":"11","status":"0"}]

(获取主机域名列表) 接口类型:vhost_domain

参数名 说明 必须
hostid 主机id
domainname 域名
scheme 协议:http,https
port 端口:如80
is_first 0=客户自己绑定的域名,1=赠送域名

成功返回json

[{"id":"643","hostid":"585","domain":"wwwrs3com.123.com","scheme":"http","port":"80","is_first":"1","config":"","time":"1675836443"},{"id":"644","hostid":"585","domain":"www.rs3.com","scheme":"http","port":"80","is_first":"0","config":"","time":"1675836443"},{"id":"645","hostid":"585","domain":"www.rs4.com","scheme":"http","port":"80","is_first":"0","config":"","time":"1675836625"}]

 (获取主机其他字段列表) 接口类型:vhost_field

参数名 说明 必须
hostid 主机id
name 名称
value 内容
port 端口:如80
ftype 类型:isapi,mini,denyip  (分别为isapi类型,mini类型,拒绝ip类型)

成功返回json,如果无列表 返回空

[{"id":"15","hostid":"585","name":"拒绝其他ip","value":"192.168.8.1","config":"","ftype":"denyip","time":"1675841780"}]

 (获取节点可用ip) 接口类型:vhost_node_ip

参数名 说明 必须
nodeid 节点id
hostid 主机id,可为空
ip ip地址
remark 备注

成功返回json,如果无列表 返回空

[{"id":"9","nodeid":"3","hostid":"0","ip":"192.168.3.115","remark":""},{"id":"10","nodeid":"3","hostid":"0","ip":"192.168.3.116","remark":""},{"id":"11","nodeid":"3","hostid":"0","ip":"192.168.3.117","remark":""},{"id":"12","nodeid":"3","hostid":"0","ip":"192.168.3.118","remark":""},{"id":"15","nodeid":"3","hostid":"0","ip":"192.168.3.130","remark":""},{"id":"16","nodeid":"3","hostid":"0","ip":"192.168.3.19","remark":""}]

 (获取节点预安装程序) 接口类型:vhost_preinstall

参数名 说明 必须
nodeid 节点id
name 预安装名称
remark 备注

成功返回json,如果无列表 返回空

[{"id":"4","nodeid":"3","name":"discuz","path":"d:/123","sort":"1","remark":""},{"id":"5","nodeid":"3","name":"phpwind","path":"d:/phpwind","sort":"1","remark":"测试1"}]

 (获取主机今日流量榜) 接口类型:vhost_top

参数名 说明 必须
hostid 主机id
datetime 查询那天的如20220501 一般留空即可查询当日

成功返回json,如果无列表 返回空,注:network_out代表上行,network_in代表下行

[{"id":"17","userid":"8080","nodeid":"3","ftpname":"vhost001","network_out":"0","network_in":"0","bwusage":"0","datetime":"20230206","time":"1675692550"}]

 (获取sql数据库) 接口类型:vsql_list

参数名 说明 必须
hostid 主机id
stype 类型:mysql,mssql
sqlname 数据库名称
remoteip 类型:localhost,%  代表本地和远程
temp_ftpuser 临时ftp名称
remark 备注

成功返回json,如果无列表 返回空

[{"id":"29","userid":"8080","nodeid":"3","hostid":"552","stype":"mysql","sqlip":"192.168.3.18","sqlname":"a1674394977","sqluser":"a1674394977","sqlpass":"byq07uj8yza5","space":"200","space_use":"2236181","sqlver":"","sqlsize":"0","backupnum":"1111","remoteip":"localhost","temp_ftpuser":"","temp_ftppass":"","temp_ftpduetime":"0","remark":"","time":"1674394977"},{"id":"30","userid":"8080","nodeid":"3","hostid":"552","stype":"mssql","sqlip":"192.168.3.18","sqlname":"a1674394977","sqluser":"a1674394977","sqlpass":"aaa1111","space":"200","space_use":"4390912","sqlver":"","sqlsize":"0","backupnum":"1111","remoteip":"localhost","temp_ftpuser":"","temp_ftppass":"","temp_ftpduetime":"0","remark":"","time":"1674394977"}]

 (获取sql数据库备份列表) 接口类型:vsql_backup

参数名 说明 必须
sqlid 数据库id
stype 类型:mysql,mssql
name 备份名称
remark 备注

成功返回json,如果无列表 返回空

[{"id":"26","sqlid":"38","stype":"mssql","name":"a20230208161925.bak","remark":"","time":"1675844365"}]

免费使用RStack

即刻下载, 免费体验RStack正式版

开始免费试用 请求演示