# Record Live

Методы: [info](#info) | [list](#list) | [createRecordLive](#createrecordlive) | [update](#update) | [upcomingLive](#upcominglive) | [startUpcomingLive](#startupcominglive) | [stopUpcomingLive](#stopupcominglive) | [removeUpcomingLive](#removeupcominglive) | [delete](#delete)

## info

*Получение информации о трансляции по её коду*

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

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

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

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

* *String* **Title** (Название трансляции)
* *String* **Code** (Код трансляции)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Integer* **Concurrent** (Количество одновременных зрителей онлайн)
* *String* **Type** (Тип трансляции: record_live или live)
* *String* **CreationDate** (Дата создания)
* *Date* **StartAt** (Время начала трансляции, формат Y-m-d H:i:s)
* *String* **Timezone** (Временная зона, по умолчанию Europe/Moscow)
* *String* **PlayerCode** (HTML-код плеера)
* *String* **Poster.Code** (Код постера)
* *Integer* **Poster.Width** (Ширина постера)
* *Integer* **Poster.Height** (Высота постера)
* *String* **Poster.Url** (Ссылка на постер)
* *String* **Screenshots.Item.Code** (Код скриншота)
* *Integer* **Screenshots.Item.Width** (Ширина скриншота)
* *Integer* **Screenshots.Item.Height** (Высота скриншота)
* *String* **Screenshots.Item.Url** (Ссылка на скриншот)
* *Array* **Recordings.Item** (Массив записей, структура идентична объекту Media info)
* *String* **UpcomingLive.Video** (Название видеофайла — источника запланированной трансляции)
* *String* **UpcomingLive.StartAt** (Время начала запланированной трансляции)
* *String* **UpcomingLive.FinishAt** (Время окончания запланированной трансляции)
* *String* **UpcomingLive.Status** (Статус запланированной трансляции)
* *String* **UpcomingLive.Duration** (Длительность видеофайла — источника запланированной трансляции, в секундах)
* *String* **UpcomingLive.Code** (Код сессии запланированной трансляции)
* *Boolean* **DvrStatus** (Статус DVR)

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

```text
https://boomstream.com/api/recordLive/info?apikey=[API_KEY]&code=xxxxxxxx
```

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

```xml
<Response>
    <Title>Promo</Title>
    <Code>xxxxxxxx</Code>
    <OnlineStatus>True</OnlineStatus>
    <RecordStatus>False</RecordStatus>
    <Concurrent>10</Concurrent>
    <CreationDate>2015-01-29 15:05:58</CreationDate>
    <StartAt/>
    <Timezone>Europe/Oslo</Timezone>
    <Type>record_live</Type>
    <PlayerCode>&lt;iframe width=&quot;{{width}}&quot; height=&quot;{{height}}&quot;
src=&quot;https://boomstream.com/player.html?code=xxxxxxxx&quot; frameborder=&quot;0&quot;
scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;</PlayerCode>
    <Poster>
        <Code>xxxxxxxx-m3</Code>
        <Width>1920</Width>
        <Height>1080</Height>
        <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
    </Poster>
    <Screenshots>
        <Item>
            <Code>xxxxxxxx-m3</Code>
            <Width>1920</Width>
            <Height>1080</Height>
            <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
        </Item>
    </Screenshots>
    <Recordings>
        <Item>
            <Title>Promo recording</Title>
            <Code>xxxxxxxx</Code>
            <Type>video</Type>
            <Width>640</Width>
            <Height>352</Height>
            <MediaStatus>Done</MediaStatus>
            <Duration>5</Duration>
            <PlayerCode>&amp;lt;iframe width=&amp;quot;{{width}}&amp;quot; height=&amp;quot;{{height}}&amp;quot; src=&amp;quot;https://play.boomstream.com/xxxxxxxx&amp;quot; frameborder=&amp;quot;0&amp;quot; scrolling=&amp;quot;no&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;</PlayerCode>
            <Poster>
                <Code>hh1VIHbe-a1</Code>
                <Width>352</Width>
                <Height>640</Height>
                <Url>https://bs.boomstream.com/balancer/hh1VIHbe-a1.jpg</Url>
            </Poster>
            <Transcodes>
                <Item>
                    <Code>hh1VIHbe-H63Th2OK</Code>
                    <Title>240p</Title>
                    <Width>132</Width>
                    <Height>240</Height>
                    <PseudoMP4>https://bs.boomstream.com/balancer/hh1VIHbe-H63Th2OK.mp4</PseudoMP4>
                    <AppleHLS>https://bs.boomstream.com/balancer/hh1VIHbe-H63Th2OK/playlist.m3u8</AppleHLS>
                </Item>
                <Item>
                    <Code>hh1VIHbe-5SQ8X51e</Code>
                    <Title>360p</Title>
                    <Width>198</Width>
                    <Height>360</Height>
                    <PseudoMP4>https://bs.boomstream.com/balancer/hh1VIHbe-5SQ8X51e.mp4</PseudoMP4>
                    <AppleHLS>https://bs.boomstream.com/balancer/hh1VIHbe-5SQ8X51e/playlist.m3u8</AppleHLS>
                </Item>
            </Transcodes>
            <Adaptive>
                <AppleHLS>https://bs.boomstream.com/adaptive/hh1VIHbe/playlist.m3u8</AppleHLS>
            </Adaptive>
            <Screenshots>
                <Item>
                    <Code>hh1VIHbe-a1</Code>
                    <Width>352</Width>
                    <Height>640</Height>
                    <Url>https://bs.boomstream.com/balancer/hh1VIHbe-a1.jpg</Url>
                </Item>
                <Item>
                    <Code>hh1VIHbe-a2</Code>
                    <Width>352</Width>
                    <Height>640</Height>
                    <Url>https://bs.boomstream.com/balancer/hh1VIHbe-a2.jpg</Url>
                </Item>
                <Item>
                    <Code>hh1VIHbe-a3</Code>
                    <Width>352</Width>
                    <Height>640</Height>
                    <Url>https://bs.boomstream.com/balancer/hh1VIHbe-a3.jpg</Url>
                </Item>
                <Item>
                    <Code>hh1VIHbe-a4</Code>
                    <Width>352</Width>
                    <Height>640</Height>
                    <Url>https://bs.boomstream.com/balancer/hh1VIHbe-a4.jpg</Url>
                </Item>
                <Item>
                    <Code>hh1VIHbe-a5</Code>
                    <Width>352</Width>
                    <Height>640</Height>
                    <Url>https://bs.boomstream.com/balancer/hh1VIHbe-a5.jpg</Url>
                </Item>
            </Screenshots>
        </Item>
    </Recordings>
    <UpcomingLive>
        <Item>
            <Video>video_name</Video>
            <StartAt>2020-09-10 23:00:33</StartAt>
            <FinishAt>2020-09-10 23:02:09</FinishAt>
            <Status>completed</Status>
            <Duration>63</Duration>
            <Code>zzzzzzz</Code>
        </Item>
    </UpcomingLive>
    <Status>Success</Status>
</Response>
```

## list

*Получение списка трансляций*

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

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

* *String* **apikey** (API ключ проекта)

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

* *String* **Title** (Название трансляции)
* *String* **Code** (Код трансляции)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Boolean* **RecordStatus** (Статус записи)
* *Integer* **Concurrent** (Количество одновременных зрителей онлайн)
* *String* **CreationDate** (Дата создания)
* *Date* **StartAt** (Время начала трансляции, формат Y-m-d H:i:s)
* *String* **Timezone** (Временная зона, по умолчанию Europe/Moscow)
* *String* **Type** (Тип трансляции: record_live или live)
* *String* **PlayerCode** (HTML-код плеера)
* *String* **Poster.Code** (Код постера)
* *Integer* **Poster.Width** (Ширина постера)
* *Integer* **Poster.Height** (Высота постера)
* *String* **Poster.Url** (Ссылка на постер)
* *String* **Screenshots.Item.Code** (Код скриншота)
* *Integer* **Screenshots.Item.Width** (Ширина скриншота)
* *Integer* **Screenshots.Item.Height** (Высота скриншота)
* *String* **Screenshots.Item.Url** (Ссылка на скриншот)
* *Array* **Recordings.Item** (Массив записей, структура идентична объекту Media info)
* *String* **UpcomingLive.Video** (Название видеофайла — источника запланированной трансляции)
* *String* **UpcomingLive.StartAt** (Время начала запланированной трансляции)
* *String* **UpcomingLive.FinishAt** (Время окончания запланированной трансляции)
* *String* **UpcomingLive.Status** (Статус запланированной трансляции)
* *String* **UpcomingLive.Duration** (Длительность видеофайла — источника запланированной трансляции, в секундах)
* *String* **UpcomingLive.Code** (Код сессии запланированной трансляции)

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

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

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

```xml
<Response>
    <Lives>
       <Item>
          <Title>Promo</Title>
          <Code>xxxxxxxx</Code>
          <OnlineStatus>True</OnlineStatus>
          <RecordStatus>True</RecordStatus>
          <Concurrent>10</Concurrent>
          <CreationDate>2015-01-29 15:05:58</CreationDate>
          <StartAt/>
          <Timezone>Europe/Oslo</Timezone>
          <Type>record_live</Type>
          <PlayerCode>&lt;iframe width=&quot;{{width}}&quot; height=&quot;{{height}}&quot;
src=&quot;https://boomstream.com/player.html?code=xxxxxxxx&quot; frameborder=&quot;0&quot;
scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;</PlayerCode>
          <Poster>
             <Code>xxxxxxxx-m3</Code>
             <Width>1920</Width>
             <Height>1080</Height>
             <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
          </Poster>
          <Screenshots>
             <Item>
                <Code>xxxxxxxx-m3</Code>
                <Width>1920</Width>
                <Height>1080</Height>
                <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
             </Item>
          </Screenshots>
          <Recordings/>
          <UpcomingLive>
                <Item>
                    <Video>video_name</Video>
                    <StartAt>2020-09-10 23:00:33</StartAt>
                    <FinishAt>2020-09-10 23:02:09</FinishAt>
                    <Status>completed</Status>
                    <Duration>63</Duration>
                    <Code>zzzzzzz</Code>
                </Item>
          </UpcomingLive>
       </Item>
    </Lives>
    <Status>Success</Status>
</Response>
```

## createRecordLive

*Создание новой трансляции из файла*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **title** (Название трансляции)

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

* *Integer* **show_records** (Показывать запись трансляции после её окончания) 1-Да, 0-Нет (по умолчанию 0)
* *String* **offlinetitle** (Офлайн-сообщение)
* *String* **description** (Описание для интерфейса страницы)
* *String* **timezone** (Временная зона, по умолчанию Europe/Moscow)
* *Integer* **dvr** (Включение DVR) 1-Да, 0-Нет (по умолчанию 0)

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

* *String* **Title** (Название трансляции)
* *String* **Code** (Код трансляции)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Integer* **Concurrent** (Количество одновременных зрителей онлайн)
* *String* **CreationDate** (Дата создания)
* *Date* **StartAt** (Время начала трансляции, формат Y-m-d H:i:s)
* *String* **Timezone** (Временная зона)
* *String* **Type** (Тип трансляции)
* *String* **PlayerCode** (HTML-код плеера)
* *String* **Poster.Code** (Код постера)
* *Integer* **Poster.Width** (Ширина постера)
* *Integer* **Poster.Height** (Высота постера)
* *String* **Poster.Url** (Ссылка на постер)
* *String* **Screenshots.Item.Code** (Код скриншота)
* *Integer* **Screenshots.Item.Width** (Ширина скриншота)
* *Integer* **Screenshots.Item.Height** (Высота скриншота)
* *String* **Screenshots.Item.Url** (Ссылка на скриншот)
* *Boolean* **DvrStatus** (Статус DVR)

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

```text
https://boomstream.com/api/recordLive/create?apikey=[API_KEY]&type=record_live&title=temp&show_records=0&offlinetitle=wait&description=description
```

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

```xml
<Response>
    <Title>Promo</Title>
    <Code>xxxxxxxx</Code>
    <OnlineStatus>True</OnlineStatus>
    <Concurrent>0</Concurrent>
    <CreationDate>2015-01-29 15:05:58</CreationDate>
    <StartAt/>
    <Timezone>Europe/Oslo</Timezone>
    <Type>record_live</Type>
    <PlayerCode>&lt;iframe width=&quot;{{width}}&quot; height=&quot;{{height}}&quot;
src=&quot;https://boomstream.com/player.html?code=xxxxxxxx&quot; frameborder=&quot;0&quot;
scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;</PlayerCode>
    <Poster>
        <Code>xxxxxxxx-m3</Code>
        <Width>1920</Width>
        <Height>1080</Height>
        <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
    </Poster>
    <Screenshots>
        <Item>
            <Code>xxxxxxxx-m3</Code>
            <Width>1920</Width>
            <Height>1080</Height>
            <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
        </Item>
    </Screenshots>
    <Recordings/>
    <DvrStatus>False</DvrStatus>
    <Status>Success</Status>
</Response>
```

## update

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

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

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

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

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

* *String* **title** (Название трансляции)
* *Integer* **show_records** (Показывать запись трансляции после её окончания) 1-Да, 0-Нет
* *String* **offlinetitle** (Офлайн-сообщение)
* *String* **description** (Описание для интерфейса страницы)
* *String* **timezone** (Временная зона)
* *Integer* **dvr** (Включение DVR) 1-Да, 0-Нет

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

* *String* **Title** (Название трансляции)
* *String* **Code** (Код трансляции)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Integer* **Concurrent** (Количество одновременных зрителей онлайн)
* *String* **CreationDate** (Дата создания)
* *Date* **StartAt** (Время начала трансляции)
* *String* **Timezone** (Временная зона)
* *String* **Type** (Тип трансляции)
* *String* **PlayerCode** (HTML-код плеера)
* *String* **Poster.Code** (Код постера)
* *Integer* **Poster.Width** (Ширина постера)
* *Integer* **Poster.Height** (Высота постера)
* *String* **Poster.Url** (Ссылка на постер)
* *String* **Screenshots.Item.Code** (Код скриншота)
* *Integer* **Screenshots.Item.Width** (Ширина скриншота)
* *Integer* **Screenshots.Item.Height** (Высота скриншота)
* *String* **Screenshots.Item.Url** (Ссылка на скриншот)
* *String* **UpcomingLive.Video** (Название видеофайла)
* *String* **UpcomingLive.StartAt** (Время начала)
* *String* **UpcomingLive.FinishAt** (Время окончания)
* *String* **UpcomingLive.Status** (Статус)
* *String* **UpcomingLive.Duration** (Длительность)
* *String* **UpcomingLive.Code** (Код сессии)
* *Boolean* **DvrStatus** (Статус DVR)

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

```text
https://boomstream.com/api/recordLive/update?apikey=[API_KEY]&code=xxxxxxxx&title=temp
```

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

```xml
<Response>
    <Title>Promo</Title>
    <Code>xxxxxxxx</Code>
    <OnlineStatus>True</OnlineStatus>
    <RecordStatus>True</RecordStatus>
    <Concurrent>10</Concurrent>
    <CreationDate>2015-01-29 15:05:58</CreationDate>
    <StartAt/>
    <Timezone>Europe/Oslo</Timezone>
    <Type>record_live</Type>
    <PlayerCode>&lt;iframe width=&quot;{{width}}&quot; height=&quot;{{height}}&quot;
src=&quot;https://boomstream.com/player.html?code=xxxxxxxx&quot; frameborder=&quot;0&quot;
scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;</PlayerCode>
    <Poster>
        <Code>xxxxxxxx-m3</Code>
        <Width>1920</Width>
        <Height>1080</Height>
        <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
    </Poster>
    <Screenshots>
        <Item>
            <Code>xxxxxxxx-m3</Code>
            <Width>1920</Width>
            <Height>1080</Height>
            <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
        </Item>
    </Screenshots>
    <UpcomingLive>
        <Item>
            <Video>video_name</Video>
            <StartAt>2020-09-10 23:00:33</StartAt>
            <FinishAt>2020-09-10 23:02:09</FinishAt>
            <Status>completed</Status>
            <Duration>63</Duration>
            <Code>zzzzzzz</Code>
        </Item>
    </UpcomingLive>
    <DvrStatus>False</DvrStatus>
    <Status>Success</Status>
</Response>
```

## upcomingLive

*Создание сессии запланированной трансляции из файла*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **file_code** (Код видеофайла, который выступает источником трансляции)
* *String* **code** (Код существующей трансляции из файла)

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

* *String* **start_date** (Время начала трансляции в формате ГГГГ-мм-дд ЧЧ:мм:сс)
* *String* **timezone** (Временная зона в формате Continent/City, например Europe/Moscow)
* *String* **schedule** (Расписание, возможные значения: once, loop, repeat)

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

* *String* **Title** (Название трансляции)
* *String* **Code** (Код трансляции)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Integer* **Concurrent** (Количество одновременных зрителей онлайн)
* *String* **CreationDate** (Дата создания)
* *Date* **StartAt** (Время начала трансляции)
* *String* **Timezone** (Временная зона)
* *String* **Type** (Тип трансляции)
* *String* **PlayerCode** (HTML-код плеера)
* *String* **Poster.Code** (Код постера)
* *Integer* **Poster.Width** (Ширина постера)
* *Integer* **Poster.Height** (Высота постера)
* *String* **Poster.Url** (Ссылка на постер)
* *String* **Screenshots.Item.Code** (Код скриншота)
* *Integer* **Screenshots.Item.Width** (Ширина скриншота)
* *Integer* **Screenshots.Item.Height** (Высота скриншота)
* *String* **Screenshots.Item.Url** (Ссылка на скриншот)
* *String* **UpcomingLive.Video** (Название видеофайла)
* *String* **UpcomingLive.StartAt** (Время начала)
* *String* **UpcomingLive.FinishAt** (Время окончания)
* *String* **UpcomingLive.Status** (Статус)
* *String* **UpcomingLive.Duration** (Длительность)
* *String* **UpcomingLive.Code** (Код сессии)

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

```text
https://boomstream.com/api/recordLive/upcomingLive?apikey=[API_KEY]&code=XXXXX&file_code=YYYY&start_at=&timezone=Europe/Moscow&schedule=loop
```

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

```xml
<Response>
    <Title>Promo</Title>
    <Code>xxxxxxxx</Code>
    <OnlineStatus>True</OnlineStatus>
    <RecordStatus>False</RecordStatus>
    <Concurrent>10</Concurrent>
    <CreationDate>2015-01-29 15:05:58</CreationDate>
    <StartAt/>
    <Timezone>Europe/Oslo</Timezone>
    <Type>record_live</Type>
    <PlayerCode>&lt;iframe width=&quot;{{width}}&quot; height=&quot;{{height}}&quot;
src=&quot;https://boomstream.com/player.html?code=xxxxxxxx&quot; frameborder=&quot;0&quot;
scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;</PlayerCode>
    <Poster>
        <Code>xxxxxxxx-m3</Code>
        <Width>1920</Width>
        <Height>1080</Height>
        <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
    </Poster>
    <Screenshots>
        <Item>
            <Code>xxxxxxxx-m3</Code>
            <Width>1920</Width>
            <Height>1080</Height>
            <Url>https://bs.boomstream.com/balancer/xxxxxxxx-m3.jpg</Url>
        </Item>
    </Screenshots>
    <UpcomingLive>
        <Item>
            <Video>video_name</Video>
            <StartAt>2020-09-10 23:00:33</StartAt>
            <FinishAt>2020-09-10 23:02:09</FinishAt>
            <Status>completed</Status>
            <Duration>63</Duration>
            <Code>zzzzzzz</Code>
        </Item>
    </UpcomingLive>
    <Status>Success</Status>
</Response>
```

## startUpcomingLive

*Старт сессии запланированной трансляции из файла*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **code** (Код существующей трансляции из файла)
* *String* **upcoming_code** (Код сессии запланированной трансляции из файла)

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

Структура ответа идентична методу [info](#info).

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

```text
https://boomstream.com/api/recordLive/startUpcomingLive?apikey=[apikey]&code=xxxxx&upcoming_code=yyyyy
```

## stopUpcomingLive

*Остановка сессии запланированной трансляции из файла*

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

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

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

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

Структура ответа идентична методу [info](#info).

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

```text
https://boomstream.com/api/recordLive/stopUpcomingLive?apikey=[apikey]&code=xxxxx
```

## removeUpcomingLive

*Удаление сессии запланированной трансляции из файла*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **code** (Код существующей трансляции из файла)
* *String* **upcoming_code** (Код сессии запланированной трансляции из файла)

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

Структура ответа идентична методу [info](#info).

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

```text
https://boomstream.com/api/recordLive/removeUpcomingLive?apikey=[apikey]&code=xxxxx&upcoming_code=yyyyy
```

## delete

*Удаление трансляции из файла*

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

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

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

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

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

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

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