# 如何调用 API (/zh-CN/realtime-media/meeting/reference/call-api)

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

## 前提条件 [#前提条件]

本文介绍智能云会议 RESTful API 的构成，并引导你如何正确地调用 API。

在调用 RESTful API 之前，确保已经[开通智能云会议服务](/zh-CN/realtime-media/meeting/build/enable-service)并获取 App ID 和临时 Token。

## 配置 URL [#配置-url]

以[创建会议 API](/zh-CN/api-reference/meeting/restful/api/create-room) 为例，请求的 URL 示例如下：

```text
https://api.sd-rtn.com/{region}/conference/apps/{appId}/v1/rooms/{roomUuid}
```

其中：

- `https`：通信协议。声网使用 HTTPS 协议。
- `api.sd-rtn.com`：声网服务端域名。详见[保障 REST 服务高可用](/zh-CN/realtime-media/meeting/build/high-availability)。
- `{region}/conference/apps/{appId}/v1/rooms/{roomUuid}`：资源路径。
    - `{region}`：请求的目标区域，目前仅支持 `cn`，代表中国大陆。
    - `{appId}`：声网为每个开发者提供的 App ID，是项目的唯一标识。
    - `{roomUuid}`：UUID（通用唯一识别码），标识每个会议房间。

以上示例仅作参考，你可以参照要调用的 API 的文档，在代码源文件或调试应用中先选择调用方法（如 GET、POST、PUT、PATCH、DELETE），然后根据 API 文档来配置实际的请求 URL。请求 URL 需要区分大小写。

## 发送请求 [#发送请求]

请求包括请求 Header 和请求 Body 两部分。在配置完 URL 后，你需要设置请求 Header 和 Body 信息，然后向服务器发送请求。

以下是创建会议的请求示例：

```shell
curl -X POST 'https://api.sd-rtn.com/{region}/conference/apps/{yourAppId}/v1/rooms/{roomUuid}' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: agora token={apaasToken}' \
--data-raw '{
    "roomName": "test_conference",
    "roomTemplate": "conf_finity_v1",
    "roomProperties": {
        "schedule": {
            "startTime": 1655452800000,
            "duration": 600,
            "closeDelay": 300
        }
    }
}'
```

示例仅作参考。你可以参照要调用的 API 的文档，配置实际的请求 Header 和 Body 信息。

### 请求 Header [#请求-header]

请求 Header 包含了处理请求所需要的信息：

- `Content-Type`：`application/json`。代表指定请求 Body 的类型为 JSON，以 `UTF-8` 字符编码进行编码。

- `Authorization`：用于 HTTP Token 鉴权的鉴权字段。每次发送 HTTP 请求时，都必须填入 `Authorization` 字段。详见[实现 HTTP Token 鉴权](/zh-CN/realtime-media/meeting/build/http-token-auth)。

### 请求 Body（可选） [#请求-body可选]

请求 Body 包含了要发送给服务器的数据。例如，创建一个会议，你需要在请求 Body 中包含会议的参数信息，如会议名称、会议类型、会议开始时间、持续时间、拖堂时长等。详情可参考具体 API 文档的参数描述。请求 Body 需要区分大小写。

## 接收响应 [#接收响应]

在发起请求后，声网服务器会对你的请求进行响应。响应包括响应状态码、响应 Header 和响应 Body。

### 响应状态码 [#响应状态码]

响应的 HTTP 状态码分 200 和非 200 两种情况：

- 如果 HTTP 状态码为 `200`，表示请求成功。
- 如果 HTTP 状态码不为 `200`，参考[响应状态码](/zh-CN/realtime-media/meeting/reference/response-code)排查问题。

### 响应 Header（可选） [#响应-header可选]

响应 Header 指明了响应的标识，以区分不同请求所收到的响应。

### 响应 Body [#响应-body]

响应 Body 包含了服务器反馈的数据。

以下是通用的响应示例：

```json
{
  "code": 0,
  "msg": "Success",
  "ts": 1684231543281
}
```

## 错误处理 [#错误处理]

当你遇到问题时，可以使用开发者工具查看请求和响应，结合[响应状态码](/zh-CN/realtime-media/meeting/reference/response-code)进行排查。如未能解决问题，可[联系技术支持](https://ticket.shengwang.cn/)。
