稳定、快速、高效的 数据接口服务
当前接口状态 · 正常
解绑卡密绑定的机器码和 IP,方便用户换设备。
接口地址: https://xy.ttnb666.top/api.php?api=kmunmachine&app=YOUR_APP_ACCESS_CODE
返回格式: JSON
请求方式: POST
请求示例: https://xy.ttnb666.top/api.php?api=kmunmachine&app=YOUR_APP_ACCESS_CODE
安全协议: v2 HMAC-SHA256,旧版 MD5 Sign、GET 直连和 URL 带 key 均不兼容
公共安全参数:
| 名称 | 变量/请求头 | 必填 | 位置 | 说明 |
|---|---|---|---|---|
| 协议版本 | security_version / X-Auth-Version | 是 | POST或Header | 固定填写 2 |
| 时间戳 | security_timestamp / X-Auth-Timestamp | 是 | POST或Header | Unix 秒级时间戳,允许 300 秒误差 |
| 随机串 | security_nonce / X-Auth-Nonce | 是 | POST或Header | 16 到 96 位随机字符串,每次请求必须不同 |
| 请求签名 | security_sign / X-Auth-Signature | 是 | POST或Header | 使用 APPKEY 对签名原文计算 HMAC-SHA256 |
| 登录令牌 | auth_token / X-Auth-Token | 按接口需要 | POST或Header | 卡密登录、账号登录等登录成功后返回;解绑、取文件等授权态接口必须提交 |
签名原文:
app-api-v2 POST kmunmachineYOUR_APP_ACCESS_CODE security_timestamp security_nonce auth_token或留空 按参数名升序排序后的业务参数查询串
业务参数查询串只包含接口业务字段,不包含 api、app、security_version、security_timestamp、security_nonce、security_sign、sign、auth_token、data、value、PHPSESSID 等安全或系统字段。编码规则使用 RFC3986 URL 编码。签名原文里的 app 字段必须和请求地址里的 app 参数完全一致。
响应验签:
服务端返回 server_sign_alg=RSA-SHA256、server_key_id、server_key_scope、server_public_key、server_sign、request_nonce、server_time 客户端必须校验 request_nonce 等于本次 nonce 客户端必须使用当前应用预置的服务端公钥验 server_sign server_sign = base64url(rsa_sha256_sign(canonical_json_without_server_sign, SERVER_PRIVATE_KEY))
每个应用可以配置独立响应签名私钥/公钥。正式客户端不能只信任响应里带回的 server_public_key;应内置当前应用访问码对应的固定公钥或固定 server_key_id。server_public_key 仅用于展示、调试和公钥轮换对照。
业务请求参数说明:
| 名称 | 变量 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
| 接口 | api | 是 | URL Query | 填写kmunmachine |
| 应用 | app | 是 | URL Query | 填写后台应用访问码(URL app 参数) |
| 设备码 | markcode | 是 | POST | 后台设置“仅原设备可解绑”时必须等于原设备码;设置“任何设备可解绑”时可提交当前设备码 |
返回参数说明:
| 名称 | 类型 | 说明 |
|---|---|---|
| code | String | 返回状态 |
| msg | String | 返回内容 |
返回示例:
{
"code": 200,
"msg": "卡密解绑成功",
"time": 1614691420,
"check": "9730a2b274084053f7e42dd5399a0b55"
}
错误码格式说明:
| 名称 | 类型 | 说明 |
|---|---|---|
| 101 | String | 应用不存在 |
| 102 | String | 应用已关闭 |
| 171 | String | 接口维护中 |
| 172 | String | 接口未添加或不存在 |
| 104 | String | 签名为空 |
| 105 | String | 数据过期 |
| 106 | String | 签名有误 |
| 112 | String | 请填写机械码 |
| 148 | String | 卡密为空 |
| 149 | String | 卡密不存在 |
| 151 | String | 卡密禁用 |
代码示例:
暂未添加示例代码