# コールバックサーバー

> 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 バケットが抑制されています。                        |
