Appearance
用户IMEI卡密充值
用于实现通过IMEI设备标识和专属卡密(仅支持IMEI类型)充值的功能,支持GET和POST两种请求方式。参数需根据后台“用户令牌是否启用”灵活选择,appid(应用ID)、imei(设备标识)、key(卡密)、signature(应用签名)为必填项,仅支持“imei类型”卡密,同时需通过设备标识格式、卡密状态等前置校验。
请求地址 GET / POST
http
https://nobase.cn/api/code/imei_recharge请求参数
| 参数名 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| appid | query | string | ✅ 是 | 应用ID,填写从开发者中心获取的应用唯一标识 |
| imei | query | string | ✅ 是 | 设备IMEI标识,需符合8-20位数字/字母组合(大小写不敏感,无特殊字符) |
| key | query | string | ✅ 是 | IMEI专属卡密,需为未使用的有效卡密(仅支持数字和小写字母组合,且卡密类型必须为“imei”) |
| signature | query | string | ✅ 是 | 应用签名,直接从后台复制获取,无需手动生成 |
| token | query | string | 条件必选 | 用户令牌,仅在“用户令牌启用”时需传递;需为登录成功后获取的有效令牌,用于验证操作身份 |
| user | query | string | 条件必选 | 用户账号,仅在“用户令牌未启用”时需填写;格式为纯数字(如手机号),需与应用内注册账号一致 |
| pass | query | string | 条件必选 | 用户密码,仅在“用户令牌未启用”时需填写;格式为字母数字组合(不可含中文),需与账号绑定的密码一致 |
返回示例
成功响应(充值成功)
json
{
"code": 200,
"msg": "success",
"data": "充值成功"
}失败响应(参数缺失)
json
{
"code": 204,
"msg": "fail",
"data": "接口参数错误:用户令牌启用时需传token!"
}失败响应(令牌/账号异常)
json
{
"code": 401,
"msg": "fail",
"data": "token无效或已过期(非当前应用/开发者)!"
}失败响应(格式/类型错误)
json
{
"code": 404,
"msg": "fail",
"data": "IMEI格式错误!需8-20位数字/字母!"
}json
{
"code": 404,
"msg": "fail",
"data": "卡密类型不支持!仅IMEI卡密可用!"
}失败响应(状态异常)
json
{
"code": 404,
"msg": "fail",
"data": "开发者账号已逾期(3天),请缴费后重试!"
}返回数据结构
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | number | 状态码:200=充值成功;204=参数缺失/错误;401=令牌无效;404=IMEI/卡密/账号/开发者/应用状态异常;405=充值失败;407=卡密格式错误/应用配置不存在 |
| msg | string | 状态描述:success=成功,fail=失败 |
| data | string | 响应数据:返回操作结果提示或错误原因,如“充值成功”“IMEI格式错误!需8-20位数字/字母!” |
代码示例
javascript
// 1. 配置参数(用户令牌启用,需传有效token)
const appid = "your_app_id";
const imei = "861234567890123456"; // 符合格式的设备IMEI
const key = "imei_km123abc456"; // 有效IMEI类型卡密(数字+小写字母)
const signature = "signature_from_backend";
const token = "valid_user_token"; // 登录获取的有效令牌
// 2. 构造POST参数
const params = new URLSearchParams({
appid,
imei,
key,
signature,
token
});
// 3. 发起POST请求(使用新接口地址)
fetch("https://nobase.cn/api/code/imei_recharge", {
method: "POST",
body: params,
headers: { "Content-Type": "application/x-www-form-urlencoded" }
})
.then(res => res.json())
.then(res => {
res.code === 200
? console.log("IMEI卡密充值成功:", res.data)
: console.error("IMEI卡密充值失败:", res.data);
})
.catch(err => console.error("请求异常:", err));javascript
// 1. 配置参数(用户令牌未启用,需传user和pass)
const appid = "your_app_id";
const imei = "A1B2C3D4E5F6G7H8"; // 符合格式的设备IMEI
const key = "imei_km789def012"; // 有效IMEI类型卡密
const signature = "signature_from_backend";
const user = "13800138000"; // 用户账号(纯数字)
const pass = "UserPass123"; // 用户密码(字母数字组合)
// 2. 拼接GET参数
const params = new URLSearchParams({ appid, imei, key, signature, user, pass });
const requestUrl = `https://nobase.cn/api/code/imei_recharge?${params.toString()}`;
// 3. 发起GET请求(使用新接口地址)
fetch(requestUrl)
.then(res => res.json())
.then(res => {
res.code === 200
? console.log("IMEI卡密充值成功:", res.data)
: console.error("IMEI卡密充值失败:", res.data);
})
.catch(err => console.error("请求异常:", err));python
import requests
# 1. 配置参数
params = {
"appid": "your_app_id",
"imei": "867654321098765432",
"key": "imei_kmabc123456",
"signature": "signature_from_backend",
"token": "valid_user_token"
}
# 2. 发起POST请求(使用新接口地址)
url = "https://nobase.cn/api/code/imei_recharge"
try:
res_data = requests.post(url, data=params, timeout=5).json()
print(f"充值结果:{res_data['data']}")
except requests.exceptions.RequestException as e:
print(f"请求异常:{str(e)}")python
import requests
# 1. 配置参数
params = {
"appid": "your_app_id",
"imei": "D8E7F6G5H4I3J2K1L0",
"key": "imei_kmdef789012",
"signature": "signature_from_backend",
"user": "13900139000",
"pass": "UserPass456"
}
# 2. 发起GET请求(使用新接口地址)
url = "https://nobase.cn/api/code/imei_recharge"
try:
res_data = requests.get(url, params=params, timeout=5).json()
print(f"充值结果:{res_data['data']}")
except requests.exceptions.RequestException as e:
print(f"请求异常:{str(e)}")注意事项
参数选择规则
- 用户令牌启用:仅需传递
appid、imei、key、signature、token,无需传user和pass,减少敏感信息暴露; - 用户令牌未启用:必须传递
appid、imei、key、signature、user、pass,不可同时传递token和user/pass,避免参数冲突。
- 用户令牌启用:仅需传递
IMEI与卡密特殊要求
- IMEI格式:需为8-20位数字/字母组合(大小写不敏感),含空格、符号等特殊字符或长度不符,会返回“IMEI格式错误”;
- 卡密限制:仅支持“imei类型”卡密,共享卡、VIP卡等其他类型会返回“卡密类型不支持!仅IMEI卡密可用!”;且卡密需为未使用状态(
km_states=1),已使用卡密会返回“卡密已被使用!”。
核心校验逻辑
接口会自动校验以下内容,异常时返回对应提示,需提前确保:- 开发者账号未逾期且状态正常(非禁用);
- 应用处于“正常状态”(非审核中、非停用);
- 用户账号(令牌未启用时)已注册、状态正常,且账号格式为纯数字;
- 签名(
signature)与后台配置一致,否则会返回“用户访问被限制:签名校验失败!”。
充值逻辑说明
接口会根据IMEI是否已存在自动处理:- 新IMEI(首次充值):新增IMEI记录,从当前时间开始计算VIP有效期;
- 已有IMEI(重复充值):更新IMEI绑定的卡密,在原有VIP有效期基础上叠加卡密时长。
安全与体验建议
- 令牌未启用时,
pass以明文传递,生产环境必须使用HTTPS协议,防止密码泄露; - 优先推荐启用用户令牌,降低账号密码泄露风险;
- 前端可提前校验IMEI格式(正则
/^[0-9a-zA-Z]{8,20}$/)和卡密格式(正则/^[0-9a-z]+$/),减少无效接口请求。
- 令牌未启用时,

