使用websoket协议连接服务器 ,发送规定的json加密数据 来与服务器进行交互,
因群主服务器的原因 国内可能存在部分地区屏蔽情况 ,可采用转发的方式 使用自己的服务器进行转发
群主测试服务器连接地址 : ws://v1.msplock.vip:8810/api/user/ws?ExeID=xxx&DevID=xxxx
如果你购买了服务器后台 请填写自己的服务器后台地址: 如ws://xxxxxx:8810/api/user/ws?ExeID=xxx&DevID=xxxx 支持IPv6
接口通讯密钥(服务器自动下发)
提交数据加密:所有提交的数据发送:需通过RC4加密 才能与服务器通信
返回数据解密:所有返回的数据发送:需要通过RC4解密
服务器下发的数据均为 base64编码
注意: 连接服务器,服务器会自动下发接口加密的通讯密钥,需要使用 <<作者密钥>> 解密出接口的通讯密钥,之后使用新密钥进行加解密操作
需要将json 字符串进行utf-8 编码 在进行RC4加密 base64编码发送
可参考Python 源码进行制作其他语言的SDK
为防止服务器更新或重启情况下 有大量连接请求(类似与ddos攻击) 造成服务器短时间资源带宽紧张
推荐 程序等待30-60秒 时间,在进行断线重连操作 易SDK ✔ GoSDK ✔ PythonSDK ✔
群主测试服务器连接地址 ws://v1.msplock.vip:8810/api/user/ws?ExeID=xxx&DevID=xxxx
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| DeviceID | 文本型 | 设备ID |
var json = { "Type": "GetExeInfo" }
var json = { "Type": "GetCode" }
var json = { "Type": "Register", "Data": { "Name": Name, "Pwd": Pwd, "Code": Code } }
| 名称 | 类型 | 注释 |
|---|---|---|
| Name | 文本型 | 用户名 |
| Pwd | 文本型 | 密码 |
| Code | 文本型 | 验证码 |
var json = {"Type":"Login","Data":{"Name":Name,"Pwd":Pwd}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Name | 文本型 | 用户名 |
| Pwd | 文本型 | 密码 |
var json = {"Type":"CarLogin","Data":{"Serial":Serial}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Serial | 文本型 | 卡密 |
var json = {"Type":"UserPay","Data":{"Name":Name,"Serial":Serial}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Name | 文本型 | 用户名 |
| Serial | 文本型 | 卡密 |
提交数据::{"Type":"UpUserPwd","Data":{"Name":Name,"OldPwd":OldPwd,"NewPwd":NewPwd}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Name | 文本型 | 用户名 |
| OldPwd | 文本型 | 旧密码 |
| NewPwd | 文本型 | 新密码 |
换绑成功 扣除用户到期时间
var json = {"Type":"BindDeviceID","Data":{"Name":Name,"Pwd":Pwd}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Name | 文本型 | 用户名/卡密 |
| Pwd | 文本型 | 密码/卡密 |
将用户状态 修改为禁用 并把设备加入黑名单中
var json = {"Type":"AddBlack","Data":{"Bak":Bak}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Bak | 文本型 | 情况说明 |
var json = {"Type":"GetUserInfo"}
用于用户新设备下载配置文件
提交数据::{"Type":"SetUerConf","Data":{"Conf":Conf}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Conf | 文本型 | 用户配置信息 如:用户头像/按键设置等 |
var json = {"Type":"GetExeData"}
var json ={"Type":"GetVariable","Data":{"Key":Key}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Key | 文本型 | 键名称 |
判断仓库里是否有对应类型的卡密 返回卡ID
var json ={"Type":"FindCarInfo","Data":{"CarType":CarType}}
| 名称 | 类型 | 注释 |
|---|---|---|
| CarType | 整数型 | 0=小时卡 1=天卡 2=周卡 3=月卡 4=季卡 5=半年卡 6=年卡 7=永久卡 |
创建支付宝订单 返回base64 图片二维码
var json ={"Type":"AliPayCreate","Data":{"CarID":CarID}}
| 名称 | 类型 | 注释 |
|---|---|---|
| CarID | 文本型 | 卡ID 由支付_查询卡密 获得 |
var json ={"Type":"IsPay","Data":{"CarID":CarID}}
| 名称 | 类型 | 注释 |
|---|---|---|
| CarID | 文本型 | 卡密ID |
事件处理里 进行对消息 CompletePayment的监听,并处理业务逻辑
返回卡密信息
返回卡密信息
var json ={"Type":"PutCar","Data":{"BuillID":BuillID}}
| 名称 | 类型 | 注释 |
|---|---|---|
| BuillID | 文本型 | 支付宝订单号 |
必须在5分钟之内执行一次 // 后台设置了读取超时(5分钟) 超过时间服务器自动断开连接
var json ={"Type":"Ping","Data":{"Token":Token,"Key":key}}
| 名称 | 类型 | 注释 |
|---|---|---|
| Token | 文本型(可空) | 加密数据 |
| Key | 文本型(可空) | 加密密钥 |
token 组成
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型(可空) | 软件ID |
| DevID | 文本型(可空) | 设备ID |
| AdminID | 文本型(可空) | 作者密钥 |
| Version | 文本型(可空) | 版本 |
| ExeMD5 | 文本型(可空) | 软件md5 |
| CRCOld | 文本型(可空) | CRC初始 |
| CRCNew | 文本型(可空) | CRC新 |
| Time | 文本型(可空) | 时间戳 |
服务器自动推送 tag=OffLine 在接受事件里自己处理(程序退出)
服务器自动推送 tag=SendMsg 在接受事件里自己处理(程序展示实时消息)
var json ={"Type":"QuickLogin"}
var json={"Type":"VMPAuth","Data":{"HardwareId":HardwareId}}
| 名称 | 类型 | 注释 |
|---|---|---|
| HardwareId | 文本型(可空) | 设备ID |
/api/user/GetCode?DevKey=XXXXXX
| 名称 | 类型 | 注释 |
|---|---|---|
| DevKey | 文本型 | 校验码 |
/api/user/GetExeInfo?DevKey=XXXXXX
| 名称 | 类型 | 注释 |
|---|---|---|
| DevKey | 文本型 | 校验码 |
/api/user/UserPay
{"ExeID":ExeID,"Name": Name,"Serial": Serial,}
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| Name | 文本型 | 用户名 |
| Serial | 文本型 | 卡密 |
/api/user/UpUserPwd
xxxxxxxxxx{"ExeID":ExeID,"Name":Name,"OldPwd":OldPwd,"NewPwd":NewPwd}
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| Name | 文本型 | 用户名 |
| OldPwd | 文本型 | 旧密码 |
| NewPwd | 文本型 | 新密码 |
/api/user/BindDeviceID
xxxxxxxxxx{"ExeID":ExeID,"Name":Name,"Pwd":Pwd}
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| Name | 文本型 | 用户名 |
| Pwd | 文本型 | 密码 |
/api/user/CarLogin?DevKey=XXXXXX
x{"Serial": Serial,}
| 名称 | 类型 | 注释 |
|---|---|---|
| Serial | 文本型 | 卡密 |
/api/user/Login?DevKey=XXXXXX
xxxxxxxxxx{"Name":Name,"Pwd":Pwd,}
| 名称 | 类型 | 注释 |
|---|---|---|
| Name | 文本型 | 用户名 |
| Pwd | 文本型 | 密码 |
/api/user/Register
xxxxxxxxxx{"ExeID":ExeID,"Name":Name,"Pwd":Pwd,"Code":Code,"DevKey":DevKey,}
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| Name | 文本型 | 用户名 |
| Pwd | 文本型 | 密码 |
| Code | 文本型 | 验证码 |
| DevKey | 文本型 | 检验码 |
/api/user/FindCarInfo?DevKey=XXXXXX
xxxxxxxxxx{"ExeID":ExeID,"TyCar":0}
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| TyCar | 整数型 | 0-7 (0=小时卡 1=天卡 2=周卡 3=月卡 4=季卡 5=半年卡 6=年卡 7=永久卡) |
/api/user/AliPayCreate
xxxxxxxxxx{"ExeID":ExeID,"CarID":CarID}
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| CarID | 文本型 | 从卡密信息获取到的ID |
/api/user/PutCar
xxxxxxxxxx{"ExeID":ExeID,"BuillID":BuillID}
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| BuillID | 文本型 | 账单信息 |
xxxxxxxxxx/api/user/IsPay
xxxxxxxxxx{"CarID":CarID}
| 名称 | 类型 | 注释 |
|---|---|---|
| CarID | 文本型 | 从卡密信息获取到的ID |
xxxxxxxxxx/api/user/GetUserEndTime
xxxxxxxxxx{"ExeID":ExeID,"Name":Name}
| 名称 | 类型 | 注释 |
|---|---|---|
| ExeID | 文本型 | 软件ID |
| Name | 文本型 | 用户名或卡密 |