Metadata-Version: 2.4
Name: tinet-clink2-cli
Version: 0.0.3
Summary: Tinet Clink2 OpenAPI CLI
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: click>=8.0
Requires-Dist: requests>=2.28
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: responses>=0.25; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Dynamic: description
Dynamic: description-content-type

Clink2 命令行客户端，封装 OpenAPI 接口，与 [智慧服务平台开发者中心](https://develop.clink.cn) 中参数与响应一致，适合脚本化集成与 Agent 调用。

**当前版本：** `0.0.3`  
**PyPI：** https://pypi.org/project/tinet-clink2-cli/

## 功能概览

| 子命令 | 说明 |
|--------|------|
| **`config`** | 本地凭证管理 |
| **`cdr-auto-task`** | 任务呼叫记录查询 |
| **`cdr-bot`** | 机器人话单查询 |
| **`cdr-ib`** | 呼入通话记录查询 |
| **`cdr-internal`** | 内部呼叫记录查询 |
| **`cdr-ob`** | 外呼通话记录查询 |
| **`ivr`** | 语音导航查询 |
| **`voicemail`** | 留言箱设置查询 |

所有出站 HTTP 请求自动附加：
- `X-Trace-Id: {UUID}`
- `X-Clink2-CLI-Version: {CLI 版本}`

## 环境要求

- Python **≥ 3.10**
- 运行时需访问公有云接入地址，例如 `https://api-bj.clink.cn` / `https://api-sh.clink.cn`
- 需在管理后台获取 AccessKeyId / AccessKeySecret（系统管理 → 安全设置 → 接口密钥）

## 安装

从 [PyPI](https://pypi.org/project/tinet-clink2-cli/) 安装（推荐）：

```bash
pip install tinet-clink2-cli
tinet-clink2-cli --version   # 0.0.3
tinet-clink2-cli --help
```

指定版本或升级：

```bash
pip install 'tinet-clink2-cli==0.0.3'
pip install --upgrade tinet-clink2-cli
```

macOS 等受限环境可使用 [pipx](https://pipx.pypa.io/)：

```bash
pipx install tinet-clink2-cli
```

## 配置凭证

**配置文件：** `~/.clink2/config.json`

配置示例：

```bash
tinet-clink2-cli config set \
  --access-key-id your_access_key_id \
  --access-key-secret your_access_key_secret \
  --endpoint https://api-bj.clink.cn \
  --expires 60 \
  --log true

tinet-clink2-cli config show
```

默认接入地址为北京：`https://api-bj.clink.cn`。`config show` 会对 AccessKeySecret 脱敏。

## 快速示例

```bash
# config
tinet-clink2-cli config show

# ivr
tinet-clink2-cli ivr nodes --ivr-name your_ivr_name
tinet-clink2-cli --json ivr list

# CDR（未传时间参数时使用服务端默认时间窗）
tinet-clink2-cli --json cdr-ib list
tinet-clink2-cli --json cdr-ib detail --main-unique-id medias_1-xxx
tinet-clink2-cli --json cdr-ob list --cnos 0001,0002
tinet-clink2-cli --json cdr-auto-task list
tinet-clink2-cli --json cdr-bot ib-list
tinet-clink2-cli --json cdr-internal list

# dry-run：仅校验入参与配置，不调用服务端（是否写日志取决于 config.log）
tinet-clink2-cli --dry-run ivr list
tinet-clink2-cli --dry-run voicemail list --offset 0 --limit 10
tinet-clink2-cli --dry-run cdr-ib list

# verbose：向 stderr 打印 url / method / 版本 Header / TraceId / result（不含 body）
tinet-clink2-cli --verbose --json voicemail list
tinet-clink2-cli --verbose --dry-run cdr-ob list
```

全局选项：
- `--json`：机器可读 stdout
- `--dry-run`：本地校验与预览，不发请求
- `--verbose`：stderr 排障

## 安全提示

- 勿将 AccessKeySecret 写入仓库、截图或日志外发渠道

## 帮助与 API 文档

```bash
tinet-clink2-cli --help
tinet-clink2-cli config --help
tinet-clink2-cli cdr-auto-task --help
tinet-clink2-cli cdr-bot --help
tinet-clink2-cli cdr-ib --help
tinet-clink2-cli cdr-internal --help
tinet-clink2-cli cdr-ob --help
tinet-clink2-cli ivr --help
tinet-clink2-cli voicemail --help
```

OpenAPI 契约与字段说明见 [智慧服务平台开发者中心](https://develop.clink.cn)。
