# Statistics

Методы: [project](#project) | [target](#target) | [session](#session)

## project

*Статистика по проекту*

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

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

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

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

* *String* **project** (Выбор проекта). Варианты: **all** (по всем проектам), **apikey другого проекта** (по указанному проекту). По умолчанию — **текущий проект из apikey**
* *Date* **start** (Дата начала в формате ГГГГ-ММ-ДД, например 2020-01-01). По умолчанию: неделя назад от даты окончания
* *Date* **end** (Дата окончания в формате ГГГГ-ММ-ДД, например 2020-05-01). По умолчанию: текущая дата
* *String* **group** (Группировка вывода). Варианты: **day** (по дням), **hour** (по часам). По умолчанию: **day**
* *String* **order** (Сортировка вывода). Варианты: **asc** (по возрастанию), **desc** (по убыванию). По умолчанию: **asc**
* *Integer* **page** (Страница вывода). По умолчанию: page=1

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

* *String* **Period** (Период)
* *String* **Start** (Дата начала)
* *String* **End** (Дата окончания)
* *String* **GroupBy** (Группировка)
* *String* **SourceType** (Тип источника)
* *Integer* **Page** (Текущая страница)
* *Integer* **PageLimit** (Элементов на странице)
* *Integer* **PageCount** (Всего страниц)
* *Integer* **ItemCount** (Всего элементов)
* *Array* **Items** (Список элементов с датой, временем просмотра)

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

```text
https://boomstream.com/api/stats?apikey=[API_KEY]&start=2019-01-01&end=2020-05-01&group=day
```

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

```xml
<Response>
   <Period>01.01.2019 - 10.05.2020</Period>
   <Start>01.01.2019</Start>
   <End>10.05.2020</End>
   <GroupBy>day</GroupBy>
   <SourceType>project</SourceType>
   <Page>1</Page>
   <PageLimit>1000</PageLimit>
   <PageCount>1</PageCount>
   <ItemCount>1</ItemCount>
   <ItemFormat>
      <date>Date</date>
      <time>Time</time>
      <time_dim>Time (hours)</time_dim>
   </ItemFormat>
   <Items>
      <Item>
         <date>23.12.2019</date>
         <time>965600</time>
         <time_dim>0.27 hours</time_dim>
      </Item>
   </Items>
   <Status>Success</Status>
</Response>
```

## target

*Статистика по видео, трансляции или плейлисту*

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

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

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

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

* *Date* **start** (Дата начала в формате ГГГГ-ММ-ДД, например 2020-01-01). По умолчанию: неделя назад от даты окончания
* *Date* **end** (Дата окончания в формате ГГГГ-ММ-ДД, например 2020-05-01). По умолчанию: текущая дата
* *String* **group** (Группировка вывода). Варианты: **day** (по дням), **hour** (по часам). По умолчанию: **day**
* *String* **order** (Сортировка вывода). Варианты: **asc** (по возрастанию), **desc** (по убыванию). По умолчанию: **asc**
* *Integer* **page** (Страница вывода). По умолчанию: page=1

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

* *String* **Period** (Период)
* *String* **Start** (Дата начала)
* *String* **End** (Дата окончания)
* *String* **GroupBy** (Группировка)
* *String* **SourceType** (Тип источника)
* *Integer* **Page** (Текущая страница)
* *Integer* **PageLimit** (Элементов на странице)
* *Integer* **PageCount** (Всего страниц)
* *Integer* **ItemCount** (Всего элементов)
* *Array* **Items** (Список элементов с датой, временем просмотра)

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

```text
https://boomstream.com/api/stats?apikey=[API_KEY]&start=2019-01-01&end=2020-05-01&code=XXXXXXXX&group=day
```

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

```xml
<Response>
   <Period>01.01.2019 - 10.05.2020</Period>
   <Start>01.01.2019</Start>
   <End>10.05.2020</End>
   <GroupBy>day</GroupBy>
   <SourceType>media</SourceType>
   <Page>1</Page>
   <PageLimit>1000</PageLimit>
   <PageCount>1</PageCount>
   <ItemCount>1</ItemCount>
   <ItemFormat>
      <date>Date</date>
      <time>Time</time>
      <time_dim>Time (hours)</time_dim>
   </ItemFormat>
   <Items>
      <Item>
         <date>23.12.2019</date>
         <time>965600</time>
         <time_dim>0.27 hours</time_dim>
      </Item>
   </Items>
   <Status>Success</Status>
</Response>
```

## session

*Статистика по сессиям пользователя по паролю*

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

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

* *String* **apikey** (API ключ проекта)
* *String* **code** (Код медиафайла)
* *String* **hash** (Пароль пользователя)

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

* *Date* **start** (Дата начала в формате ГГГГ-ММ-ДД, например 2020-01-01). По умолчанию: текущий день
* *Date* **end** (Дата окончания в формате ГГГГ-ММ-ДД, например 2020-05-01). По умолчанию: следующий день после текущего
* *String* **order** (Сортировка вывода). Варианты: **asc** (по возрастанию), **desc** (по убыванию). По умолчанию: **asc**
* *Integer* **page** (Страница вывода). По умолчанию: page=1

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

* *String* **Place** (Название медиафайла, к которому был привязан пароль)
* *String* **IP** (IP-адрес устройства зрителя)
* *String* **Country** (Страна зрителя, определяемая по IP-адресу)
* *String* **UserAgent** (User Agent зрителя)
* *Date* **CreatedAt** (Время создания сессии)
* *Integer* **LeftActivations** (Осталось активаций пароля)

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

```text
https://boomstream.com/api/ppv/sessions?apikey=[API_KEY]&code=[media_code]&hash=[customer_password]&start=2019-01-01&end=2020-05-01&order=desc
```

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

```xml
<Response>
<Item>
   <Place>Media name</Place>
   <ip>192.168.0.1</ip>
   <Country>Russia</Country>
   <UserAgent>Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36</UserAgent>
   <Start>2020-09-09 11:35:28</Start>
   <LeftActivations>1</LeftActivations>
</Item>
</Response>
```
