# 退出码

> Shoplazza CLI 返回的退出码：API、校验、认证、网络和内部错误，以及在 Shell 脚本中如何按码分支处理。

Shoplazza CLI 使用结构化退出码指示失败类型。

| 退出码 | 类型 | 说明 |
|--------|------|------|
| `0` | 成功 | 命令执行成功 |
| `1` | API 错误 | Shoplazza API 返回错误（403 以外的 4xx，或 5xx） |
| `2` | 验证错误 | 输入无效、未知命令或参数、缺少必要参数、数据格式错误，或尚未配置 profile |
| `3` | 认证错误 | 凭证缺失或过期、作用域不足（HTTP 403） |
| `4` | 网络错误 | 连接失败、超时、DNS 解析错误 |
| `5` | 内部错误 | 非预期的 CLI 错误（Bug） |
| `130` | 已取消 | 在交互式终端中拒绝了确认，或用 Ctrl-C 中止了提示；不输出任何内容 |

## 在脚本中使用

```shell
shoplazza products list
case $? in
  0) echo "成功" ;;
  1) echo "API 错误 — 检查响应内容" ;;
  2) echo "验证错误 — 检查参数" ;;
  3) echo "认证错误 — 执行：shoplazza auth login" ;;
  4) echo "网络错误 — 检查网络连接" ;;
  5) echo "内部错误 — 请报告 Bug" ;;
esac
```
