Path: API › 网站管理

`POST /site`

为指定网站创建或关联 FTP 账户。

## Request body

_Required._

- `request_time` (`action313.request_time`; string, required) — Unix 时间戳。
- `request_token` (`action313.request_token`; string, required) — 按 API 概览生成的签名。
- `action` (`action313.action`; string, required) — 具体操作名称。
  - one of `"set_sites_ftp"`
- `ftp_name` (`action313.ftp_name`; string, required) — FTP 用户名
- `ftp_pwd` (`action313.ftp_pwd`; string, required) — FTP 密码
- `siteName` (`action313.siteName`; string, optional) — 网站域名（与 `site_id` 二选一）
- `site_id` (`action313.site_id`; integer, optional) — 网站 ID
- `ftp_id` (`action313.ftp_id`; integer, optional) — 已有 FTP 账户 ID（关联已有账户时传）
- `ftp_status` (`action313.ftp_status`; string, optional) — FTP 状态

## Example request

```text
{
  "request_time": "string",
  "request_token": "string",
  "action": "set_sites_ftp",
  "siteName": "string",
  "site_id": 0,
  "ftp_name": "string",
  "ftp_pwd": "string",
  "ftp_id": 0,
  "ftp_status": "string"
}
```

## Code samples

### cURL（填写面板地址与签名）

```bash
curl --request POST \
  --url "https://your-panel.example.com:8888/site" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "request_time=<Unix时间戳>" \
  --data-urlencode "request_token=<按 API 概览生成的签名>" \
  --data-urlencode "action=set_sites_ftp" \
  --data-urlencode "ftp_name=<ftp_name>" \
  --data-urlencode "ftp_pwd=<ftp_pwd>"
```

## Responses

### default

接口响应，业务状态见下方详细说明。

#### Example

```json
{
  "status": true,
  "msg": "添加成功",
  "info": {
    "id": 4,
    "pid": 1,
    "name": "testftp",
    "password": "Test@123",
    "path": "/www/wwwroot/testapi.bt.local",
    "status": "1"
  }
}
```

- `status` (`action313.response.default.status`; boolean, optional) — `true` 操作成功
- `info` (`action313.response.default.info`; object, optional) — FTP 账户详情（`id`、`name`、`password`、`path`、`status`）


## set_sites_ftp

为指定网站创建或关联 FTP 账户。

- **路由**：`POST /site`
- **action**：`set_sites_ftp`

## 输入参数

| 参数名称 | 必选 | 类型 | 描述 |
|----------|------|------|------|
| action | 是 | String | 固定值 `set_sites_ftp` |
| siteName | 条件 | String | 网站域名（与 `site_id` 二选一） |
| site_id | 条件 | Integer | 网站 ID |
| ftp_name | 是 | String | FTP 用户名 |
| ftp_pwd | 是 | String | FTP 密码 |
| ftp_id | 否 | Integer | 已有 FTP 账户 ID（关联已有账户时传） |
| ftp_status | 否 | String | FTP 状态 |

## 输出参数

| 参数名称 | 类型 | 描述 |
|----------|------|------|
| status | Boolean | `true` 操作成功 |
| info | Object | FTP 账户详情（`id`、`name`、`password`、`path`、`status`） |

## 示例

### 请求

```
POST /site HTTP/1.1
Host: 192.168.168.213:8888
Content-Type: application/x-www-form-urlencoded

action=set_sites_ftp&siteName=testapi.bt.local&ftp_name=testftp&ftp_pwd=Test@123
```

### 响应

```json
{"status": true, "msg": "添加成功", "info": {"id": 4, "pid": 1, "name": "testftp", "password": "Test@123", "path": "/www/wwwroot/testapi.bt.local", "status": "1"}}
```

