# 콜백 서버

> 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 버킷이 제한되었습니다.                       |
