# 回调服务器

> Set up a callback server for Vivox server-side recording.

SSR 提供​​了一种回调机制以便在录制作业完成时通知您。这样就可以在录制完成后执行操作。

## 设置回调服务器##set-up-a-callback-server

1. 要设置回调服务器，必须创建一个可以接收来自 SSR API 的 POST 请求的服务器。该请求将包含一个带有作业状态的 JSON 有效负载。
2. SSR 向请求的 `callbackUri` 字段中的任意 URL 发出请求。如果您指定 `callbackKey`，Vivox 会将其包含在 `Authorization` 下的请求标头中。

## 回调有效负载##callback-payload

回调的有效负载包含以下字段：

```json
{
    "job_status": "string",
    "job_id": "string",
    "code": "string",
    "metadata": "object"
}
```

* `job_status` 将是 `complete`、`fail` 或 `partial`。
  * 当某个作业为 `partial` 时，这意味着并非所有的音频都已成功录制或解码。
* `job_id` 是作业 ID。对应于原始请求的响应中的 `job_id`。
* `code` 是作业失败时的错误代码。请参阅[错误代码](#error-codes)以获取更多信息。
* `metadata` 是您在原始请求中传递的任何元数据。如果您没有设置任何 `metadata`，则会在请求中省略该字段。

## 错误代码##error-codes

| 代码   | 描述                       |
| ---- | ------------------------ |
| 2001 | 服务未启用。                   |
| 2002 | 内部服务错误。                  |
| 2003 | 未找到所请求频道的音频。             |
| 2004 | 无效存储。                    |
| 2005 | 内部服务错误。                  |
| 2006 | 由于 `filterUri` 参数，未解码音频。 |
| 2103 | 不支持的音频格式。                |
| 2107 | AWS 存储桶受到限制。             |
