回答
优惠码点击无显示或无法使用,通常由以下几种原因导致。请根据你的身份(开发者或用户)排查对应问题。
开发者侧排查(管理优惠码)
如果你是脚本开发者,在控制台或通过 API 管理优惠码时无法显示,请检查以下条件:
-
脚本状态限制
仅支持已审核通过且含有付费定价计划的脚本创建优惠码。如果脚本仍在审核中或未设置付费计划,无法生成或显示优惠码。 -
接口权限与令牌
调用 API 获取优惠码列表时,需确保请求头包含正确的授权令牌。- 接口地址:
GET /v1/devscripts/开发脚本_id/promocode - 请求头:
Authorization: 你的令牌(hmp 开头) - 令牌格式必须以
hmp开头,否则接口会返回权限错误。
- 接口地址:
-
优惠码有效期
系统生成的优惠码有效期固定为 7 天。过期后优惠码会自动失效,列表中可能不再显示或显示为不可用。 -
API 调试示例
你可以使用以下脚本检查接口是否能正常返回优惠码列表。注意 JavaScript 引擎兼容性,不要使用箭头函数。
// 文档地址 https://docs.hamibot.com/
var scriptId = "你的脚本 ID";
var token = "你的令牌(hmp 开头)";
var url = "https://api.hamibot.com/v1/devscripts/" + scriptId + "/promocode";
var res = http.request(url, {
method: "GET",
headers: {
"Authorization": token,
"Content-Type": "application/json"
}
});
if (res.statusCode === 200 || res.statusCode === 201) {
var data = res.body.json();
if (data && data.length > 0) {
toastLog("获取成功,优惠码数量:" + data.length);
for (var i = 0; i < data.length; i++) {
log("优惠码:" + data[i].code + " 过期时间:" + data[i].expiresAt);
}
} else {
toastLog("列表为空,暂无有效优惠码");
}
} else {
toastLog("请求失败,状态码:" + res.statusCode);
log(res.body.string());
}
用户侧排查(使用优惠码)
如果你是普通用户,在市场点击优惠码无反应:
-
检查过期时间
确认优惠码是否在有效期内。超过 7 天有效期的优惠码无法使用。 -
适用脚本类型
优惠码仅适用于月付类型的付费计划。如果脚本仅支持其他付费模式,优惠码可能无法生效。 -
网络与缓存
- 切换网络环境(WiFi/4G/5G)重试。
- 尝试重启 Hamibot APP 清除缓存。
-
复制方式使用
如果点击无法自动跳转,尝试手动复制优惠码代码,在购买页面手动粘贴输入。
常见错误码
- 204:成功(通常用于删除或更新操作)。
- 422:参数错误(检查脚本 ID 或请求参数)。
- 401/403:授权失败(检查 Token 是否正确)。
若以上步骤无法解决,请确认脚本是否已上架且付费计划配置正常。
ℹ️ 本回答由 AI 生成,内容仅供参考