# Playlist

Методы: [create](#create) | [update](#update) | [delete](#delete) | [list](#list) | [addmedia](#addmedia) | [deletemedia](#deletemedia) | [listmedia](#listmedia)

## create

*Создание плейлиста*

#### Входные параметры

Обязательные параметры:

* *String* **apikey** (API ключ)
* *String* **name** (Название плейлиста)

Необязательные параметры:

* *String* **description** (Описание для функциональности страниц)

#### Выходные параметры

* *String* **Code** (Код плейлиста)
* *String* **Name** (Название плейлиста)
* *String* **Description** (Описание плейлиста)
* *Integer* **Duration** (Общая длительность плейлиста)
* *Integer* **AmountFiles** (Количество файлов в плейлисте)
* *String* **AddedDate** (Дата создания)

Пример запроса:

```text
https://boomstream.com/api/playlist/create?apikey=[API_KEY]&name=test&description=some%20text
```

Пример ответа:

```xml
<Response>
  <Items>
    <Item>
      <Code>XXXXXXXX</Code>
      <Name>test</Name>
      <Duration>0</Duration>
      <AmountFiles>0</AmountFiles>
      <AddedDate>2020-01-01 23:23:23</AddedDate>
      <Description>some text</Description>
    </Item>
  </Items>
  <Status>Success</Status>
</Response>
```

## update

*Обновление информации о плейлисте*

#### Входные параметры

Обязательные параметры:

* *String* **apikey** (API ключ)
* *String* **code** (Код плейлиста)

Необязательные параметры:

* *String* **name** (Название плейлиста)
* *String* **description** (Описание плейлиста)

#### Выходные параметры

* *String* **Code** (Код плейлиста)
* *String* **Name** (Название плейлиста)
* *String* **Description** (Описание плейлиста)
* *Integer* **Duration** (Общая длительность плейлиста)
* *Integer* **AmountFiles** (Количество файлов в плейлисте)
* *String* **AddedDate** (Дата создания)

Пример запроса:

```text
https://boomstream.com/api/playlist/update?apikey=[API_KEY]&code=XXXXXXXX&name=test2&description=text
```

Пример ответа:

```xml
<Response>
  <Items>
    <Item>
      <Code>XXXXXXXX</Code>
      <Name>test2</Name>
      <Duration>60</Duration>
      <AmountFiles>1</AmountFiles>
      <AddedDate>2020-01-01 23:23:23</AddedDate>
      <Description>text</Description>
    </Item>
  </Items>
  <Status>Success</Status>
</Response>
```

## delete

*Удаление плейлиста*

#### Входные параметры

Обязательные параметры:

* *String* **apikey** (API ключ)
* *String* **code** (Код плейлиста)

Пример запроса:

```text
https://boomstream.com/api/playlist/delete?apikey=[API_KEY]&code=XXXXXXXX
```

Пример ответа:

```xml
<Response>
  <Status>Success</Status>
</Response>
```

## list

*Получение списка плейлистов*

#### Входные параметры

Обязательные параметры:

* *String* **apikey** (API ключ)

#### Выходные параметры

* *String* **Name** (Название плейлиста)
* *String* **Code** (Код плейлиста)
* *Integer* **Duration** (Общая длительность плейлиста)
* *Integer* **AmountFiles** (Количество файлов в плейлисте)
* *String* **AddedDate** (Дата создания)
* *String* **Description** (Описание плейлиста)

Пример запроса:

```text
https://boomstream.com/api/playlist/list?apikey=[API_KEY]
```

Пример ответа:

```xml
<Response>
  <Items>   
    <Item>
      <Name>test2</Name>
      <Code>XXXXXXXX</Code>
      <Duration>60</Duration>
      <AmountFiles>1</AmountFiles>
      <AddedDate>2020-01-01 23:23:23</AddedDate>
      <Description>text</Description>
    </Item>
  </Items>  
  <Status>Success</Status>
</Response>
```

## addmedia

*Добавление медиафайла в плейлист*

#### Входные параметры

Обязательные параметры:

* *String* **apikey** (API ключ)
* *String* **code** (Код плейлиста)
* *String* **media** (Код медиафайла или код трансляции)

#### Выходные параметры

* *String* **Title** (Название медиафайла)
* *String* **Code** (Код медиафайла)
* *String* **Type** (Тип медиафайла: video, live и т.д.)
* *Integer* **Width** (Ширина видео)
* *Integer* **Height** (Высота видео)
* *String* **MediaStatus** (Статус обработки медиафайла)
* *Integer* **Duration** (Длительность медиафайла в секундах)
* *String* **PlayerCode** (HTML-код плеера)
* *String* **DownloadLink** (Ссылка для скачивания)
* *Object* **Poster** (Информация о постере: Code, Width, Height, Url)
* *Array* **Transcodes** (Список транскодированных версий)
* *Object* **Adaptive** (URL-адреса адаптивного потока)
* *Array* **Screenshots** (Список скриншотов)

Пример запроса:

```text
https://boomstream.com/api/playlist/addmedia?apikey=[API_KEY]&code=XXXXXXXX&media=YYYYYYYY
```

Пример ответа:

```xml
<Response>
  <Medias>
    <Item>
      <Title>Test video</Title>
      <Code>YYYYYYYY</Code>
      <PublishKey></PublishKey>
      <OnlineStatus>False</OnlineStatus>
      <RecordStatus>False</RecordStatus>
      <Concurrent>0</Concurrent>
      <CreationDate>2015-01-29 15:05:58</CreationDate>
      <Type>video</Type>
      <Width>640</Width>
      <Height>480</Height>
      <MediaStatus>Done</MediaStatus>
      <Duration>14</Duration>
      <PlayerCode>&amp;lt;iframe ...... &amp;lt;/iframe&amp;gt;</PlayerCode>
      <DownloadLink>https://bs.boomstream.com/balancer/hash:1234567890/xxxxxxxx.orig</DownloadLink>
      <Poster>
        <Code>xxxxxxxx-a1</Code>
        <Width>640</Width>
        <Height>480</Height>
        <Url>https://bs.boomstream.com/balancer/xxxxxxxx-a1.jpg</Url>
      </Poster>
      <Transcodes>
        <Item>
          <Code>xxxxxxxx-f33ubar5</Code>
          <Title>240p</Title>
          <Width>320</Width>
          <Height>240</Height>
          <PseudoMP4>https://bs.boomstream.com/balancer/xxxxxxxx-f33ubar5.mp4</PseudoMP4>
          <AppleHLS>https://bs.boomstream.com/balancer/xxxxxxxx-f33ubar5/playlist.m3u8</AppleHLS>
        </Item>
      </Transcodes>
      <Adaptive>
        <AppleHLS>https://bs.boomstream.com/adaptive/xxxxxxxx/playlist.m3u8</AppleHLS>
      </Adaptive>
      <Screenshots>
        <Item>
          <Code>xxxxxxxx-a1</Code>
          <Width>640</Width>
          <Height>480</Height>
          <Url>https://bs.boomstream.com/balancer/xxxxxxxx-a1.jpg</Url>
        </Item>
      </Screenshots>
    </Item>
  </Medias>
  <Status>Success</Status>
</Response>
```

## deletemedia

*Удаление медиафайла из плейлиста*

#### Входные параметры

Обязательные параметры:

* *String* **apikey** (API ключ)
* *String* **code** (Код плейлиста)
* *String* **media** (Код медиафайла или код трансляции)

Пример запроса:

```text
https://boomstream.com/api/playlist/deletemedia?apikey=[API_KEY]&code=XXXXXXXX&media=YYYYYYYY
```

Пример ответа:

```xml
<Response>
  <Status>Success</Status>
</Response>
```

## listmedia

*Получение списка медиафайлов из плейлиста*

#### Входные параметры

Обязательные параметры:

* *String* **apikey** (API ключ)
* *String* **code** (Код плейлиста)

#### Выходные параметры

* *String* **Title** (Название медиафайла)
* *String* **Code** (Код медиафайла)
* *String* **Type** (Тип медиафайла: video, live и т.д.)
* *Integer* **Width** (Ширина видео)
* *Integer* **Height** (Высота видео)
* *String* **MediaStatus** (Статус обработки медиафайла)
* *Integer* **Duration** (Длительность медиафайла в секундах)
* *String* **PlayerCode** (HTML-код плеера)
* *String* **DownloadLink** (Ссылка для скачивания)
* *Object* **Poster** (Информация о постере: Code, Width, Height, Url)
* *Array* **Transcodes** (Список транскодированных версий)
* *Object* **Adaptive** (URL-адреса адаптивного потока)
* *Array* **Screenshots** (Список скриншотов)

Пример запроса:

```text
https://boomstream.com/api/playlist/listmedia?apikey=[API_KEY]&code=XXXXXXXX
```

Пример ответа:

```xml
<Response>
  <Medias>
    <Item>
      <Title>Test video</Title>
      <Code>xxxxxxxx</Code>
      <PublishKey></PublishKey>
      <OnlineStatus>False</OnlineStatus>
      <RecordStatus>False</RecordStatus>
      <Concurrent>0</Concurrent>
      <CreationDate>2015-01-29 15:05:58</CreationDate>
      <Type>video</Type>
      <Width>640</Width>
      <Height>480</Height>
      <MediaStatus>Done</MediaStatus>
      <Duration>14</Duration>
      <PlayerCode>&amp;lt;iframe ...... &amp;lt;/iframe&amp;gt;</PlayerCode>
      <DownloadLink>https://bs.boomstream.com/balancer/hash:1234567890/xxxxxxxx.orig</DownloadLink>
      <Poster>
        <Code>xxxxxxxx-a1</Code>
        <Width>640</Width>
        <Height>480</Height>
        <Url>https://bs.boomstream.com/balancer/xxxxxxxx-a1.jpg</Url>
      </Poster>
      <Transcodes>
        <Item>
          <Code>xxxxxxxx-f33ubar5</Code>
          <Title>240p</Title>
          <Width>320</Width>
          <Height>240</Height>
          <PseudoMP4>https://bs.boomstream.com/balancer/xxxxxxxx-f33ubar5.mp4</PseudoMP4>
          <AppleHLS>https://bs.boomstream.com/balancer/xxxxxxxx-f33ubar5/playlist.m3u8</AppleHLS>
        </Item>
      </Transcodes>
      <Adaptive>
        <AppleHLS>https://bs.boomstream.com/adaptive/xxxxxxxx/playlist.m3u8</AppleHLS>
      </Adaptive>
      <Screenshots>
        <Item>
          <Code>xxxxxxxx-a1</Code>
          <Width>640</Width>
          <Height>480</Height>
          <Url>https://bs.boomstream.com/balancer/xxxxxxxx-a1.jpg</Url>
        </Item>
      </Screenshots>
    </Item>
  </Medias>
  <Status>Success</Status>
</Response>
```
