Overview
欢迎使用 IPKingStar 文档, IPKingStar 是一个专业的基础网络与云计算平台。
基础网络
基础网络为您提供高质量的住宅代理和静态住宅代理服务, 主要包含以下两大核心产品:
住宅代理(Residential Proxy)
住宅代理服务提供来自真实住宅 IP 的代理,具有以下特点:
- 全球覆盖:支持全球多个国家和地区的 IP
- 动态切换:支持自动切换 IP,避免被封禁
- 高度定制:可根据国家、州/省、城市进行精确定位
- 通道管理:支持创建多个独立通道,便于业务隔离
- 实时监控:提供详细的流量统计和使用报告
静态住宅代理(Static Residential Proxy)
静态住宅代理提供固定的住宅 IP 地址,特别适合需要稳定 IP 的场景:
- 固定 IP:提供长期稳定的固定 IP 地址
- 高可用性:保证 IP 地址的长期可用性
- 商户管理:支持商户白名单功能
- 灵活订阅:支持按需订阅和续费
- IP 更换:支持在需要时更换 IP 地址
云计算
云计算也包含以下两大核心产品:
轻量服务器(Container VPS)
轻量服务器业务特性除了具有静态住宅IP的特性外,还允许用户安装少量轻量级的软件,具有以下特点:
- 静态 IP:类似于静态住宅IP的网络特性表现
- 支持登录:支持用户SSH登录服务器后台
- 软件安装:允许用户安装少量轻量级的软件
- 资源隔离:硬件资源隔离,便于业务隔离
- 实时监控:提供详细的流量统计和使用报告
独享服务器(待上线)
独享服务器业务特性除了具有轻量服务器的特性外,实现了所有的硬件资源独享,具有以下特点:
- 静态 IP:类似于静态住宅IP的网络特性表现
- 支持登录:支持用户SSH登录服务器后台
- Windows:支持Windows操作系统
- 资源隔离:硬件资源全隔离,便于业务高负载使用
- 实时监控:提供详细的流量统计和使用报告
快速开始
技术支持
如果您在使用过程中遇到任何问题,或需要了解更多信息,请通过以下方式联系我们:
- 在线客服:通过网站聊天窗口
- 技术文档:本站点提供详细的 API 文档和使用指南
我们致力于为您提供最优质的代理服务和技术支持。
认证方式
IPKingStar API 使用 API Key 进行认证。每个请求都需要在 HTTP Header 中包含您的 API Key。
API Key 认证
在每个 API 请求的 Header 中添加CODE和TOKEN字段:
--header 'x-merchant-token: CODE'
--header 'x-merchant-code: TOKEN'
示例:
fetch('/api/ipks/simple/check', {
headers: {
'x-merchant-token': 'YOU TOKEN',
'x-merchant-code': 'YOU CODE'
}
})
示例输出:
{"msg":"验证成功,欢迎使用IPKingStar api,","code":200}
获取 API Key
- 登录您的 IPKingStar 账户
- 进入控制面板的 API 设置页面
- 生成新的 API Key

