错误

最后更新:2026年6月22日

请求失败时,WEEGLOO 会同时返回格式统一的错误响应体和 HTTP 状态码。无论失败发生在哪个 API(CMA、CDA、ACMA、ACDA、Upload、Auth),响应体的结构都相同。因此只要掌握一种格式,就能以同一种方式对所有错误进行分支处理。本页将该通用格式与常见的错误码集中整理在一处。

错误响应格式

错误响应体的结构如下。下面是查询不存在的 WebHosting 时收到的响应。

{
  "requestId": "GeR3sEbvWdgvv9eW2NXeanpj2wo6qbkVXgIW7Qd3ea6",
  "sys": {
    "id": "RxcgyPTSuk4GDy6s",
    "type": "NotFound",
    "code": "WGL404001",
    "timestamp": 1781785683556
  },
  "details": {
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } }
  },
  "reason": "WebHosting(...) has been deleted or does not exist.",
  "suggestion": "Please verify WebHosting and try again."
}

各键的含义如下。

类型说明
requestIdstring本次请求的追踪标识符。联系支持时一并提供该值,即可快速定位到对应的请求。
sys.typestring错误分类。表示 UnauthorizedForbiddenNotFoundUnprocessableConflictTooManyRequest 等大类。
sys.codestring具体错误码(例如 WGL409005)。按错误码进行分支处理时使用该值。
sys.timestampinteger错误发生时刻(epoch millis)。
reasonstring供人阅读的失败原因。
suggestionstring有助于解决问题的提示。
detailsobject(可选)附加信息。包含指向相关资源的 Refer、校验错误项列表(errors)等。根据错误类型的不同,该字段可能不存在。

分支处理可按需选择 sys.type(大类)或 sys.code(具体错误码)作为单位。即便 sys.type 相同,sys.code 不同则原因也不同,因此如需精确处理,请以 sys.code 为准。

校验失败时,不符合规则的项会包含在 details.errors 中。下面是在请求体中放入了 schema 中不存在的属性而导致校验失败的响应。

{
  "requestId": "yJ8KpQ2mWtnLrZ4Xv7BcEadfh3sNuMvKbGT5Pq9wRsx",
  "sys": {
    "id": "Lm2Nq9Tr8KdW4xZc",
    "type": "BadRequest",
    "code": "WGL400006",
    "timestamp": 1781776000000
  },
  "details": {
    "errors": [
      { "path": "", "message": "property 'X' is not defined in the schema", "property": "X" }
    ]
  },
  "reason": "Some values do not satisfy validation rules.",
  "suggestion": "Please check the request body and try again."
}

details.errors 中的每一项都包含不符合规则的位置(path)、说明(message)和相关属性名(property)。若存在多项,则每个不符合规则的值各对应一项。

常见错误码

下面是经常遇到的错误码。

错误码分类含义常见场景
WEB401001Unauthorized令牌无效Authorization Bearer 令牌已过期或不正确。
WGL403001Forbidden没有权限调用方的角色不允许执行该操作。
WGL404001NotFound资源不存在或已删除使用了错误的 sys.id 进行查询,或调用了尚未配置的功能(例如未关联自定义域名)。
WGL400006BadRequest请求体的值不符合校验规则使用了错误的字段键或类型发送请求体。不符合规则的项会包含在 details.errors 中。
WGL409005Conflict资源在此期间被修改缺少 X-Weegloo-Version 头,或其值与当前版本不一致(参见约定)。
WGL422007Unprocessable处于发布状态,无法归档要归档 ContentMedia,必须先取消发布。
WGL422009Unprocessable处于发布状态,无法删除要删除已发布的 ContentMedia,必须先取消发布。
WGL429001TooManyRequest超出方案额度OrganizationSpace 等资源的创建数量超出了当前方案的额度。升级方案即可提高额度。

以上是经常遇到的一部分错误码。除此之外,根据操作和资源的不同,可能还有更多错误码。无论收到哪种错误码,都可以通过 sys.type 把握大类,并通过 reasonsuggestion 确认具体原因和解决方向。

  • 约定:用于避免 WGL409005X-Weegloo-Version 并发约束。
  • 系统属性 (sys):发布状态(status),以及 WGL422007WGL422009 所指向的生命周期。