# VOD API 가이드

Kollus VOD는 외부 시스템과의 데이터 연동을 위해 RESTful API를 제공합니다.
이 가이드에서는 요청 규격과 인증 방식을 설명합니다. Node.js 연동 예제를 참고하여 개발 환경을 구성할 수 있습니다.

## 요청 규격

### 호출 제한

1분당 최대 60회 호출 가능합니다. 연속 호출 시 최소 1초 이상의 간격을 유지해 주세요.

### 요청 헤더

HTTP Method에 따라 Accept 헤더와 Content-Type을 지정해야 합니다.

| HTTP Method | Accept 헤더 | Content-Type |
|  --- | --- | --- |
| **`GET` / `DELETE`** | `application/json` | - |
| **`POST` / `PUT`** | `application/json` | `application/x-www-form-urlencoded` |


### 인증 방식

모든 API 요청에는 인증 토큰(`kollus_api_access_token`)을 포함해야 합니다.

- **토큰 확인 경로**: Kollus VOD 콘솔 > [서비스 계정] > [API]
- **주의**: 새로운 토큰을 발급하면 기존 토큰은 즉시 무효화됩니다. 운영 중인 시스템에서 토큰을 재발급하면 서비스 중단이 발생할 수 있습니다.



### 요청 URL 구성

API 엔드포인트 뒤에 인증 토큰을 Query String으로 전달합니다.

#### 채널 정보 조회 예시

```
https://c-api-kr.kollus.com/api/channels/{CHANNEL_KEY}?access_token={KOLLUS_API_ACCESS_TOKEN}
```

### 키(Key) 정보

요청 URL에 포함되는 키 정보는 인증 및 주요 키 문서를 참고하세요.

## Node.js 연동 예제

### 패키지 설치

다음 명령으로 라이브러리를 설치합니다.

```bash
$ npx api install "@kollus-vod/v3.0-KR#189zaiumejg7t49"
```

### 채널 생성 (POST)

새로운 채널을 생성하고 암호화 여부 등 주요 속성을 설정합니다.

```js
import kollusVod from '@api/kollus-vod';

// Configure authentication
kollusVod.auth('{KOLLUS_API_ACCESS_TOKEN}');

// Execute channel creation
kollusVod._9c1ead997f8db167ade85da30910a14c({
  name: 'new_channel_name',
  description: 'new_channel_description',
  is_shared: 0,
  is_encrypted: 0
})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
```

### 채널 정보 조회 (GET)

채널 키를 사용하여 특정 채널의 상세 데이터를 조회합니다.

```js
import kollusVod from '@api/kollus-vod';

// Configure authentication
kollusVod.auth('{KOLLUS_API_ACCESS_TOKEN}');

// Retrieve specific channel details
kollusVod._7af1e384be9287f26a99c03a3b8eb2bb({channel_key: '{CHANNEL_KEY}'})
  .then(({ data }) => console.log(data))
  .catch(err => console.error(err));
```