初始化 (action=init)

客户端启动时首先调用,获取软件配置、公告、版本信息,检查黑名单。

请求参数

参数名类型必填说明
actionstring固定值 init
machine_codestring客户端机器码,用于黑名单检查和设备识别
versionstring建议客户端版本号,用于版本控制检查
timestampint10位秒级Unix时间戳
noncestring建议随机字符串,防重放攻击

成功响应 (code=1)

字段名类型说明
timestampint服务器时间戳
software_namestring软件名称
noticestring公告内容,可为空
latest_versionstring最新版本号
min_versionstring最低允许版本,低于此版本将被拒绝
download_urlstring更新下载地址
trial_enabledint是否开启试用:0=关闭,1=开启
trial_minutesint试用时长(分钟)
login_modeint登录模式:0=双模式,1=仅卡密,2=仅账号
register_need_cardint注册是否需要卡密:0=不需要,1=需要
register_gift_daysint注册赠送天数
register_gift_pointsint注册赠送点数
promo_modeint推广模式:0=关闭,1=奖励被邀请人,2=双方奖励,3=奖励邀请人
promo_daysint推广奖励天数
promo_pointsint推广奖励点数
allow_unbindint是否允许解绑:0=不允许,1=允许
heartbeat_intervalint心跳间隔(秒),客户端应按此间隔发送心跳
heartbeat_timeoutint心跳超时时间(秒)
max_openint最大多开数:0=不限,1=单开,N=最多N个

可能的错误码

错误码说明处理建议
1001初始化参数错误检查请求参数
1002签名验证失败检查签名算法和密钥
1003时间戳已过期同步系统时间
1010软件不存在或AppKey错误检查app_key是否正确
1011软件已停用联系开发者
1012软件维护中稍后再试
1013版本过低提示用户更新
1020IP已被封禁显示封禁提示
1021机器码已被封禁显示封禁提示

请求示例

// 加密前的参数
action=init&machine_code=ABC123DEF456×tamp=1700000000&version=1.0.0

响应示例

{
    "code": 1,
    "msg": "初始化成功",
    "timestamp": 1700000001,
    "software_name": "我的软件",
    "notice": "欢迎使用本软件!",
    "latest_version": "2.0.0",
    "min_version": "1.0.0",
    "trial_enabled": 1,
    "trial_minutes": 30,
    "login_mode": 0,
    "heartbeat_interval": 30,
    "max_open": 1
}