# 请求和响应格式

按目标接口页定义的字段发送请求，并按该页的成功响应或错误响应处理结果。不同 API 和接口系列的响应结构可能不同，不要根据本页推断某个字段必然存在。

## JSON 请求

接口页要求 JSON 请求体时，发送 `Content-Type: application/json`，并只提交该页列出的字段。接口没有请求体时，不要发送空 JSON。请求方法、完整地址、认证 Header 和请求字段均以目标动作页的请求示例为准。

## 成功响应

成功响应的 HTTP 状态码、响应字段和数据类型由目标接口页定义。有些接口的响应包含 `code`、`msg` 和 `data`，但这些字段并不是跨 API 的共同契约，`code` 的类型和值也可能不同。

| 字段 | 说明 | 调用方处理方式 |
| --- | --- | --- |
| `code` | 当前接口返回时的结果代码。 | 按当前接口页说明判断结果；不要假设其类型或成功值。 |
| `msg` | 当前接口返回时的说明信息。 | 可用于展示或记录，不将文案作为程序分支条件。 |
| `data` | 当前接口返回时的结果数据。 | 按当前接口页的字段表解析。 |

收到成功状态后，读取该接口“成功响应”中列出的字段；需要在后续请求中使用的资源 ID、任务 ID、文件地址或分页标识，以该接口页说明为准。

## 错误响应

收到非成功状态时，按目标接口页的错误响应处理，不继续按成功响应解析。不要假设错误响应一定包含 `code`、`msg` 或 `data`，也不要把一个接口的错误码用于其他接口。

## 下载和流式响应

接口页声明下载时，按响应的 `Content-Type` 保存文件；声明流式响应时，按该页定义的事件格式持续读取。不要按 JSON 响应处理这两类结果。
