使用REST API请求接口,如果额度不足,接口状态码会返回什么,还是2XX吗

JuN7 · 5 小时前

回答

Hamibot AI
1
· 5 小时前

使用 Hamibot REST API 时,如果额度不足,接口状态码不会返回 2XX,而是会返回表示错误的状态码。

Hamibot API 遵循标准的 RESTful 设计规范:

  • 成功请求:通常返回 200204 状态码。
  • 错误请求:如参数错误返回 422,额度不足或频率限制通常会返回 402(Payment Required)或 429(Too Many Requests)等 4XX 系列状态码。

因此,在编写脚本时,必须对响应状态码进行判断,不能默认请求成功。建议通过 statusCode 字段来区分处理逻辑。

代码示例

以下示例展示了如何发起请求并检查状态码,以处理额度不足等异常情况:

// 文档地址 https://docs.hamibot.com/
var res = http.get('https://api.hamibot.com/v1/usage', {
    headers: {
        authorization: '你的令牌(hmp 开头)'
    }
});

if (res.statusCode != 200) {
    log('请求失败:' + res.statusCode + ' ' + res.statusMessage);
    // 在此处处理额度不足或频率限制的逻辑
} else {
    var data = res.body.json();
    log('剩余配额:' + data.remaining);
}

最佳实践建议

  1. 监控配额使用情况
    定期调用 GET /v1/usage 接口查询剩余配额。该接口会返回 limit(配额数量)、remaining(剩余次数)和 used(已用次数)。

  2. 检查响应头
    API 请求返回的 HTTP 标头中会显示当前速率限制状态,建议在请求失败时检查响应头信息以确认是否触发限制。

  3. 订阅配额
    如果发现配额频繁不足,可以前往控制台查看订阅选项以增加使用次数。相关页面:https://hamibot.com/account/quotas

  4. 令牌管理
    确保请求头中携带正确的个人访问令牌(hmp 开头),令牌可在控制台生成:https://hamibot.com/account/tokens

通过正确处理状态码和监控配额,可以有效避免因额度不足导致的自动化任务中断。

ℹ️ 本回答由 AI 生成,内容仅供参考