安全建议
- 请妥善保管您的 API Key,不要泄露给他人
- 定期更换 API Key 以提高安全性
- 不要在客户端代码中硬编码 API Key
- 如果怀疑 API Key 泄露,请立即重新生成
静态代理
静态代理服务提供固定IP地址的代理解决方案,支持多国家地区的IP资源,具有高稳定性和独享性特点。
服务目录
IP管理
订单管理
主要特点
- 固定的IP地址资源
- 稳定可靠的网络质量
- 多区域IP资源支持
- 完善的订单管理系统
- 便捷的支付流程
- 详细的使用文档
快速开始
-
查看IP资源
- 使用IP位置查询功能浏览可用资源
- 选择合适的IP地址
-
购买服务
- 通过下单功能选择所需IP
- 确认订单信息
- 完成支付流程
-
管理IP
- 使用IP列表查询功能管理已购IP
- 监控IP使用状态
- 及时续费或升级服务
ip列表查询
查询已购买的静态IP列表。
接口信息
GET /client/ip/pool/item/merchantIpList
请求头
| 参数名 | 类型 | 描述 |
|---|---|---|
| x-merchant-token | String | 商户令牌 |
| x-merchant-code | String | 商户代码 |
请求参数
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
| ip | 否 | String | IP |
| status | 否 | Integer | IP状态:1-已生效, 2-已过期 3-已退订 |
| type | 否 | Integer | IP类别 0广播 1原生 |
| pageSize | 否 | Integer | 每页显示记录数 |
| pageNum | 否 | Integer | 当前页码 |
代码示例
/api/kton/client/ip/pool/item/merchantIpList?ip=156.252&status=1&type=1&pageSize=1
响应示例
{
"total": 58,
"rows": [
{
"createBy": null,
"createTime": "2025-03-24 20:22:31",
"updateBy": null,
"updateTime": "2025-03-24 23:26:14",
"remark": null,
"id": 147,
"poolId": 1,
"merchantId": 1,
"lastOrderId": 176,
"sourceCode": null,
"sourceName": null,
"account": "justinka",
"password": "34372766",
"port": "2340",
"ip": "156.252.8.76",
"protocolse": null,
"effectiveDatetime": "2025-03-24",
"expireDatetime": "2025-05-23",
"status": 1,
"type": 1,
"continent": "Asia",
"countryCode": "VN",
"location": "",
"hot": "N"
}
],
"code": 200,
"msg": "查询成功"
}
响应参数说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| id | Long | 记录ID |
| account | String | 账号 |
| password | String | 密码 |
| port | String | 端口 |
| ip | String | IP地址 |
| effectiveDatetime | String | 生效时间 |
| expireDatetime | String | 到期时间 |
| status | Integer | 状态:1-已生效, 2-已过期 3-已退订 |
| type | Integer | IP类别 0广播 1原生 |
| continent | String | 大洲 |
| countryCode | String | 国家代码 |
| location | String | 位置 |
可购地区列表查询
查询可购买地区IP数量
接口信息
GET /client/ip/pool/regionalAvailableIps
请求头
| 参数名 | 类型 | 描述 |
|---|---|---|
| x-merchant-token | String | 商户令牌 |
| x-merchant-code | String | 商户代码 |
请求参数
| 参数名 | 必选 | 类型 | 描述 |
|---|---|---|---|
| type | 否 | Integer | IP类别 0广播 1原生 |
| continents | 否 | Array[String] | 州列表 |
| countryCodes | 否 | Array[String] | 国家代码列表 |
| locations | 否 | Array[String] | 省/区列表 |
代码示例
/client/ip/pool/regionalAvailableIps
响应示例
{
"total": 2,
"rows": [
{
"id": 4,
"type": 1,
"continent": "Eastern Asia",
"countryCode": "HK",
"location": "Hongkong",
"price": 5.000,
"ipTotals": 46
},
{
"id": 3,
"type": 0,
"continent": "Eastern Asia",
"countryCode": "HK",
"location": "Hongkong",
"price": 2.200,
"ipTotals": 111
}
],
"code": 200,
"msg": "查询成功"
}
响应参数说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| type | Integer | 状态:0-广播, 1-原生 |
| continent | String | 大洲 |
| countryCode | String | 国家代码 |
| location | String | 省/区位置 |
| price | double | 月单价 |
| ipTotals | Integer | 可购数量 |
钱包余额查询
钱包余额查询
接口信息
GET /client/merchant/walletInfo
请求头
| 参数名 | 类型 | 描述 |
|---|---|---|
| x-merchant-token | String | 商户令牌 |
| x-merchant-code | String | 商户代码 |
请求参数
| 参数名 | 必选 | 类型 | 描述 |
|---|
代码示例
/client/merchant/walletInfo
响应示例
{
"msg": "操作成功",
"code": 200,
"data": {
"balance": 20.000,
"totalAmount": 100.500
}
}
响应参数说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| balance | double | 余额 |
| totalAmount | double | 总花费金额 |
静态代理订单
静态代理订单模块提供了静态IP代理服务的订购和管理功能。通过这些接口,您可以购买静态IP代理、管理订单并完成支付。
功能特点
订单管理
- 下单
- 支持批量购买静态IP
- 自动计算订单金额
- 支持多种支付方式
- 提供详细的订单信息
支付处理
- 订单支付
- 支持多种支付方式
- 实时支付状态更新
- 自动余额校验
- 支付结果通知
使用流程
-
创建订单
- 选择购买数量和周期
- 确认订单金额
- 联系我们确保IP库存充足(临时方案,后续会开发接口自主查询库存)
- 提交订单请求 调用/client/order/addStatic接口
- 获取订单ID 获取resp.data作为订单ID
-
完成支付
- 使用订单ID发起支付 调用/client/payment/order/pay/{orderId}接口
- 选择支付方式 当前仅支持BALANCE
- 确认支付结果
- 查看订单状态
使用建议
- 下单前确认所需的静态IP数量
- 注意检查账户余额是否充足
- 保存订单ID以便后续查询
- 及时确认支付结果状态
- 如遇支付失败,查看具体错误信息
新购下单
本接口用于新购下单
接口信息
POST /client/order/addStatic
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| countryNums | 是 | Array of CountryNumsItemVO | 国家IP数量分配列表 |
| monthCount | 是 | Long | 购买几个月 |
| currency | 是 | String | 货币类型USD |
CountryNumsItemVO结构
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| countryCode | 是 | String | 国家代码 |
| location | 是 | String | 省/州/区 |
| num | 是 | Long | 该国家需要的IP数量 |
| ipType | 是 | Long | 0:广播 1:原生 |
请求示例
const response = await fetch('/client/order/addStatic', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({
"countryNums": [
{
"countryCode": "US",
"num": "2",
"ipType":1
}
],
"monthCount":1,
"currency":"USD"
})
});
const result = await response.json();
响应结果
{
"msg": "操作成功",
"code": 200,
"data": "N2025032701271232584"
}
续费下单
本接口用于续费下单,支持批量IP续费。
接口信息
POST /client/order/renewIpList
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| ipList | 是 | Array[String] | IP列表 |
| monthCount | 是 | Long | 续费几个月 |
请求示例
const response = await fetch('/client/order/renewIpList', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({
"ipList": [
"43.255.80.100"
],
"monthCount": 1
})
});
const result = await response.json();
响应结果
{
"msg": "下单成功",
"code": 200,
"data": "N2025032701271232584"
}
退订下单
本接口用于退订下单,支持批量IP退订。
接口信息
POST /client/order/unsubscribeStaticIps
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| ipList | 是 | Array[String] | IP列表 |
请求示例
const response = await fetch('/client/order/unsubscribeStaticIps', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({
"ipList": [
"43.255.80.100"
]
})
});
const result = await response.json();
响应结果
{
"msg": "操作成功",
"code": 200,
"data": "true"
}
订单支付
支付订单。
接口信息
POST /client/payment/order/pay/{orderId}
请求头
| 参数名 | 类型 | 描述 |
|---|---|---|
| x-merchant-token | String | 商户令牌 |
| x-merchant-code | String | 商户代码 |
| Content-Type | String | application/json |
路径参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| orderId | String | 订单ID,从下单返回值中获取 |
请求参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| payment | String | 支付方式,目前仅支持"BALANCE" |
请求示例
{
"payment": "BALANCE"
}
代码示例
fetch('/client/payment/order/pay/N2025032701271232584', {
method: 'POST',
headers: {
'x-merchant-token': 'your_token',
'x-merchant-code': 'your_code',
'Content-Type': 'application/json'
},
body: JSON.stringify({
payment: "BALANCE"
})
})
.then(response => response.json())
.then(data => console.log(data));
响应示例
{
"msg": "操作成功",
"code": 200,
"data": {
"paymentType": "BALANCE",
"paymentName": "余额支付",
"orderId": 207,
"status": 1,
"payMessage": "success"
}
}
//错误返回
{"msg":"余额不足","code":500}
响应参数说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| paymentType | String | 支付方式 |
| paymentName | String | 支付方式名称 |
| status | Integer | 支付状态(1=支付成功,0=支付失败) |
| orderId | String | 订单ID |
| payMessage | String | 支付信息 |
错误码说明
| 错误码 | 描述 |
|---|---|
| 500 | 订单已失效 |
| 500 | 商户钱包账户不存在 |
| 500 | 余额不足 |
容器VPS
容器VPS服务提供基于容器技术的虚拟专用服务器,具有快速部署、资源隔离、性能稳定等特点。
功能特点
资源管理
- VPS列表查询
- 查看所有VPS实例
- 实时状态监控
- 资源使用情况
- 到期时间管理
集群管理
- 集群列表查询
- 多区域集群支持
- 资源容量展示
- 集群状态监控
- 可用性统计
配置管理
- 集群模板列表
- 多规格配置模板
- 灵活的资源组合
- 价格方案查询
- 一键配置应用
订单管理
产品优势
高性能
- 独立CPU资源
- 专属内存分配
- SSD存储支持
- 大带宽保障
易管理
- 一键开关机
- 实时状态监控
- 自动化运维
- 便捷资源调整
高可用
- 多区域部署
- 实时故障转移
- 数据定期备份
- 7*24小时监控
安全可靠
- 资源隔离保护
- 防火墙管理
- DDoS防护
- 安全组策略
快速开始
-
选择配置
- 查看集群列表选择区域 调用/client/cluster/clusterList接口获取集群id
- 浏览集群VPS配置模板 通过cluster_id调用/client/cluster/templateList接口获取模板id
- 确定资源配置
- 选择购买时长
-
创建实例
- 确认配置信息
- 联系我们确保VPS库存充足(临时方案,后续会开发接口自主查询库存)
- 提交购买订单 通过模板id及其他参数调用/client/order/addVps接口下订单
- 完成支付 通过订单ID调用/client/payment/order/pay/{orderId}完成支付
- 等待部署完成
-
管理实例
- 查看VPS实例列表 调用/client/vps/list接口
集群列表查询
本接口用于查询VPS集群列表信息,支持分页查询。
接口信息
GET /client/cluster/clusterList
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| pageNum | 否 | Integer | 页码,默认为1 |
| pageSize | 否 | Integer | 每页数量,默认为20 |
| continent | 否 | String | 洲 当前只有North America可用 |
| countryCode | 否 | String | 国家编码 当前只有 US 可用 |
请求示例
const response = await fetch('/client/cluster/clusterList?pageSize=20&pageNum=1', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({})
});
响应结果
{
"total": 1,
"rows": [
{
"id": 6,
"clusterName": "测试集群Beta",
"clusterType": "vps",
"continent": "Asia",
"countryCode": "TH",
"city": "Bangkok"
}
],
"code": 200,
"msg": "查询成功"
}
响应参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| id | Long | 集群ID |
| clusterName | String | 集群名称 |
| clusterType | String | 集群类型 |
| continent | String | 洲 |
| countryCode | String | 国家代码 |
| city | String | 城市 |
集群模板列表
本接口用于查询VPS集群的参数配置模板列表,支持分页查询。
接口信息
GET /client/cluster/templateList
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| clusterId | 是 | String | 集群ID |
| templateId | 否 | String | 集群ID |
请求示例
const response = await fetch('/client/cluster/templateList', {
method: 'GET',
headers: {
'Content-Type': 'multipart/form-data',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({
"clusterId": 6
})
});
响应结果
{
"total": 1,
"rows": [
{
"id": 4,
"clusterId": 6,
"templateId":"povcUS2qr2oHgaz",
"model": "TH.Test2",
"cpuCores": 2,
"cpuModel": "Xeon E5",
"memory": 2,
"diskCapacity": 1000,
"diskModel": "Kingston",
"ioWrite": 100,
"ioRead": 200,
"bandwidth": 1000,
"internetTraffic": 1000,
"ipV4": "BGP",
"ipV6": "Y",
"priceMonthly": 30.00,
"priceQuarterly": 80.00,
"priceSemiAnnually": 160.00,
"priceAnnually": 300.00
}
],
"code": 200,
"msg": "查询成功"
}
响应参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| id | Long | 模板ID |
| clusterId | Long | 集群ID |
| templateId | String | 模板查询ID |
| model | String | 模板型号 |
| cpuCores | Integer | CPU核心数 |
| cpuModel | String | CPU型号 |
| memory | Integer | 内存大小(GB) |
| diskCapacity | Integer | 磁盘容量(GB) |
| diskModel | String | 磁盘型号 |
| ioWrite | Integer | 磁盘写入速度(MB/s) |
| ioRead | Integer | 磁盘读取速度(MB/s) |
| bandwidth | Integer | 带宽大小(Mbps) |
| internetTraffic | Integer | 月流量(GB) |
| ipV4 | String | IPv4类型 |
| ipV6 | String | 是否支持IPv6(Y/N) |
| priceMonthly | BigDecimal | 月付价格 |
| priceQuarterly | BigDecimal | 季付价格 |
| priceSemiAnnually | BigDecimal | 半年付价格 |
| priceAnnually | BigDecimal | 年付价格 |
VPS购买下单
本接口用于创建VPS实例订单。
接口信息
POST /client/order/addVps
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| quantity | 是 | Long | 购买数量 需要与orderItems的size保持一致 |
| currency | 是 | String | 货币单位 当前仅支持USD |
| payMethod | 是 | String | 当前仅支持BALANCE |
| payMode | 是 | String | PAY_LATER(后付) PAY_FIRST(先付) |
| activationDurationType | 是 | String | 购买月份数量 |
| orderItems | 是 | Array[OrderItemVO] | 订单行信息 |
OrderItemVO结构
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| hostTemplateId | 是 | String | 模板配置ID |
请求示例
const response = await fetch('/client/order/addVps', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({
"currency": "USD",
"payMethod": "BALANCE",
"quantity": "1",
"payMode":"PAY_LATER",
"orderItems":[{
"hostTemplateId": "3JL0zijqkelPzse"
}],
"activationDurationType":"2"
});
响应结果
{
"msg": "下单成功",
"code": 200,
"data": "N2025032701271232584"
}
注意事项
- 下单前请确认集群资源是否充足
- 配置参数需要在允许范围内
- 确保账户余额充足
- 保存订单ID用于后续操作
- 下单成功后需及时完成支付
订单支付
支付订单。
接口信息
POST /client/payment/order/pay/{orderId}
请求头
| 参数名 | 类型 | 描述 |
|---|---|---|
| x-merchant-token | String | 商户令牌 |
| x-merchant-code | String | 商户代码 |
| Content-Type | String | application/json |
路径参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| orderId | String | 订单ID,从下单返回值中获取 |
请求参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| payment | String | 支付方式,目前仅支持"BALANCE" |
请求示例
{
"payment": "BALANCE"
}
代码示例
fetch('/client/payment/order/pay/N2025032701271232584', {
method: 'POST',
headers: {
'x-merchant-token': 'your_token',
'x-merchant-code': 'your_code',
'Content-Type': 'application/json'
},
body: JSON.stringify({
payment: "BALANCE"
})
})
.then(response => response.json())
.then(data => console.log(data));
响应示例
{
"msg": "操作成功",
"code": 200,
"data": {
"paymentType": "BALANCE",
"paymentName": "余额支付",
"status": 1
}
}
//错误返回
{"msg":"余额不足","code":500}
响应参数说明
| 参数名 | 类型 | 描述 |
|---|---|---|
| paymentType | String | 支付方式(BALANCE=余额支付) |
| paymentName | String | 支付方式名称 |
| status | Integer | 支付状态(1=支付成功,0=支付失败) |
错误码说明
| 错误码 | 描述 |
|---|---|
| 500 | 订单已失效 |
| 500 | 商户钱包账户不存在 |
| 500 | 余额不足 |
VPS订单列表查询
本接口用于查询VPS订单列表信息
接口信息
POST /client/order/vpsOrderList
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| orderNo | 是 | String | 订单号 |
请求示例
const response = await fetch('/client/order/vpsOrderList', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({
"orderNo":"N2025032701271232584"
})
});
响应结果
{
"msg": "操作成功",
"code": 200,
"data": {
"orderNo": "N2025032701271232584",
"quantity": 1,
"totalAmount": 30.000,
"currency": "USD",
"paidStatus": 10,
"payMethod": null,
"effectiveDatetime": "2025-03-27",
"expireDatetime": "2025-05-27",
"orderItems": [
{
"orderNo": "N2025032701271232584",
"hostIp": "192.168.2.7",
"containerId": "c6512562422d",
"clusterId": 6,
"hostTemplateId": "povcUS2qr2oHgaz",
"activationDurationType": "2",
"continent": "Asia",
"countryCode": "TH",
"city": "Bangkok",
"effectiveDatetime": "2025-03-27",
"expireDatetime": "2025-05-27",
"model": "TH.Test2",
"cpuCores": 2,
"cpuModel": "Xeon E5",
"memory": 2,
"diskCapacity": 1000,
"diskModel": "Kingston",
"ioWrite": 100,
"ioRead": 200,
"bandwidth": 1000,
"internetTraffic": 1000,
"ipV4": "BGP",
"ipV6": "Y"
}
]
}
}
响应参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| orderNo | String | 订单号 |
| quantity | Integer | 购买sh匀 |
| totalAmount | Double | 购买金额 |
| currency | String | 货币单位(当前仅支持USD) |
| paidStatus | Integer | 支付状态(0-已取消,10-新订单-未支付,20-已支付) |
| payMethod | String | 支付方式(当前仅支持BALANCE) |
| effectiveDatetime | String | 生效时间 |
| expireDatetime | String | 过期时间 |
| orderItems | 是 | Array[OrderItemVO] |
OrderItemVO结构
| 参数名 | 类型 | 说明 |
|---|---|---|
| orderNo | String | 订单号 |
| hostIp | String | VPS IP |
| containerId | String | 容器ID |
| clusterId | Integer | 集群ID |
| hostTemplateId | String | 配置模板ID |
| activationDurationType | String | 购买方式 |
| continent | String | 地区 |
| countryCode | String | 国家编号 |
| city | String | 城市 |
| effectiveDatetime | String | 生效时间 |
| expireDatetime | String | 过期时间 |
| model | String | 型号 |
| cpuCores | Integer | 核心数 |
| cpuModel | String | cpu型号 |
| memory | Integer | 内存大小 |
| diskCapacity | Integer | 硬盘容量 |
| diskModel | String | 硬盘型号 |
| ioWrite | Integer | 写速度 |
| ioRead | Integer | 读速度 |
| bandwidth | Integer | 带宽 |
| internetTraffic | Integer | 流量 |
| ip_v4 | String | ip_v4 |
| ip_v6 | Integer | ipv6(Y-支持,N-不支持) |
| bandwidth | Integer | 带宽 |
VPS列表查询
本接口用于查询VPS容器实例列表,支持分页查询和条件筛选。
接口信息
GET /client/vps/list
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| pageNum | 否 | Integer | 页码,默认为1 |
| pageSize | 否 | Integer | 每页数量,默认为20 |
| sshAccount | 否 | String | ssh账号 |
| containerId | 否 | String | 容器ID |
| status | 否 | Long | 状态:0-初始化,10-创建中,20-正常,25-待开启,30-待停服,40-已停服,50-待删除,60-已删除, 70-已到期 |
请求示例
const response = await fetch('/client/vps/list?sshAccount=root&type=0&status=20&pageSize=10&pageNum=1', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({})
});
响应结果
{
"total": 1,
"rows": [
{
"id": 1,
"hostTemplateId": "3JL0zijqkelPzsE",
"containerId": "52da3625ec8a",
"sshAccount": "root",
"sshPwd": "15r2YGQN",
"sshPort": 22,
"nodePort": 22,
"status": 40,
"expireDate": "2025-03-18",
"type": 0,
"vpsIp": "192.168.100.100",
"containerName": "es2GKQFk",
"containerIp": "192.168.1.2",
"continent": "Asia",
"countryCode": "TH",
"city": "Bangkok"
}
],
"code": 200,
"msg": "查询成功"
}
响应参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| id | Long | 实例ID |
| hostTemplateId | String | 配置参数ID |
| containerId | String | VPS实例ID |
| sshAccount | String | SSH账号 |
| sshPwd | String | SSH密码 |
| sshPort | Integer | SSH端口 |
| nodePort | Integer | 节点端口 |
| status | Integer | 状态:0-初始化,10-创建中,20-正常,25-待开启,30-待停服,40-已停服,50-待删除,60-已删除, 70-已到期 |
| expireDate | String | 到期日期 |
| vpsIp | String | VPS IP地址 |
| containerName | String | 容器名称 |
| continent | String | 洲 |
| countryCode | String | 国家代码 |
| city | String | 城市 |
VPS续费下单
本接口用于续费VPS实例。
接口信息
POST /client/order/addVps
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| quantity | 是 | Long | 购买数量 当前仅支持 1 |
| currency | 是 | String | 货币单位 当前仅支持USD |
| payMethod | 是 | String | 当前仅支持BALANCE |
| payMode | 是 | String | PAY_LATER(后付) PAY_FIRST(先付) |
| activationDurationType | 是 | String | 购买月份数量 |
| orderItems | 是 | Array[OrderItemVO] | 订单行信息 |
OrderItemVO结构
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| hostTemplateId | 是 | String | 模板配置ID |
| containerId | 是 | String | 容器ID |
请求示例
const response = await fetch('/client/order/addVps', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({
"currency": "USD",
"payMethod": "BALANCE",
"quantity": "1",
"payMode":"PAY_LATER",
"orderItems":[{
"containerId":"45b48b4459be"
}],
"activationDurationType":"2"
})
});
响应结果
{
"msg": "下单成功",
"code": 200,
"data": "N2025032701271232584"
}
注意事项
- 下单前请确认集群资源是否充足
- 配置参数需要在允许范围内
- 确保账户余额充足
- 保存订单ID用于后续操作
- 下单成功后需及时完成支付
退订VPS
本接口用于退订VPS
接口信息
POST /client/order/unsubscribeVps
请求头
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| x-merchant-token | 是 | string | 商户访问令牌 |
| x-merchant-code | 是 | string | 商户编码 |
请求参数
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| unsubscribeContainerIds | 是 | String | 要退订的容器ID,多个ID用逗号分隔 |
请求示例
const response = await fetch('/client/order/unsubscribeVps', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-merchant-token': 'your-token-here',
'x-merchant-code': 'your-merchant-code'
},
body: JSON.stringify({
"unsubscribeContainerIds": "45b48b4459be,7669a9735014",
})
});
const result = await response.json();
响应结果
{
"msg": "操作成功",
"code": 200,
"data": true
}