# 查询项目下所有 Converter (/zh-CN/api-reference/api-ref/media-push/list)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

查询项目下所有 Converter 的信息。

- OpenAPI: /openapi/media-push/media-push.zh-CN.yaml
- Operation ID: get-v1-projects-appId-rtmp-converters
- Method: GET
- Path: /v1/projects/{appId}/rtmp-converters
- Endpoint: https://api.sd-rtn.com/v1/projects/{appId}/rtmp-converters

## Servers

- https://api.sd-rtn.com

## Authorization

This endpoint requires authentication.

- `Basic Auth`

## Parameters

- `Content-Type` (header, required, string) - `application/json`
- `X-Request-ID` (header, optional, string) - UUID（通用唯一识别码），标识本次请求。推荐你赋值，赋值后，声网服务器会在响应 Header 中返回一个对应的 `X-Custom-Request-ID` 字段，你可以用此进行问题排查。如果你不赋值，那么声网服务器会自动生成一个 UUID 并在响应 Header 中返回一个对应的 `X-Request-ID` 字段。
- `cursor` (query, optional, number) - 游标，用于分页查询 Converter 信息。取值必须大于或等于 0。

首次发起 List 请求时，无需设置 `cursor` 参数，请求成功后返回第一页的 Converter 信息。每次请求最多返回 500 条 Converter 信息。推荐你根据响应 Body 判断是否需要再次发起请求：
- 如果响应 Body 中的 `cursor` 为 0，那么表示已经查询到所有 Converter 信息，无需再次发起请求。
- 如果响应 Body 中的 `cursor` 不为 0，那么表示你的 Converter 超过 500 个，你需要再次发起请求继续查询。举例来说，首次发起请求时，不设置 `cursor` 参数，返回的响应包体中 `cursor` 假设为 3009；再次发起请求，设置 `cursor` 参数为 3009；以此类推设置 `cursor` 参数并循环请求，直到响应包体中 `cursor` 为 0 才停止请求。
- `appId` (path, required, string) - 声网为每个开发者提供的 **App ID**。在声网控制台创建一个项目后即可得到一个 App ID。一个 App ID 是一个项目的唯一标识。

## Request body

No request body.

## Responses

### 2XX

如果状态码为 2XX，请求成功。

- `success` (boolean) - 请求是否成功：
- `true`：成功。
- `false`：不成功。
- `data` (object)
  - `data.total_count` (number) - 查询到的所有 Converter 的数量。
  - `data.cursor` (number) - 游标，用于对 Converter 信息列表进行分页。值为 `0` 表示已查询到所有 Converter，否则需要继续查询。
  - `data.members` (array)
    - `data.members.items` (object)
      - `data.members.items.rtcChannel` (string) - 声网频道名称，即 Converter 处理的流所属频道的名称。
      - `data.members.items.status` (string) - 当前请求状态。
      - `data.members.items.converterName` (string) - Converter 的名称。
      - `data.members.items.updateTs` (string) - 最近一次更新 Converter 配置时的 Unix 时间戳（秒）。
      - `data.members.items.appId` (string) - 声网为每个开发者提供的 App ID。一个 App ID 是一个项目的唯一标识。
      - `data.members.items.rtmpUrl` (string) - CDN 推流地址。
      - `data.members.items.converterId` (string) - Converter 的 ID，是声网服务器生成的一个 UUID（通用唯一识别码），标识一个已创建的 Converter。
      - `data.members.items.create` (string) - 创建 Converter 时的 Unix 时间戳（秒）。
      - `data.members.items.idleTimeout` (string) - Converter 处于空闲状态的最大时长（秒）。空闲指 Converter 处理的音视频流所对应的所有用户均已离开频道。当 Converter 处于空闲状态时长大于 `idleTimeout`，Converter 自动销毁，推流停止。
      - `data.members.items.state` (string) - Converter 的运行状态：
- `"connecting"`: 正在连接声网推流服务器和 CDN 服务器。
- `"running"`: 正在进行推流。
- `"failed"`: 推流失败。
### 非 2XX

如果状态码不为 2XX，请求失败。

- `message` (string) - 描述请求失败的具体原因。

## Response examples

### 2XX

```json
{
  "success": true,
  "data": {
    "total_count": 0,
    "cursor": 0,
    "members": [
      {
        "rtcChannel": "声网频道名称，即 Converter 处理的流所属频道的名称。",
        "status": "当前请求状态。",
        "converterName": "Converter 的名称。",
        "updateTs": "最近一次更新 Converter 配置时的 Unix 时间戳（秒）。",
        "appId": "声网为每个开发者提供的 App ID。一个 App ID 是一个项目的唯一标识。",
        "rtmpUrl": "CDN 推流地址。",
        "converterId": "Converter 的 ID，是声网服务器生成的一个 UUID（通用唯一识别码），标识一个已创建的 Converter。",
        "create": "创建 Converter 时的 Unix 时间戳（秒）。",
        "idleTimeout": "Converter 处于空闲状态的最大时长（秒）。空闲指 Converter 处理的音视频流所对应的所有用户均已离开频道。当 Converter 处于空闲状态时长大于 `idleTimeout`，Converter 自动销毁，推流停止。",
        "state": "Converter 的运行状态：\n- `\"connecting\"`: 正在连接声网推流服务器和 CDN 服务器。\n- `\"running\"`: 正在进行推流。\n- `\"failed\"`: 推流失败。"
      }
    ]
  }
}
```
### 非 2XX

```json
{
  "message": "描述请求失败的具体原因。"
}
```
