跳到主要内容

错误格式

Shoplazza CLI 在 stderr 上使用结构化 JSON 错误结构。

错误结构

{
"error": {
"type": "api",
"message": "Product not found",
"hint": "检查商品 ID 后重试"
},
"request_id": "req_abc123"
}

错误类型

类型退出码说明
api1Shoplazza API 返回错误响应
validation2CLI 输入无效(缺少参数、格式错误)
auth3认证失败(令牌过期、作用域不足)
network4网络连接问题
internal5非预期的 CLI 错误

字段说明

字段类型说明
error.typestring上述 5 种错误类型之一
error.messagestring人类可读的错误描述
error.hintstring可执行的解决建议
request_idstring请求 ID,用于调试(仅 API 错误)

stdout vs stderr

  • stdout — 仅成功数据("ok": true 的 JSON 信封)
  • stderr — 错误、进度指示器、警告和提示

这种分离确保 stdout 可安全管道传输:

shoplazza products list --jq '.data.products[].id' | while read id; do
shoplazza products get --id "$id"
done