# jzwo API — 开放接口说明（面向 AI 助手）

> 基址：https://api.jzwo.cn
> 本文档为纯文本索引，便于 AI 助手直接读取。人类可读版见 https://api.jzwo.cn/

## 通用约定

- 返回结构统一为 `{ code, msg, data, request_id, usage, elapsed_ms, tips }`；`code = 0` 表示成功。
- 鉴权可选，三种方式任选：`Authorization: Bearer sk_live_xxx`、`X-API-Key: sk_live_xxx`、`?key=sk_live_xxx`。
- 不传 Key 时按来源 IP 使用匿名额度；带 Key 可获额度倍率（免费 2×、专业 10×、企业 20×）。
- 额度按「调用方 + 接口」独立计数，每日 00:00 重置。响应里的 `usage` 会回显该接口的上限与已用量，不限次数的接口返回 `unlimited: true`。
- 查询结果有缓存：备案 24 小时、DNS 5 分钟、Whois 1 小时等，命中缓存同样计入次数但响应更快。

## 接口列表

### 1. ICP 备案查询
- `GET /api/icp?domain=baidu.com`
- 参数：`domain`（必填，域名或 URL）
- 返回 `data`：`is_filed`（是否备案）、`icp_code`、`site_name`、`company_name`、`company_type`、`audit_time`、`source`
- 示例：`{"code":0,"data":{"domain":"baidu.com","is_filed":true,"icp_code":"京ICP证030173号-1"}}`

### 2. 域名可用性检查
- `POST /api/check`，body：`{"domains":["example.com","qq.com"]}`
- 返回 `data.lists`：`1`=可注册（权威源明确未注册）、`2`=已注册、`5`=查询无定论
- 说明：WHOIS 权威查询优先，缺失时回退该后缀官方 RDAP，覆盖 1500+ 后缀；「已注册但未配 DNS」也会判为已注册

### 3. Whois 查询
- `GET /api/whois?domain=qq.com`
- 返回 `data`：`registrar`、`created`、`expires`、`name_servers[]`、`status[]`、`whois_server`、`premium`

### 4. DNS 记录查询
- `GET /api/dns?host=qq.com&type=A`（`type` 可组合，如 `A,MX`）
- 返回 `data.records[]`（含 `type`/`name`/`ttl`/`data`/`sources[]`）与 `data.providers[]`（各公共 DoH 源状态）

### 5. DNS 健康检测
- `GET /api/dns-health?host=qq.com`
- 返回 `data.status`（ok/warn）、`data.checks[]`（逐项检查结果）、`data.records`（各类型解析记录）

### 6. DNS 解析追踪
- `GET /api/dns-trace?host=baidu.com`
- 返回 `data.chain[]`（逐级链路）、`data.nameservers[]`（权威 NS 直查结果）、`data.consistent`（是否一致）
- 注意：开销较大，每日上限 1,000 次

### 7. DNS 劫持检测
- `GET /api/dns-hijack?host=qq.com`
- 返回 `data.risk`（safe / safe_with_geodns / suspicious / hijacked）、`data.providers[]`、`data.reasons[]`

### 8. SSL / TLS 证书查询
- `GET /api/ssl?host=qq.com`
- 返回 `data`：`issuer`、`subject`、`not_before`、`not_after`、`days_left`、`san[]`、`tls_version`

### 9. CDN IP 段查询
- `GET /api/cdn-ip?vendor=all`（`cloudflare` / `aliyun` / `tencent` / `all`）
- 返回 `data.vendors.<厂商>.ipv4[]` 与 `.ipv6[]`

### 10. 哈希计算
- `GET /api/hash?text=hello&algo=md5,sha256`
- `algo` 可取 `md5` / `sha1` / `sha256` / `sha384` / `sha512` / `crc32`，逗号分隔可多选；注意**不支持 `all`**
- 返回 `data.hashes.<算法>` 与 `data.length`

### 11. GS1 条形码解析
- `GET /api/barcode?code=6901234567892`
- 返回 `data`：`type`（EAN-13/UPC 等）、`valid`（校验是否通过）、`check_digit`、`country`、`prefix`

### 12. 服务健康检查
- `GET /api/health`
- 返回 `data`：`cached`（缓存条数）、`keys`（Key 数量）、`time`

## 账号接口（Cookie 会话）

- `POST /account/register` body `{"email","password"}`（密码至少 8 位）→ 注册并登录
- `POST /account/login` body `{"email","password"}`
- `POST /account/logout`
- `GET  /account/me` → 当前账号与 Key 数量
- `GET  /account/keys` / `POST /account/keys` body `{"name"}` / `DELETE /account/keys?id=` → 自助管理 API Key（完整 Key 只在创建时返回一次）
- `GET  /account/usage` → 各接口今日用量与配额

## 相关站点

- 在线工具箱：https://tools.jzwo.cn/ （11 个工具，人类使用）
- 域名批量查询工具：https://mi.jzwo.cn/ （批量检测可注册状态）
