34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
# 批量购买套餐脚本功能总结
|
||
|
||
## 功能说明
|
||
|
||
新增 Python 运维脚本 `scripts/batch_package_purchase/batch_purchase.py`,用于读取单列 CSV,并逐资产调用后台 `POST /api/admin/orders` 接口购买同一个套餐。
|
||
|
||
## 输入与配置
|
||
|
||
- CSV 每行一个 ICCID 或虚拟号,首行表头可选。
|
||
- `--base-url` 配置接口地址。
|
||
- `--package-id` 指定本批次统一购买的套餐 ID。
|
||
- 认证支持已有 Access Token,或使用后台账号自动登录获取 Token。
|
||
- 支付方式固定为 `wallet`。
|
||
|
||
## 安全控制
|
||
|
||
- 默认仅预演,显式增加 `--execute` 后才会真实下单。
|
||
- 下单前统一校验 CSV,重复资产会阻断整批执行。
|
||
- 每个资产独立调用一次接口,结果逐条刷新到 CSV。
|
||
- POST 请求不自动重试,避免响应丢失造成重复购买。
|
||
- Token 和密码支持环境变量传入,不写入结果文件。
|
||
|
||
## 输出
|
||
|
||
结果 CSV 包含:
|
||
|
||
- CSV 原始行号和资产标识。
|
||
- 成功或失败状态。
|
||
- HTTP 状态码和业务错误码。
|
||
- 接口消息。
|
||
- 成功订单的订单 ID、订单号和订单金额。
|
||
|
||
脚本执行结束时,成功数量与输入总数一致则退出码为 `0`;存在失败或中途因认证失效停止时退出码为 `2`;参数、CSV 或登录错误时退出码为 `1`。
|