# 验证码与取消

<a id="actions"></a>

<a id="处理待办"></a>

## 处理待办

验证码与取消任务

<a id="endpoint-otp"></a>

<a id="提交邮箱验证码"></a>

### 提交邮箱验证码

POST `/v1/apps/chatgpt-refund/tasks/{id}/otp` API Key

任务要求验证码时，提交该账号邮箱收到的六位数字验证码。

<a id="请求字段-3"></a>

#### 请求字段

 **id**  · path · string · 必填

提交批次返回的本站任务编号 tasks\[\].id。

 **code**  · string · 必填

六位数字字符串，保留可能的前导零。

<a id="响应字段说明-6"></a>

### 响应字段说明

 **accepted / message**  · boolean / string

accepted=true 表示验证码进入验证队列，随后仍需刷新任务查看结果。

仅 awaiting\_otp 或 requires\_otp=true 的未结算任务可提交。任务正在更新时返回 409；收到不确定响应后先刷新任务。

调用示例请求与响应分开查看

<a id="curl-请求-6"></a>

### cURL 请求

```bash
curl -X POST 'https://y.junlistudio.com/v1/apps/chatgpt-refund/tasks/TASK_ID/otp' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  --data-binary @otp.json
```

<a id="请求-json-2"></a>

### 请求 JSON

```json
{
  "code": "012345"
}
```

<a id="响应-json-6"></a>

### 响应 JSON

```json
{
  "accepted": true,
  "message": "验证码已进入验证队列，请等待任务结果"
}
```

将占位值替换为你的数据 · 示例不发起真实请求

金额、时间与版本均为结构示例，以真实接口返回为准。

将请求 JSON 保存为仅自己可读的 otp.json。请从自己的服务端提交，避免凭据和验证码进入日志。

<a id="endpoint-cancel"></a>

<a id="取消排队任务"></a>

### 取消排队任务

POST `/v1/apps/chatgpt-refund/tasks/{id}/cancel` API Key

尝试取消尚未开始的 queued 任务。无需请求体，按单任务取消。

<a id="请求字段-4"></a>

#### 请求字段

 **id**  · path · string · 必填

提交批次返回的本站任务编号 tasks\[\].id。

<a id="响应字段说明-7"></a>

### 响应字段说明

 **id / batch\_id**  · string

本站任务编号与批次编号。后续查询使用 id。

 **key\_id**  · string

创建任务时使用的本站 API Key 编号；网页创建的任务为空。

 **account**  · string

脱敏邮箱；尚未确认时为“正在确认账号”。任务顺序不保证与输入账号顺序相同，不要按数组位置匹配账号。

 **fee**  · decimal string

单个任务的平台服务费，单位为本站积分，最多八位小数。不是订阅退款金额。

 **status**  · string

submitting、queued、processing、awaiting\_otp、unknown、succeeded、failed、cancelled 或 skipped。

 **progress / requires\_otp**  · integer / boolean

进度 0–100；requires\_otp=true 或 status=awaiting\_otp 时可提交邮箱验证码。

 **settled**  · boolean

是否完成平台服务费结算。成功确认消费；失败、取消或未受理退回预留积分。

 **failure\_code**  · string

安全的错误分类，正常时为空；例如 UPSTREAM\_UNCERTAIN、PROCESSING\_FAILED、MANUAL\_RECONCILIATION。

 **created\_at / updated\_at**  · date-time

ISO 8601 格式的创建和最近更新时间。

以返回的 status 和 settled 为准，成功取消后退回平台服务费。任务已开始或暂未确认取消时返回 409，先刷新状态。已结算的任务返回现有结果。

调用示例请求与响应分开查看

<a id="curl-请求-7"></a>

### cURL 请求

```bash
curl -X POST 'https://y.junlistudio.com/v1/apps/chatgpt-refund/tasks/TASK_ID/cancel' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

<a id="响应-json-7"></a>

### 响应 JSON

```json
{
  "id": "TASK_ID",
  "batch_id": "BATCH_ID",
  "key_id": "KEY_ID",
  "account": "al***@example.com",
  "fee": "7.12345678",
  "status": "cancelled",
  "progress": 100,
  "requires_otp": false,
  "failure_code": "",
  "settled": true,
  "created_at": "2026-10-12T08:00:00Z",
  "updated_at": "2026-10-12T08:01:00Z"
}
```

将占位值替换为你的数据 · 示例不发起真实请求

金额、时间与版本均为结构示例，以真实接口返回为准。
