跳到正文

常见问题

先看返回的错误码,再核对对应设置。响应里的 request_id 可以帮助你从服务器日志中找到这次操作,不要把完整密钥贴进日志或截图。

激活失败,先检查什么?

检查服务器地址能否访问、产品 ID 是否正确、授权码是否完整,以及许可证是否属于这个产品。如果服务器还没部署,客户电脑不能用你的 127.0.0.1 地址连接,它表示客户自己的电脑。

错误码先做什么
LICENSE_INVALID检查产品 ID、完整许可证密钥和所属产品
LICENSE_EXPIRED查看许可证到期时间,需要继续使用时由厂商续期
LICENSE_REVOKED
DEVICE_RELEASED
授权已被吊销或设备已释放;客户端会清除旧缓存
DEVICE_LIMIT_REACHED许可证的设备名额已占满;释放旧设备,或修改该许可证的设备上限
API_QUOTA_EXCEEDEDAPI 硬额度已用完;查看当前周期和套餐限制
API_BALANCE_INSUFFICIENTAPI 超额余额不足;检查对应环境和币种的余额
MONTHLY_QUOTA_EXCEEDED设备硬额度已达到;它与许可证的设备上限是两项不同限制
IDEMPOTENCY_CONFLICT同一 Key 被用于不同正文;新操作换新 Key,重试保留原正文
IDEMPOTENCY_EXPIRED旧响应或设备绑定已失效;检查当前状态后,为新的操作使用新 Key

断网后还能用,是否没有验证?

允许离线时,SDK 仍会在本机检查服务器签名、产品、设备、功能和到期时间。它只是没有联系服务器。签名缓存过期,或已联网收到吊销、释放等明确拒绝后,就不能继续使用。

为什么验签或设备检查不通过?

公钥不匹配、使用了其他产品的缓存、把缓存复制到另一台电脑,都可能导致失败。核对 trusted_keys 的密钥 ID 和公钥是否来自当前产品,再检查是否更换或重装了系统。

SDK 报 clock rollback 时,检查系统时间是否被调回。修正时间后,尝试主动联网刷新授权。

完整的错误响应

HTTP 403 · 授权被吊销
{
  "error": {
    "code": "LICENSE_REVOKED",
    "message": "License was revoked"
  },
  "request_id": "99999999-9999-4999-8999-999999999999"
}
字段含义与处理
error.code · string稳定的错误标识,程序按它判断如何处理,不依赖 message 的文字。
error.message · string说明失败原因的文字,适合诊断或转换为面向客户的提示。
request_id · UUID服务器为这次 HTTP 请求生成的编号,供查日志。它不是许可证 ID,也不是 Idempotency-Key。

400 / 415 先修正字段或 Content-Type;401 检查管理 Key;403 按具体错误码处理授权;409 检查额度、会话或幂等冲突;429 按 Retry-After 等待。运行授权请求重试时沿用原 Idempotency-Key 和正文;管理写请求按各接口的幂等规则恢复,普通签发和续期不能因超时直接重发。

请求返回的 JSON 怎么看?

成功返回 data 和 request_id;失败返回 error.code、error.message 和 request_id。保留错误码和 request_id 就能定位多数问题。

需要检查邮件、支付或部署设置时,继续看 支持与排查。