> For the complete documentation index, see [llms.txt](https://hybrid.gitbook.io/rest-api-3-0/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hybrid.gitbook.io/rest-api-3-0/master.md).

# REST APIs for campaign management and reporting 3.0

## Получение токена

<mark style="color:green;">`POST`</mark> `https://api.hybrid.ai/token`

Время жизни токена — сутки.

#### Headers

| Name          | Type   | Description                       |
| ------------- | ------ | --------------------------------- |
| Content-Type: | string | application/x-www-form-urlencoded |

#### Request Body

| Name            | Type   | Description         |
| --------------- | ------ | ------------------- |
| grant\_type:    | string | client\_credentials |
| client\_id:     | string | {client\_id}        |
| client\_secret: | string | {client\_secret}    |

{% tabs %}
{% tab title="200 Successfully retrieved." %}

```
{
    "access_token": "lXe7ahBEgf_iPhgxRloCsgVpn2DcME-5_gd6gZl2j5h7Hzk4GFgICfiNy4GUuha1F53jqDRs1uD5NYGuSeBxus0tz_5ZBZ4UUhjjmki0i4j-jwYnYqDealRm194Fcz6mjy2gx3peFKp8L604Rk0Fg17R7XAhflLhaH9wt_Yqw2ndSkhEOEQEXmrs6A1U3i9KgLc0LDepwdoQqvx2LPG7QfD3KmAo",
    "token_type": "bearer",
    "expires_in": 86399,
    "refresh_token": "FAj7rPtfTAWec9P7LJnbD0v_dxvGEPRa_kvJnGBfwF3TyrMjjHRVuBJxlopG7ArP2Cf0-PxnEELzlrMutXosDDSRwgTj54ruJsdfsDd--E728erG3oAhjpJ0jjgW_mjDQvKVMkRpu2lkr3qUdJouW8nebNOG6w-pxERzwCeiCOCKJ1wjTTy5Ktjr2hVNbEbpL9k-8xz4jAu6Zz-6k8h7"
}

```

{% endtab %}
{% endtabs %}

## Получение нового токена

<mark style="color:green;">`POST`</mark> `https://api.hybrid.ai/token`

#### Headers

| Name         | Type   | Description                       |
| ------------ | ------ | --------------------------------- |
| Content-Type | string | application/x-www-form-urlencoded |

#### Request Body

| Name           | Type   | Description         |
| -------------- | ------ | ------------------- |
| refresh\_token | string | {refresh\_token}    |
| client\_secret | string | {client\_secret}    |
| client\_id     | string | {client\_id}        |
| grant\_type    | string | client\_credentials |

{% tabs %}
{% tab title="200 " %}

```
{
    "access_token": "4gq5X9SBZlyHZDVZjGoplR-TIccCB4I5cWtEbEL5YFue5jNEdfsdsfsd31345FFpoa2RpHFf61yrJN2ygNDusQEtTjVpB2ehC44nGJhGUisUpxlQ6grzl0excbQN1Gi5TirPbEltlaQ0kM3fzmrMAiAuoU",
    "token_type": "bearer",
    "expires_in": 86399,
    "refresh_token": "OY1DQynUMwNs5vyeiyxr7ocQPnEynd-RQJJ3lPmp2xxXXUU8TWtO_RMCiyokOobRZgJXsUEOKLMu3nfjJJvL6c979lUg1WKKGv5eNoSQ4x63wW-KsrJDhjUaZuV9PUhjUVyViwH83FLHjF_pmmJY8m0-SQkvyZmAzA9WdXtkeVKdZBwxA5uO01r4gVwpTluqp8_XYZDePjixW-D2W7q1IhbkaJyS"
}

```

{% endtab %}
{% endtabs %}

## Получение списка рекламодателей по указанному агентству

<mark style="color:blue;">`GET`</mark> `https://api.hybrid.ai/v3.0/agency/advertisers`

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Authorization | string | Bearer {access\_token} |

{% tabs %}
{% tab title="200 " %}

```
   {
        "Id": "5f742dd47bc72f3ce4dsd040",
        "Name": "advertiser1"
    },
    {
        "Id": "5e3552dskqe35fdsac7c8432",
        "Name": "advertiser2"
    }

```

{% endtab %}
{% endtabs %}

## Получение списка кампаний по указанному рекламодателю

<mark style="color:blue;">`GET`</mark> `https://api.hybrid.ai/v3.0/advertiser/campaigns?advertiserId={advertiserId}`

advertiserId — id рекламодателя

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Authorization | string | Bearer {access\_token} |

{% tabs %}
{% tab title="200 " %}

```
{
        "Id": "5e37csd47bc72f3ce4dsd040",
        "Name": "campaign1"
    },
    {
        "Id": "5e3552dsdbc72fdsac7c8432",
        "Name": "campaign2"
    }

```

{% endtab %}
{% endtabs %}

## Получение списка баннеров по указанной кампании

<mark style="color:blue;">`GET`</mark> `https://api.hybrid.ai/v3.0/campaign/banners?campaignId={campaignId}`

campaignId — id  кампании

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Authorization | string | Bearer {access\_token} |

{% tabs %}
{% tab title="200 Id - идентификатор баннера" %}

```
    {
        "Id": "5e354scc7bc72fc4ac7ca0d8",
        "Name": "banner2"
    },
    {
        "Id": "5e35fgcc7bc72fc4ac7ca15b",
        "Name": "banner2"
    }

```

{% endtab %}
{% endtabs %}

## Получение статистики по указанному агентству

<mark style="color:blue;">`GET`</mark> `https://api.hybrid.ai/v3.0/agency/{split}?from={from}&to={to}&page={page}&limit={limit}`

**split** — поле группировки, смотреть в разделе описание группировок и полей (обязательный параметр) \
\
**from** — нижний порог даты статистики (обязательный параметр)\
\
**to** - верхний порог даты статистики (обязательный параметр)\
\
**page** — номер страницы начиная с 0 (по умолчанию 0)\
\
**limit** — количество строк на странице (по умолчанию 100)

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Authorization | string | Bearer {access\_token} |

{% tabs %}
{% tab title="200 " %}

```
{
    "Statistic": [
        {
            "Day": "2020-01-15T00:00:00",
            "ImpressionCount": 2778927,
            "ClickCount": 17704,
            "Reach": 1225059,
            "CTR": 0.63708042708570611
        },
        {
            "Day": "2020-01-16T00:00:00",
            "ImpressionCount": 2388928,
            "ClickCount": 15249,
            "Reach": 1040949,
            "CTR": 0.63831978192729122
        }
    ],
    "Total": {
        "ImpressionCount": 5167855,
        "ClickCount": 32953,
        "Reach": 2135812,
        "CTR": 0.63765333973186167
    }
}

```

{% endtab %}
{% endtabs %}

## Получение статистики по указанному рекламодателю

<mark style="color:blue;">`GET`</mark> `https://api.hybrid.ai/v3.0/advertiser/{split}?from={from}&to={to}&advertiserId={advertiserId}&page={page}&limit={limit}`

**split** — поле группировки, смотреть в разделе "описание группировок и полей" (является обязательным параметром если токен имеет тип "агентство", если токен является типом "рекламодатель", параметр НЕ является обязательным) \
\
**advertiserId** — id рекламодателя (обязательный параметр)\
\
**from** — нижний порог даты статистики (обязательный параметр)\
\
**to** — верхний порог даты статистики (обязательный параметр)\
\
**page** — номер страницы начиная с 0 (по умолчанию 0)\
\
**limit** — количество строк на странице (по умолчанию 100)

## <br>

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Authorization | string | Bearer {access\_token} |

{% tabs %}
{% tab title="200 " %}

```
{
    "Statistic": [
        {
            "Day": "2020-02-02T00:00:00",
            "ImpressionCount": 201618,
            "ClickCount": 315,
            "Reach": 40211,
            "CTR": 0.15623605035264707
        },
        {
            "Day": "2020-02-03T00:00:00",
            "ImpressionCount": 105378,
            "ClickCount": 278,
            "Reach": 27368,
            "CTR": 0.26381218091062653
        }
    ],
    "Total": {
        "ImpressionCount": 306996,
        "ClickCount": 593,
        "Reach": 64875,
        "CTR": 0.1931621258908911
    }
}

```

{% endtab %}
{% endtabs %}

## Получение статистики по указанной кампании

<mark style="color:blue;">`GET`</mark> `https://api.hybrid.ai/v3.0/campaign/{split}?from={from}&to={to}&campaignId={campaignId}&page={page}&limit={limit}`

**split** — поле группировки, смотреть в разделе описание группировок и полей (обязательный параметр) \
\
**campaignId** — id кампании (обязательный параметр)\
\
**from** — нижний порог даты статистики (обязательный параметр)\
\
**to** — верхний порог даты статистики (обязательный параметр)\
\
**page** — номер страницы начиная с 0 (по умолчанию 0)\
\
**limit** — количество строк на странице (по умолчанию 100)

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Authorization | string | Bearer {access\_token} |

{% tabs %}
{% tab title="200 " %}

```
{
    "Statistic": [
        {
            "Day": "2020-02-02T00:00:00",
            "ImpressionCount": 12054,
            "ClickCount": 0,
            "Reach": 330,
            "CTR": 0.0
        },
        {
            "Day": "2020-02-03T00:00:00",
            "ImpressionCount": 12082,
            "ClickCount": 0,
            "Reach": 188,
            "CTR": 0.0
        }
    ],
    "Total": {
        "ImpressionCount": 24136,
        "ClickCount": 0,
        "Reach": 518,
        "CTR": 0.0
    }
}

```

{% endtab %}
{% endtabs %}

## Получение статистики в двойной группировке

\ <mark style="color:blue;">`GET`</mark> `/v3.0/{controller}/{split}[/{split2}]`

Получение агрегированной статистики по рекламодателю с возможностью одинарной или двойной группировки.

Поддерживается для следующих контроллеров:\
/advertiser, /campaign, /banner.

Параметры пути:

**split** — поле группировки.

**split2** — необязательное второе поле группировки.\
Если указано, будет произведена двойная группировка по split и split2.

Максимум можно указать две группировки: split и split2.\
При указании более двух срезов,например, folder/day/region — будет возвращена ошибка

Если split и split2 совпадают, например, folder/folder — будет применена одинарная группировка, дублирование игнорируется.<br>

## Описание группировок и полей

\
**Группировки (splits):**

**Day** — по дням\
**Advertiser** — по id рекламодателя\
**Country** — по стране\
**Region** — по региону (области)\
**Ssp** — по имени рекламной сети\
**Folder** — по папкам кампаний

#### **Получаемые поля статистики (fields):**

**ImpressionCount** — Количество показов\
**ViewCount** — Количество просмотров\
**ClickCount** — Количество кликов\
**PostClickConversionsCount** — Количество Post-click конверсий\
**PostViewConversionsCount** — Количество Post-view конверсий\
**FirstQuartileEventsCount** — Просмотры видео на 25%\
**MidpointEventsCount** — Просмотры видео на 50%\
**ThirdQuartileEventsCount** — Просмотры видео на 75%\
**CompleteEventsCount** — Просмотры видео на 100%\
**Reach** — Охват\
**CTR** — Процент кликабельности\
**Viewability** — процент видимости рекламного объявления\
**Frequency** — Частота показа<br>

{% hint style="success" %}
Для получения дополнительных группировок и полей обратитесь к вашему менеджеру или напишите на <support@hybrid.ai>
{% endhint %}

\
\
\
\ <br>
