URL:http://服务器ip:端口?data=请求数据的base64编码
Method: GET{
"software_id": 0,
"crypt_type": 0,
"operation_type": "string",
"data": "string",
"signature": "string"
}| 字段名 | 格式 | 说明 |
|---|---|---|
| software_id | int | 要请求的软件id |
| crypt_type | int | 加密方式,1为AES-GCM-256,2为AES-CBC-256,推荐使用1 |
| operation_type | string | 具体业务操作类型,详见后方的具体业务介绍,不同业务类型具有不同的业务数据 |
| data | string | 对业务请求数据加密后BASE64编码的数据,BASE64(AES(业务请求数据)),每个业务有不同的数据 |
| signature | string | 使用hmac-sha256签名本json文本后的BASE64编码数据。签名时不包含此字段,计算出签名后再添加本字段到此json中,校验签名的时候,也要先把此字段移除 |
{
"code":0,
"message":"",
"data":"",
"signature":""
}| 字段名 | 格式 | 说明 |
|---|---|---|
| code | int | 请求的错误码,详见下方的错误码列表 |
| message | string | 请求结果信息,对错误码的详细解释 |
| data | string | 对业务响应数据加密后BASE64编码的数据,BASE64(AES(业务响应数据)),不同业务请求有不同的响应 |
| signature | string | 使用hmac-sha256签名本json文本后的BASE64编码数据。签名时不包含此字段,计算出签名后再添加本字段到此json中,校验签名的时候,也要先把此字段移除 |
{
"nonce":"",
"timestamp":0,
"machine_code":"",
"token":""
}| 字段名 | 格式 | 说明 |
|---|---|---|
| nonce | string | 封包唯一值,一定要随机,建议使用GUID+时间戳 |
| timestamp | int | 10位 UNIX时间戳 |
| machine_code | string | 机器码数据 |
| token | string | 卡密登录之后才会返回token,未登录时此值为空即可 |
{
"nonce":"",
"timestamp":0,
"machine_code":"",
"server_timestamp":0
}| 字段名 | 格式 | 说明 |
|---|---|---|
| nonce | string | 业务请求数据公共头中的原样返回 |
| timestamp | int | 业务请求数据公共头中的原样返回 |
| machine_code | string | 业务请求数据公共头中的原样返回 |
| server_timestamp | int | 服务器的10位UNIX时间戳 |
无{
"basic.announcement":"",
"update.download_url":"",
"update.force":"1",
"update.version":"",
"software_id":1,
"name":"",
"description":""
}| 字段名 | 格式 | 说明 |
|---|---|---|
| basic.announcement | string | 公告数据,utf8编码 |
| update.download_url | string | 版本下载连接,utf8格式 |
| update.force | string | 是否强制更新,"1"为强制更新,"0"为不强制 |
| update.version | string | 当前版本 |
| software_id | int | 软件的id |
| name | string | 软件名,utf8编码 |
| description | string | 软件描述,utf8编码 |
{
"card_key":""
}| 字段名 | 格式 | 说明 |
|---|---|---|
| card_key | string | 卡密 |
{
"token": "7b5120903a021f6c0ec719f50d67cb44f0cc2237e36270124788d3483ff16ef3",
"card_info": {
"activated_machine_count": 1,
"activation_time": 1757601213,
"create_time": 1757578575,
"creator": "admin",
"expiry_time": 1757604813,
"key": "FX2XSM1I0IJS5CWW5YTOS1458EFWL7HG",
"note": "",
"remaining_points": 100,
"status": "used"
},
"card_type_info": {
"available_points": 100,
"available_seconds": 3600,
"bind_ip": false,
"created_at": 1757577818,
"id": 6,
"key_length": 32,
"max_instance": 1,
"max_machines": 1,
"name": "3333",
"note": "",
"prefix": "",
"price": 1,
"rebind_deduct_points": 0,
"rebind_deduct_seconds": 0,
"software_id": 3,
"updated_at": 1757577818,
"use_separator": false
},
"machine_info": {
"activation_ip": "127.0.0.1",
"activation_time": 1757601213,
"card_key_id": 5107,
"first_login": false,
"id": 2,
"last_used_time": 1757601213,
"machine_code": "test_machine",
"status": "active"
}
}| 字段名 | 格式 | 说明 |
|---|---|---|
| token | string | 会话token,登录之后只需用此token进行后续操作即可,对就业务请求数据公共头中的token字段 |
| card_info | object | 卡密信息 |
| card_type_info | object | 卡密类型信息 |
| machine_info | object | 绑定机器信息 |
| 字段名 | 格式 | 说明 |
|---|---|---|
| activated_machine_count | int | 卡密已激活的机器数量 |
| activation_time | int | 卡密激活时间,10位UNIX时间戳 |
| create_time | int | 卡密创建时间 |
| creator | string | 卡密创建者,admin是管理员其他是代理名 |
| expiry_time | int | 卡密到期时间 |
| key | string | 卡密文本 |
| note | int | 卡密备注 |
| remaining_points | int | 卡密剩余点数 |
| status | string | 卡密状态,used是已使用,disabled是已禁用 |
| 字段名 | 格式 | 说明 |
|---|---|---|
| available_points | int | 可用点数 |
| available_seconds | int | 可用时间,单位秒 |
| bind_ip | bool | 是否绑定ip |
| created_at | int | 创建时间 |
| id | int | 卡密类型id |
| key_length | int | 卡密长度 |
| max_instance | int | 每台机器多开数量 |
| max_machines | int | 绑机数量,0为不限 |
| name | string | 卡密类型名称 |
| note | string | 卡密类型备注 |
| prefix | string | 卡密前缀 |
| price | int | 卡密价格 |
| rebind_deduct_points | int | 换绑扣除点数 |
| rebind_deduct_seconds | int | 换绑扣除时间,单位秒 |
| software_id | int | 所属软件id |
| updated_at | int | 最后更新时间 |
| use_separator | bool | 卡密文本是否使用分隔符 |
| 字段名 | 格式 | 说明 |
|---|---|---|
| activation_ip | string | 机器激活时的IP |
| activation_time | int | 机器激活绑定时间 |
| card_key_id | int | 机器激活的卡密id |
| first_login | bool | 是否第一次登录 |
| id | int | 机器id |
| last_used_time | int | 最后登录时间 |
| machine_code | string | 机器码 |
| status | string | 状态,active为正常,disabled为禁用 |
{
"vmp_machine_code":"",
"vmp_with_date":true
}| 字段名 | 格式 | 说明 |
|---|---|---|
| vmp_machine_code | string | 使用VMProtectGetCurrentHWID获取的机器码数据 |
| vmp_with_date | bool | 是否获取有到期时间的VMP授权码,到期时间跟卡密到期时间相同 |
{
"license":""
}| 字段名 | 格式 | 说明 |
|---|---|---|
| license | string | 后台生成的VMP授权码,只有第一次会动态生成,之后会直接返回第一次生成的授权码。这样就可以用这个授权码来绑定机器。 |
{
"key":""
}| 字段名 | 格式 | 说明 |
|---|---|---|
| key | string | 变量名 |