跳转到主要内容

响应信封与错误码:ok、result、description 与重试策略

MPChat Bot API 所有方法共享同一响应信封。学会读 ok/result/description、各错误码含义,以及哪些错误该重试。

永远先判断 ok之后再读 result(成功)或 description + error_code(失败)。


总览

所有方法返回同一信封,你只需写一个解析器并到处复用。

// 成功
{ "ok": true, "result": { ... } }// 失败
{ "ok": false, "description": "可读的错误信息", "error_code": 401 }

错误码

含义

常见原因与处理

400

请求无效

缺字段或消息不存在——修正参数。

401

未授权

token 无效或已 revoke——检查 token。

403

禁止

权限不足或消息归属不符。

409

冲突

Webhook 启用时调用了 getUpdates。

429

限流

超过 30 req/s——退避后重试。

500

服务端错误

平台临时故障——可重试。

50001

MP 业务错误

被业务层拒绝——查阅 description

501

未实现

当前不支持该方法(见方法矩阵)。

处理 409

调用 getWebhookInfo 确认 Webhook 配置。请勿自行执行 deleteWebhook——它是高危受控操作。请联系维护者处理冲突。

错误处理示例

const data = await res.json();
if (!data.ok) {
  console.error({ error_code: data.error_code, description: data.description });
  throw new Error(`Bot API ${data.error_code}: ${data.description}`);
}
return data.result;

重试策略

  • 429、500:带上限的指数退避重试。

  • 400、401、403:不重试——修正输入或权限。

  • 409:先理清轮询与 Webhook 的互斥。

相关文章

错误上报中绝不记录完整 token 或敏感字段。脱敏规则见生产检查清单。

这是否解答了您的问题?