# Live IP-Camera

Методы: [info](#info) | [list](#list) | [create](#create) | [update](#update) | [record](#record) | [toggle](#toggle) | [delete](#delete)

## info

*Получение информации об IP-камере по её коду*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **code** (Код IP-камеры)

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

* *String* **Title** (Название IP-камеры)
* *String* **Code** (Код IP-камеры)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Boolean* **RecordStatus** (Статус записи)
* *Integer* **Concurrent** (Количество одновременных пользователей)
* *String* **CreationDate** (Дата создания)
* *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* **CameraUrl.Url** (URL IP-камеры)
* *Boolean* **CameraIsActive** (Статус IP-камеры)
* *Boolean* **DvrStatus** (Статус функции DVR)

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

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

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

```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/Kiev</Timezone>
    <Type>camera</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>
    <DvrStatus>False</DvrStatus>
    <CameraUrl>rtsp://11.122.133.144:555/mpeg4</CameraUrl>
    <CameraIsActive>true</CameraIsActive>
    <Status>Success</Status>
</Response>
```

## list

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

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

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

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

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

* *String* **Title** (Название IP-камеры)
* *String* **Code** (Код IP-камеры)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Boolean* **RecordStatus** (Статус записи)
* *Integer* **Concurrent** (Количество одновременных пользователей)
* *String* **CreationDate** (Дата создания)
* *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* **CameraUrl.Url** (URL IP-камеры)
* *Boolean* **CameraIsActive** (Статус IP-камеры)

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

```text
https://boomstream.com/api/cameraLive/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/Kiev</Timezone>
          <Type>camera</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>
       <CameraUrl>rtsp://11.122.133.144:555/mpeg4</CameraUrl>
       <CameraIsActive>true</CameraIsActive>
       </Item>
    </Lives>
    <Status>Success</Status>
</Response>
```

## create

*Добавление новой IP-камеры*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **title** (Название IP-камеры)
* *String* **url** (URL IP-камеры)

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

* *String* **username** (Логин для доступа к IP-камере)
* *String* **password** (Пароль для доступа к IP-камере)
* *Integer* **autorecord** (Автозапись) 1-Да, 0-Нет
* *String* **filetemplate** (Шаблон именования записей IP-камеры)
  * По умолчанию: `%title% - %date% %time%`
  * Доступные переменные:
    * `%index%` - Индекс записи
    * `%name%` - Название записи
    * `%date%` - Дата создания записи
    * `%time%` - Время создания записи
* *Integer* **folder** (Сохранять в папку Live) 1-Да, 0-Нет
* *Integer* **rotation** (Ротация записей по длительности, указывается в минутах. Максимальное значение: 1440 минут)
* *String* **offlinetitle** (Сообщение при офлайн-статусе)
* *String* **description** (Описание для интерфейса страницы)
* *String* **cameraUrl** (URL IP-камеры)
* *Boolean* **cameraIsActive** (Статус IP-камеры)
* *Integer* **dvr** (Включение функции DVR) 1-Да, 0-Нет

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

* *String* **Title** (Название IP-камеры)
* *String* **Code** (Код IP-камеры)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Boolean* **RecordStatus** (Статус записи)
* *Integer* **Concurrent** (Количество одновременных пользователей)
* *String* **CreationDate** (Дата создания)
* *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/cameraLive/create?apikey=[API_KEY]&title=Ip-camera&url=rtsp://11.122.133.144:555/mpeg4&username=[]&password=[]
```

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

```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/Kiev</Timezone>
    <Type>camera</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>
    <DvrStatus>False</DvrStatus>
    <CameraUrl>rtsp://11.122.133.144:555/mpeg4</CameraUrl>
    <CameraIsActive>true</CameraIsActive>
    <Status>Success</Status>
</Response>
```

## update

*Обновление параметров IP-камеры*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **code** (Код IP-камеры)

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

* *String* **username** (Логин для доступа к IP-камере)
* *String* **password** (Пароль для доступа к IP-камере)
* *Integer* **autorecord** (Автозапись) 1-Да, 0-Нет
* *String* **filetemplate** (Шаблон именования записей IP-камеры)
  * По умолчанию: `%title% - %date% %time%`
  * Доступные переменные:
    * `%index%` - Индекс записи
    * `%name%` - Название записи
    * `%date%` - Дата создания записи
    * `%time%` - Время создания записи
* *Integer* **folder** (Сохранять в папку Live) 1-Да, 0-Нет
* *Integer* **rotation** (Ротация записей по длительности, указывается в минутах. Максимальное значение: 1440 минут)
* *String* **offlinetitle** (Сообщение при офлайн-статусе)
* *String* **description** (Описание для интерфейса страницы)
* *String* **cameraUrl** (URL IP-камеры)
* *Boolean* **cameraIsActive** (Статус IP-камеры)

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

* *String* **Title** (Название IP-камеры)
* *String* **Code** (Код IP-камеры)
* *Boolean* **OnlineStatus** (Статус вещания)
* *Boolean* **RecordStatus** (Статус записи)
* *Integer* **Concurrent** (Количество одновременных пользователей)
* *String* **CreationDate** (Дата создания)
* *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/cameraLive/update?apikey=[API_KEY]&code=xxxxxxxx&title=ip-camera&username=[]&password=[]
```

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

```xml
<Response>
    <Title>Promo</Title>
    <Code>xxxxxxxx</Code>
    <PublishKey>xxxxxxxx</PublishKey>
    <EncoderLink>
        https://boomstream.com/api/cameraLive/encoder?hash=xxxxxxxxxxxxxxxxx&code=xxxxxxxx
    </EncoderLink>
    <OnlineStatus>True</OnlineStatus>
    <RecordStatus>True</RecordStatus>
    <Concurrent>10</Concurrent>
    <CreationDate>2015-01-29 15:05:58</CreationDate>
    <StartAt/>
    <Timezone>Europe/Kiev</Timezone>
    <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>
    <DvrStatus>False</DvrStatus>
    <CameraUrl>rtsp://11.122.133.144:555/mpeg4</CameraUrl>
    <CameraIsActive>true</CameraIsActive>
    <Status>Success</Status>
</Response>
```

## record

*Запись IP-камеры*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **code** (Код IP-камеры)
* *Integer* **record** (Статус записи) 1-Да (запись), 0-Нет (остановить)

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

```text
https://boomstream.com/api/cameraLive/record?apikey=[API_KEY]&code=xxxxxxxx&record=1
```

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

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

## toggle

*Запуск или остановка вещания IP-камеры*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **code** (Код IP-камеры)
* *Integer* **action** (Статус вещания) start - IP-камера вещает, stop - IP-камера останавливает вещание

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

```text
https://boomstream.com/api/cameraLive/toggle?apikey=[API_KEY]&code=xxxxxxxx&action=stop
```

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

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

## delete

*Удаление IP-камеры*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **code** (Код IP-камеры)

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

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

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

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