# Протокол

## Оглавление

- [keyapis/banner/v1/keyapis_banner_banner_v1.proto](#keyapis_banner_v1_keyapis_banner_banner_v1-proto)
    - [BannerService](#keyapis-banner-v1-BannerService)
  
    - [Banner](#keyapis-banner-v1-Banner)
    - [Banner.Gradient](#keyapis-banner-v1-Banner-Gradient)
    - [Banner.Gradient.Linear](#keyapis-banner-v1-Banner-Gradient-Linear)
    - [Banner.Gradient.Linear.Point](#keyapis-banner-v1-Banner-Gradient-Linear-Point)
    - [Banner.Image](#keyapis-banner-v1-Banner-Image)
    - [Banner.Link](#keyapis-banner-v1-Banner-Link)
    - [Banner.SavingError](#keyapis-banner-v1-Banner-SavingError)
    - [Banner.SavingError.Conflict](#keyapis-banner-v1-Banner-SavingError-Conflict)
    - [BannerFilter](#keyapis-banner-v1-BannerFilter)
    - [BannerLite](#keyapis-banner-v1-BannerLite)
    - [BannerLite.ImageLite](#keyapis-banner-v1-BannerLite-ImageLite)
    - [BannerLite.LinkLite](#keyapis-banner-v1-BannerLite-LinkLite)
    - [BannerLiteFilter](#keyapis-banner-v1-BannerLiteFilter)
    - [BannerPaging](#keyapis-banner-v1-BannerPaging)
    - [GetBannerCountRequest](#keyapis-banner-v1-GetBannerCountRequest)
    - [GetBannerCountResponse](#keyapis-banner-v1-GetBannerCountResponse)
    - [GetBannerCountResponse.Error](#keyapis-banner-v1-GetBannerCountResponse-Error)
    - [GetBannerListRequest](#keyapis-banner-v1-GetBannerListRequest)
    - [GetBannerListResponse](#keyapis-banner-v1-GetBannerListResponse)
    - [GetBannerListResponse.Error](#keyapis-banner-v1-GetBannerListResponse-Error)
    - [GetBannerLiteListRequest](#keyapis-banner-v1-GetBannerLiteListRequest)
    - [GetBannerLiteListResponse](#keyapis-banner-v1-GetBannerLiteListResponse)
    - [GetBannerLiteListResponse.Error](#keyapis-banner-v1-GetBannerLiteListResponse-Error)
    - [GetBannerLiteRequest](#keyapis-banner-v1-GetBannerLiteRequest)
    - [GetBannerLiteResponse](#keyapis-banner-v1-GetBannerLiteResponse)
    - [GetBannerLiteResponse.Error](#keyapis-banner-v1-GetBannerLiteResponse-Error)
    - [GetBannerRequest](#keyapis-banner-v1-GetBannerRequest)
    - [GetBannerResponse](#keyapis-banner-v1-GetBannerResponse)
    - [GetBannerResponse.Error](#keyapis-banner-v1-GetBannerResponse-Error)
    - [PostBannerRequest](#keyapis-banner-v1-PostBannerRequest)
    - [PostBannerResponse](#keyapis-banner-v1-PostBannerResponse)
    - [PostBannerResponse.Error](#keyapis-banner-v1-PostBannerResponse-Error)
    - [PostBannerUploadImageRequest](#keyapis-banner-v1-PostBannerUploadImageRequest)
    - [PostBannerUploadImageResponse](#keyapis-banner-v1-PostBannerUploadImageResponse)
    - [PostBannerUploadImageResponse.Error](#keyapis-banner-v1-PostBannerUploadImageResponse-Error)
    - [UploadImage](#keyapis-banner-v1-UploadImage)
    - [ValidationError](#keyapis-banner-v1-ValidationError)
  
    - [Banner.Image.Type](#keyapis-banner-v1-Banner-Image-Type)
    - [Banner.Link.Type](#keyapis-banner-v1-Banner-Link-Type)
    - [Banner.PlatformType](#keyapis-banner-v1-Banner-PlatformType)
    - [Banner.PriorityType](#keyapis-banner-v1-Banner-PriorityType)
    - [Banner.StatusType](#keyapis-banner-v1-Banner-StatusType)
    - [Banner.Type](#keyapis-banner-v1-Banner-Type)
    - [BannerPaging.DirectionType](#keyapis-banner-v1-BannerPaging-DirectionType)
    - [BannerPaging.OrderByType](#keyapis-banner-v1-BannerPaging-OrderByType)
  


## [Схема классов](/svg/protos/key/keyapis/banner/v1/keyapis_banner_banner_v1.proto.svg)
<a href="/svg/protos/key/keyapis/banner/v1/keyapis_banner_banner_v1.proto.svg"><img src="/svg/protos/key/keyapis/banner/v1/keyapis_banner_banner_v1.proto.svg" alt="/svg/protos/key/keyapis/banner/v1/keyapis_banner_banner_v1.proto.svg" style="height:100%;"></a>




<a name="keyapis_banner_v1_keyapis_banner_banner_v1-proto"></a>

## [keyapis/banner/v1/keyapis_banner_banner_v1.proto](/protos/key/keyapis/banner/v1/keyapis_banner_banner_v1.proto)
Сервис реализует функционал управления баннерами.
Используются как источник Критичнх уведомления, White label компаний и объявления рекламных акций


<a name="keyapis-banner-v1-BannerService"></a>

### BannerService
 Сервис управления баннерами

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="keyapis-banner-v1-PostBanner"></a> [PostBanner](#keyapis-banner-v1-PostBanner) | Метод сохранения баннера. Поддерживает создание и обновление. Метод доступен для: admin, manager, service | [keyapis.banner.v1.PostBannerRequest](#keyapis-banner-v1-PostBannerRequest) | [keyapis.banner.v1.PostBannerResponse](#keyapis-banner-v1-PostBannerResponse) |
| <a id="keyapis-banner-v1-GetBanner"></a> [GetBanner](#keyapis-banner-v1-GetBanner) | Метод получения баннера. Метод доступен для: admin, manager, service | [keyapis.banner.v1.GetBannerRequest](#keyapis-banner-v1-GetBannerRequest) | [keyapis.banner.v1.GetBannerResponse](#keyapis-banner-v1-GetBannerResponse) |
| <a id="keyapis-banner-v1-GetBannerLite"></a> [GetBannerLite](#keyapis-banner-v1-GetBannerLite) | Метод получения упрощённого баннера. Не требует авторизации | [keyapis.banner.v1.GetBannerLiteRequest](#keyapis-banner-v1-GetBannerLiteRequest) | [keyapis.banner.v1.GetBannerLiteResponse](#keyapis-banner-v1-GetBannerLiteResponse) |
| <a id="keyapis-banner-v1-GetBannerList"></a> [GetBannerList](#keyapis-banner-v1-GetBannerList) | Метод получения списка баннеров. Метод доступен для: admin, manager, service | [keyapis.banner.v1.GetBannerListRequest](#keyapis-banner-v1-GetBannerListRequest) | [keyapis.banner.v1.GetBannerListResponse](#keyapis-banner-v1-GetBannerListResponse) stream |
| <a id="keyapis-banner-v1-GetBannerLiteList"></a> [GetBannerLiteList](#keyapis-banner-v1-GetBannerLiteList) | Метод получения списка упрощённых баннеров. Возвращает всегда активные баннеры. По умолчанию возвращает первые 20 баннеров осортированных по приоритету, затем по дате начала акции(от самых важных к не важным, затем от самых новых акций к самым старым). Если запрос выполнен хотя бы без одного изпризнака приложения возвращает пустой список. Если запрос выполнен без признаков пользователя метод возвращает пустой список. Не требует авторизации | [keyapis.banner.v1.GetBannerLiteListRequest](#keyapis-banner-v1-GetBannerLiteListRequest) | [keyapis.banner.v1.GetBannerLiteListResponse](#keyapis-banner-v1-GetBannerLiteListResponse) stream |
| <a id="keyapis-banner-v1-GetBannerCount"></a> [GetBannerCount](#keyapis-banner-v1-GetBannerCount) | Метод получения количества баннеров. Метод доступен для: admin, manager, service | [keyapis.banner.v1.GetBannerCountRequest](#keyapis-banner-v1-GetBannerCountRequest) | [keyapis.banner.v1.GetBannerCountResponse](#keyapis-banner-v1-GetBannerCountResponse) |
| <a id="keyapis-banner-v1-PostBannerUploadImage"></a> [PostBannerUploadImage](#keyapis-banner-v1-PostBannerUploadImage) | Метод загрузки картинки баннера. Метод доступен для: admin, manager, service | [keyapis.banner.v1.PostBannerUploadImageRequest](#keyapis-banner-v1-PostBannerUploadImageRequest) | [keyapis.banner.v1.PostBannerUploadImageResponse](#keyapis-banner-v1-PostBannerUploadImageResponse) |

 <!-- end services -->


<a name="keyapis-banner-v1-Banner"></a>


### [Banner](#keyapis-banner-v1-Banner)
 Баннер.
# Описание модели


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-Banner-id"></a> [id](#keyapis-banner-v1-Banner-id) | Идентификатор. Если не передан создаётся сервером. # Тип: Guid |    [string](#scalar-types) | <nil>|
| <a id="keyapis-banner-v1-Banner-type"></a> [type](#keyapis-banner-v1-Banner-type) | Тип баннера. Обязательное |    [keyapis.banner.v1.Banner.Type](#keyapis-banner-v1-Banner-Type) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-priority"></a> [priority](#keyapis-banner-v1-Banner-priority) | Приоритет. Обязательное. # Диапазон: 1..255 |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-priority_type"></a> [priority_type](#keyapis-banner-v1-Banner-priority_type) | Тип приоритета. # Поле вычисляется в коде приложения |    [keyapis.banner.v1.Banner.PriorityType](#keyapis-banner-v1-Banner-PriorityType) | OUTPUT_ONLY|
| <a id="keyapis-banner-v1-Banner-title"></a> [title](#keyapis-banner-v1-Banner-title) | Название. Обязательное. Обычно это название рекламной компании. Не отображается пользователям. # Диапазон: 3..256 |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-header"></a> [header](#keyapis-banner-v1-Banner-header) | Заголовок. # Диапазон: 3..64 |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-Banner-header_color"></a> [header_color](#keyapis-banner-v1-Banner-header_color) | Цвет текста заголовка. Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-Banner-subtitle"></a> [subtitle](#keyapis-banner-v1-Banner-subtitle) | Подзаголовок. # Диапазон: 3..256 |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-Banner-subtitle_color"></a> [subtitle_color](#keyapis-banner-v1-Banner-subtitle_color) | Цвет текста подзаголовка. Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-Banner-background_color"></a> [background_color](#keyapis-banner-v1-Banner-background_color) | Цвет заднего плана(подложки). Отрисовывается до загрузки картинки и градиента. Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-Banner-background_gradient"></a> [background_gradient](#keyapis-banner-v1-Banner-background_gradient) | Градиент |    [keyapis.banner.v1.Banner.Gradient](#keyapis-banner-v1-Banner-Gradient) | <nil>|
| <a id="keyapis-banner-v1-Banner-repeat_after_days"></a> [repeat_after_days](#keyapis-banner-v1-Banner-repeat_after_days) | Количество дней через которое можно повторно показать баннер. Если null, то закрыть нельзя, баннер повторно выводится каждый раз. # Диапазон: 0..366 |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-Banner-show_start_at"></a> [show_start_at](#keyapis-banner-v1-Banner-show_start_at) | Дата начала показа. Обязательное. Бессрочно если значение 2000-01-01. # Тип: DateOnly. # Диапазон: 730119..1095362 |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-show_ended_at"></a> [show_ended_at](#keyapis-banner-v1-Banner-show_ended_at) | Дата конца показа. Обязательное. Бессрочно если значение 3000-01-01. # Тип: DateOnly. # Диапазон: 730119..1095362 |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-status_type"></a> [status_type](#keyapis-banner-v1-Banner-status_type) | Статус баннера. # Поле вычисляется в коде приложения |    [keyapis.banner.v1.Banner.StatusType](#keyapis-banner-v1-Banner-StatusType) | OUTPUT_ONLY|
| <a id="keyapis-banner-v1-Banner-images"></a> [images](#keyapis-banner-v1-Banner-images) | Картинки. # Диапазон: 0..20 |  repeated  [keyapis.banner.v1.Banner.Image](#keyapis-banner-v1-Banner-Image) | <nil>|
| <a id="keyapis-banner-v1-Banner-links"></a> [links](#keyapis-banner-v1-Banner-links) | Ссылки для переходов. # Диапазон: 0..100 |  repeated  [keyapis.banner.v1.Banner.Link](#keyapis-banner-v1-Banner-Link) | <nil>|
| <a id="keyapis-banner-v1-Banner-user_tags"></a> [user_tags](#keyapis-banner-v1-Banner-user_tags) | Список тегов пользователей. Обязательное. Описывает кто может видеть баннер. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 1..100. # Паттерн: /^[A-Z-]{1,5}_[0-9A-Z-]{1,19}(?:\.[A-Z-]{1,5}_[0-9A-Z-]{1,19}){0,9}$/ |  repeated  [string](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-app_tags"></a> [app_tags](#keyapis-banner-v1-Banner-app_tags) | Список тегов приложений. Обязательное. Описывает какие клиенты могут видеть баннер. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 1..20. # Паттерн: /^[A-Z-]{1,5}_[0-9A-Z-]{1,19}(?:\.[A-Z-]{1,5}_[0-9A-Z-]{1,19}){0,9}$/ |  repeated  [string](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-created_at"></a> [created_at](#keyapis-banner-v1-Banner-created_at) | Дата создания. # Тип: DateTime |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|
| <a id="keyapis-banner-v1-Banner-changed_at"></a> [changed_at](#keyapis-banner-v1-Banner-changed_at) | Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта. # Тип: DateTime |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|






<a name="keyapis-banner-v1-Banner-Gradient"></a>


### [Banner.Gradient](#keyapis-banner-v1-Banner-Gradient)
 Градиент


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-Banner-Gradient-linear"></a> [linear](#keyapis-banner-v1-Banner-Gradient-linear) | Линейный градиент |  optional  [keyapis.banner.v1.Banner.Gradient.Linear](#keyapis-banner-v1-Banner-Gradient-Linear) | <nil>|






<a name="keyapis-banner-v1-Banner-Gradient-Linear"></a>


### [Banner.Gradient.Linear](#keyapis-banner-v1-Banner-Gradient-Linear)
 Линейный градиент


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-Banner-Gradient-Linear-angle"></a> [angle](#keyapis-banner-v1-Banner-Gradient-Linear-angle) | Угол направления линейного градиента в градусах. # Диапазон: 0..360 |    [float](#scalar-types) | <nil>|
| <a id="keyapis-banner-v1-Banner-Gradient-Linear-points"></a> [points](#keyapis-banner-v1-Banner-Gradient-Linear-points) | Точки градиента. Обязательное. # Диапазон: 2..20 |  repeated  [keyapis.banner.v1.Banner.Gradient.Linear.Point](#keyapis-banner-v1-Banner-Gradient-Linear-Point) | REQUIRED|






<a name="keyapis-banner-v1-Banner-Gradient-Linear-Point"></a>


### [Banner.Gradient.Linear.Point](#keyapis-banner-v1-Banner-Gradient-Linear-Point)
 Точка


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-Banner-Gradient-Linear-Point-color"></a> [color](#keyapis-banner-v1-Banner-Gradient-Linear-Point-color) | Цвет линейного градиента. Обязательное. Отрисовывается до загрузки картинки и градиента. Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-Gradient-Linear-Point-stop"></a> [stop](#keyapis-banner-v1-Banner-Gradient-Linear-Point-stop) | Стоп линейного градиента. Записывается в процентах. # Диапазон: 0..100 |    [float](#scalar-types) | <nil>|






<a name="keyapis-banner-v1-Banner-Image"></a>


### [Banner.Image](#keyapis-banner-v1-Banner-Image)
 Объект картинки


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-Banner-Image-type"></a> [type](#keyapis-banner-v1-Banner-Image-type) | Тип картинки. Обязательное |    [keyapis.banner.v1.Banner.Image.Type](#keyapis-banner-v1-Banner-Image-Type) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-Image-url"></a> [url](#keyapis-banner-v1-Banner-Image-url) | Значение ссылки на картинку. Обязательное. # Диапазон: 12..512 |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-banner-v1-Banner-Link"></a>


### [Banner.Link](#keyapis-banner-v1-Banner-Link)
 Ссылка


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-Banner-Link-platform_type"></a> [platform_type](#keyapis-banner-v1-Banner-Link-platform_type) | Тип платформы. Обязательное |    [keyapis.banner.v1.Banner.PlatformType](#keyapis-banner-v1-Banner-PlatformType) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-Link-type"></a> [type](#keyapis-banner-v1-Banner-Link-type) | Тип ссылки. Обязательное |    [keyapis.banner.v1.Banner.Link.Type](#keyapis-banner-v1-Banner-Link-Type) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-Link-url"></a> [url](#keyapis-banner-v1-Banner-Link-url) | Значение ссылки для перехода. Обязательное. # Диапазон: 12..512 |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-Banner-Link-packages"></a> [packages](#keyapis-banner-v1-Banner-Link-packages) | Список пакетов. Если пусто попытка перехода осуществляется безусловно. Если заполнено, то переход осуществляется только в случае если хоть один пакет есть на устройстве, иначе обработка переходит к следующей ссылке. # Диапазон: 0..20 |  repeated  [string](#scalar-types) | <nil>|






<a name="keyapis-banner-v1-Banner-SavingError"></a>


### [Banner.SavingError](#keyapis-banner-v1-Banner-SavingError)
 Ошибка сохранения.
Эти проверки выполняются при работе с базой данных и сторонними сервисами


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-Banner-SavingError-conflict"></a> [conflict](#keyapis-banner-v1-Banner-SavingError-conflict) | Конфликт версий |  optional  [keyapis.banner.v1.Banner.SavingError.Conflict](#keyapis-banner-v1-Banner-SavingError-Conflict) | <nil>|






<a name="keyapis-banner-v1-Banner-SavingError-Conflict"></a>


### [Banner.SavingError.Conflict](#keyapis-banner-v1-Banner-SavingError-Conflict)
 Конфликт версий.
Причины:
- В базе хранится другая версия строки, значения changed_at отличаются






<a name="keyapis-banner-v1-BannerFilter"></a>


### [BannerFilter](#keyapis-banner-v1-BannerFilter)
 Фильтр баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-BannerFilter-text"></a> [text](#keyapis-banner-v1-BannerFilter-text) | По тексту. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64. # Поиск производится по полям: # - Название; # - Заголовок; # - Подзаголовок; # - Список тегов пользователей; # - Список тегов приложений |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-types"></a> [types](#keyapis-banner-v1-BannerFilter-types) | По типам баннеров |  repeated  [keyapis.banner.v1.Banner.Type](#keyapis-banner-v1-Banner-Type) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-begin_priority"></a> [begin_priority](#keyapis-banner-v1-BannerFilter-begin_priority) | От приоритета включительно (больше или равно) |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-end_priority"></a> [end_priority](#keyapis-banner-v1-BannerFilter-end_priority) | До приоритета (меньше) |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-priority_types"></a> [priority_types](#keyapis-banner-v1-BannerFilter-priority_types) | По типам приоритетов. Переписывает значения фильтров по приоритету. Если переданы все типы, то фильтр игнорируется(так как нужно вернуть всё) |  repeated  [keyapis.banner.v1.Banner.PriorityType](#keyapis-banner-v1-Banner-PriorityType) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-begin_show_start_at"></a> [begin_show_start_at](#keyapis-banner-v1-BannerFilter-begin_show_start_at) | От даты начала показа включительно (больше или равно) |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-end_show_start_at"></a> [end_show_start_at](#keyapis-banner-v1-BannerFilter-end_show_start_at) | До даты начала показа (меньше) |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-begin_show_ended_at"></a> [begin_show_ended_at](#keyapis-banner-v1-BannerFilter-begin_show_ended_at) | От даты конца показа включительно (больше или равно) |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-end_show_ended_at"></a> [end_show_ended_at](#keyapis-banner-v1-BannerFilter-end_show_ended_at) | До даты конца показа (меньше) |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-status_types"></a> [status_types](#keyapis-banner-v1-BannerFilter-status_types) | По статусам баннеров. Переписывает значения фильтров по датам. Если переданы все типы, то фильтр игнорируется(так как нужно вернуть всё) |  repeated  [keyapis.banner.v1.Banner.StatusType](#keyapis-banner-v1-Banner-StatusType) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-user_tags"></a> [user_tags](#keyapis-banner-v1-BannerFilter-user_tags) | По пользовательским тегам. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 0..20. # Паттерн: /^[A-Z-]{1,5}_[0-9A-Z-]{1,19}(?:\.[A-Z-]{1,5}_[0-9A-Z-]{1,19}){0,9}$/ |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-banner-v1-BannerFilter-app_tags"></a> [app_tags](#keyapis-banner-v1-BannerFilter-app_tags) | По тегам приложений. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 0..20. # Паттерн: /^[A-Z-]{1,5}_[0-9A-Z-]{1,19}(?:\.[A-Z-]{1,5}_[0-9A-Z-]{1,19}){0,9}$/ |  repeated  [string](#scalar-types) | <nil>|






<a name="keyapis-banner-v1-BannerLite"></a>


### [BannerLite](#keyapis-banner-v1-BannerLite)
 Облегчённый баннер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-BannerLite-id"></a> [id](#keyapis-banner-v1-BannerLite-id) | Идентификатор. # Тип: Guid |    [string](#scalar-types) | <nil>|
| <a id="keyapis-banner-v1-BannerLite-repeat_after_days"></a> [repeat_after_days](#keyapis-banner-v1-BannerLite-repeat_after_days) | Количество дней через которое можно повторно показать баннер. Если Значение не указано то повторного показа баннера не будет |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerLite-images"></a> [images](#keyapis-banner-v1-BannerLite-images) | Картинки |  repeated  [keyapis.banner.v1.BannerLite.ImageLite](#keyapis-banner-v1-BannerLite-ImageLite) | <nil>|
| <a id="keyapis-banner-v1-BannerLite-links"></a> [links](#keyapis-banner-v1-BannerLite-links) | Ссылки для переходов. Возвращаются отфильтрованные по платформе |  repeated  [keyapis.banner.v1.BannerLite.LinkLite](#keyapis-banner-v1-BannerLite-LinkLite) | <nil>|






<a name="keyapis-banner-v1-BannerLite-ImageLite"></a>


### [BannerLite.ImageLite](#keyapis-banner-v1-BannerLite-ImageLite)
 Упрощённый объект картинки


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-BannerLite-ImageLite-type"></a> [type](#keyapis-banner-v1-BannerLite-ImageLite-type) | Тип картинки. Обязательное |    [keyapis.banner.v1.Banner.Image.Type](#keyapis-banner-v1-Banner-Image-Type) | REQUIRED|
| <a id="keyapis-banner-v1-BannerLite-ImageLite-url"></a> [url](#keyapis-banner-v1-BannerLite-ImageLite-url) | Значение ссылки на картинку. Обязательное |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-banner-v1-BannerLite-LinkLite"></a>


### [BannerLite.LinkLite](#keyapis-banner-v1-BannerLite-LinkLite)
 Упрощённая ссылка


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-BannerLite-LinkLite-type"></a> [type](#keyapis-banner-v1-BannerLite-LinkLite-type) | Тип ссылки. Обязательное |    [keyapis.banner.v1.Banner.Link.Type](#keyapis-banner-v1-Banner-Link-Type) | REQUIRED|
| <a id="keyapis-banner-v1-BannerLite-LinkLite-url"></a> [url](#keyapis-banner-v1-BannerLite-LinkLite-url) | Значение ссылки. Обязательное |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-BannerLite-LinkLite-packages"></a> [packages](#keyapis-banner-v1-BannerLite-LinkLite-packages) | Список пакетов. Если пусто попытка перехода осуществляется безусловно. Если заполнено, то переход осуществляется только в случае если хоть один пакет есть на устройстве иначе обработка переходит к следующей ссылке |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-banner-v1-BannerLite-LinkLite-platform_type"></a> [platform_type](#keyapis-banner-v1-BannerLite-LinkLite-platform_type) | Тип платформы. Обязательное |    [keyapis.banner.v1.Banner.PlatformType](#keyapis-banner-v1-Banner-PlatformType) | REQUIRED|






<a name="keyapis-banner-v1-BannerLiteFilter"></a>


### [BannerLiteFilter](#keyapis-banner-v1-BannerLiteFilter)
 Упрощённый фильтр по баннерам


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-BannerLiteFilter-types"></a> [types](#keyapis-banner-v1-BannerLiteFilter-types) | По типам баннеров |  repeated  [keyapis.banner.v1.Banner.Type](#keyapis-banner-v1-Banner-Type) | <nil>|
| <a id="keyapis-banner-v1-BannerLiteFilter-app_name"></a> [app_name](#keyapis-banner-v1-BannerLiteFilter-app_name) | Название приложения. # Диапазон: 1..19. # Паттерн: /^[0-9A-Z-]{1,19}$/ |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerLiteFilter-platform_type"></a> [platform_type](#keyapis-banner-v1-BannerLiteFilter-platform_type) | Тип платформы |    [keyapis.banner.v1.Banner.PlatformType](#keyapis-banner-v1-Banner-PlatformType) | <nil>|
| <a id="keyapis-banner-v1-BannerLiteFilter-version"></a> [version](#keyapis-banner-v1-BannerLiteFilter-version) | Версия приложения. # Диапазон: 1..19. # Паттерн: /^[0-9A-Z-]{1,19}$/ |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-banner-v1-BannerLiteFilter-user_tags"></a> [user_tags](#keyapis-banner-v1-BannerLiteFilter-user_tags) | По тегам пользователя. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 1..20. # Паттерн: /^[A-Z-]{1,5}_[0-9A-Z-]{1,19}(?:\.[A-Z-]{1,5}_[0-9A-Z-]{1,19}){0,9}$/ |  repeated  [string](#scalar-types) | <nil>|






<a name="keyapis-banner-v1-BannerPaging"></a>


### [BannerPaging](#keyapis-banner-v1-BannerPaging)
 Пагинация баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-BannerPaging-order_by_type"></a> [order_by_type](#keyapis-banner-v1-BannerPaging-order_by_type) | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: CHANGED_AT |    [keyapis.banner.v1.BannerPaging.OrderByType](#keyapis-banner-v1-BannerPaging-OrderByType) | <nil>|
| <a id="keyapis-banner-v1-BannerPaging-direction_type"></a> [direction_type](#keyapis-banner-v1-BannerPaging-direction_type) | Тип направления сортировки. # По умолчанию: DESC |    [keyapis.banner.v1.BannerPaging.DirectionType](#keyapis-banner-v1-BannerPaging-DirectionType) | <nil>|
| <a id="keyapis-banner-v1-BannerPaging-limit"></a> [limit](#keyapis-banner-v1-BannerPaging-limit) | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 |    [int32](#scalar-types) | <nil>|
| <a id="keyapis-banner-v1-BannerPaging-offset"></a> [offset](#keyapis-banner-v1-BannerPaging-offset) | Сдвиг. # Диапазон: 0..2147483647 |    [int32](#scalar-types) | <nil>|






<a name="keyapis-banner-v1-GetBannerCountRequest"></a>


### [GetBannerCountRequest](#keyapis-banner-v1-GetBannerCountRequest)
 Запрос получения количества баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerCountRequest-filter"></a> [filter](#keyapis-banner-v1-GetBannerCountRequest-filter) | Фильтр |    [keyapis.banner.v1.BannerFilter](#keyapis-banner-v1-BannerFilter) | <nil>|






<a name="keyapis-banner-v1-GetBannerCountResponse"></a>


### [GetBannerCountResponse](#keyapis-banner-v1-GetBannerCountResponse)
 Ответ на запрос получения количества баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerCountResponse-data"></a> [data](#keyapis-banner-v1-GetBannerCountResponse-data) | Всего баннеров |  optional  [int32](#scalar-types) | <nil>|
| <a id="keyapis-banner-v1-GetBannerCountResponse-error"></a> [error](#keyapis-banner-v1-GetBannerCountResponse-error) | Ошибка |  optional  [keyapis.banner.v1.GetBannerCountResponse.Error](#keyapis-banner-v1-GetBannerCountResponse-Error) | <nil>|






<a name="keyapis-banner-v1-GetBannerCountResponse-Error"></a>


### [GetBannerCountResponse.Error](#keyapis-banner-v1-GetBannerCountResponse-Error)
 Ошибка запроса получения количества баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerCountResponse-Error-validation"></a> [validation](#keyapis-banner-v1-GetBannerCountResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.banner.v1.ValidationError](#keyapis-banner-v1-ValidationError) | <nil>|






<a name="keyapis-banner-v1-GetBannerListRequest"></a>


### [GetBannerListRequest](#keyapis-banner-v1-GetBannerListRequest)
 Запрос получения списка баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerListRequest-filter"></a> [filter](#keyapis-banner-v1-GetBannerListRequest-filter) | Фильтр |    [keyapis.banner.v1.BannerFilter](#keyapis-banner-v1-BannerFilter) | <nil>|
| <a id="keyapis-banner-v1-GetBannerListRequest-paging"></a> [paging](#keyapis-banner-v1-GetBannerListRequest-paging) | Пагинация |  optional  [keyapis.banner.v1.BannerPaging](#keyapis-banner-v1-BannerPaging) | <nil>|






<a name="keyapis-banner-v1-GetBannerListResponse"></a>


### [GetBannerListResponse](#keyapis-banner-v1-GetBannerListResponse)
 Ответ на запрос получения списка баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerListResponse-data"></a> [data](#keyapis-banner-v1-GetBannerListResponse-data) | Баннер |  optional  [keyapis.banner.v1.Banner](#keyapis-banner-v1-Banner) | <nil>|
| <a id="keyapis-banner-v1-GetBannerListResponse-error"></a> [error](#keyapis-banner-v1-GetBannerListResponse-error) | Ошибка |  optional  [keyapis.banner.v1.GetBannerListResponse.Error](#keyapis-banner-v1-GetBannerListResponse-Error) | <nil>|






<a name="keyapis-banner-v1-GetBannerListResponse-Error"></a>


### [GetBannerListResponse.Error](#keyapis-banner-v1-GetBannerListResponse-Error)
 Ошибка запроса получения списка баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerListResponse-Error-validation"></a> [validation](#keyapis-banner-v1-GetBannerListResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.banner.v1.ValidationError](#keyapis-banner-v1-ValidationError) | <nil>|






<a name="keyapis-banner-v1-GetBannerLiteListRequest"></a>


### [GetBannerLiteListRequest](#keyapis-banner-v1-GetBannerLiteListRequest)
 Запрос получения списка упрощённого баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerLiteListRequest-filter"></a> [filter](#keyapis-banner-v1-GetBannerLiteListRequest-filter) | Упрощённый фильтр |    [keyapis.banner.v1.BannerLiteFilter](#keyapis-banner-v1-BannerLiteFilter) | <nil>|
| <a id="keyapis-banner-v1-GetBannerLiteListRequest-is_link_filter_disabled"></a> [is_link_filter_disabled](#keyapis-banner-v1-GetBannerLiteListRequest-is_link_filter_disabled) | Признак отключения фильтрации по типу платформы |    [bool](#scalar-types) | <nil>|






<a name="keyapis-banner-v1-GetBannerLiteListResponse"></a>


### [GetBannerLiteListResponse](#keyapis-banner-v1-GetBannerLiteListResponse)
 Ответ на запрос получения списка упрощённых баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerLiteListResponse-data"></a> [data](#keyapis-banner-v1-GetBannerLiteListResponse-data) | Упрощённый баннер |  optional  [keyapis.banner.v1.BannerLite](#keyapis-banner-v1-BannerLite) | <nil>|
| <a id="keyapis-banner-v1-GetBannerLiteListResponse-error"></a> [error](#keyapis-banner-v1-GetBannerLiteListResponse-error) | Ошибка |  optional  [keyapis.banner.v1.GetBannerLiteListResponse.Error](#keyapis-banner-v1-GetBannerLiteListResponse-Error) | <nil>|






<a name="keyapis-banner-v1-GetBannerLiteListResponse-Error"></a>


### [GetBannerLiteListResponse.Error](#keyapis-banner-v1-GetBannerLiteListResponse-Error)
 Ошибка запроса получения списка баннеров


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerLiteListResponse-Error-validation"></a> [validation](#keyapis-banner-v1-GetBannerLiteListResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.banner.v1.ValidationError](#keyapis-banner-v1-ValidationError) | <nil>|






<a name="keyapis-banner-v1-GetBannerLiteRequest"></a>


### [GetBannerLiteRequest](#keyapis-banner-v1-GetBannerLiteRequest)
 Запрос получения упрощённого баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerLiteRequest-id"></a> [id](#keyapis-banner-v1-GetBannerLiteRequest-id) | Идентификатор баннера. # Тип: Guid |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-banner-v1-GetBannerLiteResponse"></a>


### [GetBannerLiteResponse](#keyapis-banner-v1-GetBannerLiteResponse)
 Ответ на запрос получения упрощённого баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerLiteResponse-data"></a> [data](#keyapis-banner-v1-GetBannerLiteResponse-data) | Упрощённый баннер |  optional  [keyapis.banner.v1.BannerLite](#keyapis-banner-v1-BannerLite) | <nil>|
| <a id="keyapis-banner-v1-GetBannerLiteResponse-error"></a> [error](#keyapis-banner-v1-GetBannerLiteResponse-error) | Ошибка |  optional  [keyapis.banner.v1.GetBannerLiteResponse.Error](#keyapis-banner-v1-GetBannerLiteResponse-Error) | <nil>|






<a name="keyapis-banner-v1-GetBannerLiteResponse-Error"></a>


### [GetBannerLiteResponse.Error](#keyapis-banner-v1-GetBannerLiteResponse-Error)
 Ошибка запроса получения упрощённого баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerLiteResponse-Error-validation"></a> [validation](#keyapis-banner-v1-GetBannerLiteResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.banner.v1.ValidationError](#keyapis-banner-v1-ValidationError) | <nil>|






<a name="keyapis-banner-v1-GetBannerRequest"></a>


### [GetBannerRequest](#keyapis-banner-v1-GetBannerRequest)
 Запрос получения баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerRequest-id"></a> [id](#keyapis-banner-v1-GetBannerRequest-id) | Идентификатор баннера. # Тип: Guid |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-banner-v1-GetBannerResponse"></a>


### [GetBannerResponse](#keyapis-banner-v1-GetBannerResponse)
 Ответ на запрос получения баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerResponse-data"></a> [data](#keyapis-banner-v1-GetBannerResponse-data) | Баннер |  optional  [keyapis.banner.v1.Banner](#keyapis-banner-v1-Banner) | <nil>|
| <a id="keyapis-banner-v1-GetBannerResponse-error"></a> [error](#keyapis-banner-v1-GetBannerResponse-error) | Ошибка |  optional  [keyapis.banner.v1.GetBannerResponse.Error](#keyapis-banner-v1-GetBannerResponse-Error) | <nil>|






<a name="keyapis-banner-v1-GetBannerResponse-Error"></a>


### [GetBannerResponse.Error](#keyapis-banner-v1-GetBannerResponse-Error)
 Ошибка запроса получения баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-GetBannerResponse-Error-validation"></a> [validation](#keyapis-banner-v1-GetBannerResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.banner.v1.ValidationError](#keyapis-banner-v1-ValidationError) | <nil>|






<a name="keyapis-banner-v1-PostBannerRequest"></a>


### [PostBannerRequest](#keyapis-banner-v1-PostBannerRequest)
 Запрос сохранения баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-PostBannerRequest-data"></a> [data](#keyapis-banner-v1-PostBannerRequest-data) | Баннер |    [keyapis.banner.v1.Banner](#keyapis-banner-v1-Banner) | REQUIRED|






<a name="keyapis-banner-v1-PostBannerResponse"></a>


### [PostBannerResponse](#keyapis-banner-v1-PostBannerResponse)
 Ответ на запрос сохранения баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-PostBannerResponse-data"></a> [data](#keyapis-banner-v1-PostBannerResponse-data) | Баннер |  optional  [keyapis.banner.v1.Banner](#keyapis-banner-v1-Banner) | <nil>|
| <a id="keyapis-banner-v1-PostBannerResponse-error"></a> [error](#keyapis-banner-v1-PostBannerResponse-error) | Ошибка |  optional  [keyapis.banner.v1.PostBannerResponse.Error](#keyapis-banner-v1-PostBannerResponse-Error) | <nil>|






<a name="keyapis-banner-v1-PostBannerResponse-Error"></a>


### [PostBannerResponse.Error](#keyapis-banner-v1-PostBannerResponse-Error)
 Ошибка запроса сохранения баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-PostBannerResponse-Error-validation"></a> [validation](#keyapis-banner-v1-PostBannerResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.banner.v1.ValidationError](#keyapis-banner-v1-ValidationError) | <nil>|
| <a id="keyapis-banner-v1-PostBannerResponse-Error-saving"></a> [saving](#keyapis-banner-v1-PostBannerResponse-Error-saving) | Ошибка сохранения |  optional  [keyapis.banner.v1.Banner.SavingError](#keyapis-banner-v1-Banner-SavingError) | <nil>|






<a name="keyapis-banner-v1-PostBannerUploadImageRequest"></a>


### [PostBannerUploadImageRequest](#keyapis-banner-v1-PostBannerUploadImageRequest)
 Запрос загрузки картинки баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-PostBannerUploadImageRequest-banner_id"></a> [banner_id](#keyapis-banner-v1-PostBannerUploadImageRequest-banner_id) | Идентификатор баннера. Используется для складывания картинок баннера в папку баннера в бакете. Название картинки в папке создаётся из случайного Guid. # Тип: Guid |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-PostBannerUploadImageRequest-upload_image"></a> [upload_image](#keyapis-banner-v1-PostBannerUploadImageRequest-upload_image) | Загружаемая картинка |    [keyapis.banner.v1.UploadImage](#keyapis-banner-v1-UploadImage) | REQUIRED|






<a name="keyapis-banner-v1-PostBannerUploadImageResponse"></a>


### [PostBannerUploadImageResponse](#keyapis-banner-v1-PostBannerUploadImageResponse)
 Ответ на запрос загрузки картинки баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-PostBannerUploadImageResponse-data"></a> [data](#keyapis-banner-v1-PostBannerUploadImageResponse-data) | Ссылка на баннер на imageproxy cdn сервер. Общедоступна в интернете |  optional  [string](#scalar-types) | <nil>|
| <a id="keyapis-banner-v1-PostBannerUploadImageResponse-error"></a> [error](#keyapis-banner-v1-PostBannerUploadImageResponse-error) | Ошибка |  optional  [keyapis.banner.v1.PostBannerUploadImageResponse.Error](#keyapis-banner-v1-PostBannerUploadImageResponse-Error) | <nil>|






<a name="keyapis-banner-v1-PostBannerUploadImageResponse-Error"></a>


### [PostBannerUploadImageResponse.Error](#keyapis-banner-v1-PostBannerUploadImageResponse-Error)
 Ошибка запроса загрузки картинки баннера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-PostBannerUploadImageResponse-Error-validation"></a> [validation](#keyapis-banner-v1-PostBannerUploadImageResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.banner.v1.ValidationError](#keyapis-banner-v1-ValidationError) | <nil>|






<a name="keyapis-banner-v1-UploadImage"></a>


### [UploadImage](#keyapis-banner-v1-UploadImage)
 Объект загружаемой картинки


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-UploadImage-base64"></a> [base64](#keyapis-banner-v1-UploadImage-base64) | Картинка в формате инлайн base64. Обязательное. Пример: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...". # Паттерн: /^data:\s*image\/(png|jpeg|jpg);\s*base64/ |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-banner-v1-ValidationError"></a>


### [ValidationError](#keyapis-banner-v1-ValidationError)
 Ошибки валидации.
Эти проверки выполняются до обращения в базу данных


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-banner-v1-ValidationError-path"></a> [path](#keyapis-banner-v1-ValidationError-path) | Путь к полю в формате наименования прото |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-banner-v1-ValidationError-message"></a> [message](#keyapis-banner-v1-ValidationError-message) | Валидационное сообщение |    [string](#scalar-types) | REQUIRED|





 <!-- end messages -->



<a name="keyapis-banner-v1-Banner-Image-Type"></a>

### [Banner.Image.Type](#keyapis-banner-v1-Banner-Image-Type)
 Справочник типов картинок.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-banner-v1-Banner-Image-Type-TYPE_UNKNOWN"></a> [TYPE_UNKNOWN](#keyapis-banner-v1-Banner-Image-Type-TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-banner-v1-Banner-Image-Type-PORTRAIT"></a> [PORTRAIT](#keyapis-banner-v1-Banner-Image-Type-PORTRAIT) | Пререндеренный баннер в портретном режиме. В портретном режиме ширина меньше или равна высоте. Представление характерно для телефонов. Может содержать дополнительные параметры запроса в ссылке(https://docs.imgproxy.net/generating_the_url?id=processing-options). После загрузки изображения отрисовывается поверх цвета и градиента. Если ссылки нет то нужно использовать ссылку из ландшафтного режима |
| 2 | <a id="keyapis-banner-v1-Banner-Image-Type-LANDSCAPE"></a> [LANDSCAPE](#keyapis-banner-v1-Banner-Image-Type-LANDSCAPE) | Пререндеренный баннер в ландшафтном режиме. В ландшафтном режиме ширина больше высоты. Представление характерно для планшетов и декстопа. Может содержать дополнительные параметры запроса в ссылке(https://docs.imgproxy.net/generating_the_url?id=processing-options). После загрузки изображения отрисовывается поверх цвета и градиента. Если ссылки нет то нужно использовать ссылку из портретного режима |
| 3 | <a id="keyapis-banner-v1-Banner-Image-Type-ICON"></a> [ICON](#keyapis-banner-v1-Banner-Image-Type-ICON) | Иконка. Может содержать дополнительные параметры запроса в ссылке(https://docs.imgproxy.net/generating_the_url?id=processing-options). После загрузки изображения отрисовывается поверх цвета и градиента |




<a name="keyapis-banner-v1-Banner-Link-Type"></a>

### [Banner.Link.Type](#keyapis-banner-v1-Banner-Link-Type)
 Справочник типов ссылок.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-banner-v1-Banner-Link-Type-TYPE_UNKNOWN"></a> [TYPE_UNKNOWN](#keyapis-banner-v1-Banner-Link-Type-TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-banner-v1-Banner-Link-Type-INTERNAL_APP"></a> [INTERNAL_APP](#keyapis-banner-v1-Banner-Link-Type-INTERNAL_APP) | Ссылка для перехода на раздел текущего приложения |
| 2 | <a id="keyapis-banner-v1-Banner-Link-Type-EXTERNAL_APP"></a> [EXTERNAL_APP](#keyapis-banner-v1-Banner-Link-Type-EXTERNAL_APP) | Ссылка для перехода на стороннее приложение |
| 3 | <a id="keyapis-banner-v1-Banner-Link-Type-WEB_VIEW"></a> [WEB_VIEW](#keyapis-banner-v1-Banner-Link-Type-WEB_VIEW) | Ссылка для перехода на веб-вью внутренних (своих) приложений. В окне отсутствует адресаная строка. Для iOS используется WKWebView, для Android используется WebView |
| 4 | <a id="keyapis-banner-v1-Banner-Link-Type-WEB_BROWSER"></a> [WEB_BROWSER](#keyapis-banner-v1-Banner-Link-Type-WEB_BROWSER) | Ссылка для перехода на веб-браузер |
| 5 | <a id="keyapis-banner-v1-Banner-Link-Type-EXTERNAL_WEB_VIEW"></a> [EXTERNAL_WEB_VIEW](#keyapis-banner-v1-Banner-Link-Type-EXTERNAL_WEB_VIEW) | Ссылка для перехода на веб-вью внешних (партнёрских) приложений. В окне присутствует адресаная строка. Для iOS используется SFSafariViewController, для Android используется ChromeCustomTabs |




<a name="keyapis-banner-v1-Banner-PlatformType"></a>

### [Banner.PlatformType](#keyapis-banner-v1-Banner-PlatformType)
 Справочник платформ.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-banner-v1-Banner-PlatformType-PLATFORM_TYPE_UNKNOWN"></a> [PLATFORM_TYPE_UNKNOWN](#keyapis-banner-v1-Banner-PlatformType-PLATFORM_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-banner-v1-Banner-PlatformType-IOS"></a> [IOS](#keyapis-banner-v1-Banner-PlatformType-IOS) | Платформа iOS. Приложение размещается в App Store |
| 2 | <a id="keyapis-banner-v1-Banner-PlatformType-ANDROID"></a> [ANDROID](#keyapis-banner-v1-Banner-PlatformType-ANDROID) | Платформа Android. Приложение размещается в Google Play, App Gallery или прочих сторах |
| 3 | <a id="keyapis-banner-v1-Banner-PlatformType-WEB"></a> [WEB](#keyapis-banner-v1-Banner-PlatformType-WEB) | Платформа Web. Приложение размещается по интернет адресу |




<a name="keyapis-banner-v1-Banner-PriorityType"></a>

### [Banner.PriorityType](#keyapis-banner-v1-Banner-PriorityType)
 Справочник типов приоритетов.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-banner-v1-Banner-PriorityType-PRIORITY_TYPE_UNKNOWN"></a> [PRIORITY_TYPE_UNKNOWN](#keyapis-banner-v1-Banner-PriorityType-PRIORITY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-banner-v1-Banner-PriorityType-NORMAL"></a> [NORMAL](#keyapis-banner-v1-Banner-PriorityType-NORMAL) | Обычный. Приоритет 31. Вычисляется в логике приложения как priority меньше 64. Извлекаются из базы по фильтру end_priority = 64 |
| 2 | <a id="keyapis-banner-v1-Banner-PriorityType-WHITE_LABEL"></a> [WHITE_LABEL](#keyapis-banner-v1-Banner-PriorityType-WHITE_LABEL) | Вайт-лейбл. Приоритет 127. Вычисляется в логике приложения как priority больше или равно 64 и priority меньше 160. Извлекаются из базы по фильтру begin_priority = 64 и end_priority = 160 |
| 3 | <a id="keyapis-banner-v1-Banner-PriorityType-CRITICAL"></a> [CRITICAL](#keyapis-banner-v1-Banner-PriorityType-CRITICAL) | Критикл. Приоритет 191. Вычисляется в логике приложения как priority больше или равно 160. Извлекаются из базы по фильтру begin_priority = 160 |




<a name="keyapis-banner-v1-Banner-StatusType"></a>

### [Banner.StatusType](#keyapis-banner-v1-Banner-StatusType)
 Справочник статусов баннеров.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-banner-v1-Banner-StatusType-STATUS_TYPE_UNKNOWN"></a> [STATUS_TYPE_UNKNOWN](#keyapis-banner-v1-Banner-StatusType-STATUS_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-banner-v1-Banner-StatusType-DEFERRED"></a> [DEFERRED](#keyapis-banner-v1-Banner-StatusType-DEFERRED) | Отложен. Вычисляется в логике приложения как сurr_date меньше show_start_at. Извлекаются из базы по фильтру end_show_start_at = сurr_date |
| 2 | <a id="keyapis-banner-v1-Banner-StatusType-ACTIVE"></a> [ACTIVE](#keyapis-banner-v1-Banner-StatusType-ACTIVE) | Активен. Вычисляется в логике приложения как сurr_date больше или равно show_start_at и сurr_date меньше show_ended_at. Извлекаются из базы по фильтру begin_show_start_at = сurr_date и end_show_ended_at = сurr_date |
| 3 | <a id="keyapis-banner-v1-Banner-StatusType-EXPIRED"></a> [EXPIRED](#keyapis-banner-v1-Banner-StatusType-EXPIRED) | Истёк. Вычисляется в логике приложения как сurr_date больше или равно show_ended_at. Извлекаются из базы по фильтру begin_show_ended_at = сurr_date |




<a name="keyapis-banner-v1-Banner-Type"></a>

### [Banner.Type](#keyapis-banner-v1-Banner-Type)
 Справочник типов баннеров.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-banner-v1-Banner-Type-TYPE_UNKNOWN"></a> [TYPE_UNKNOWN](#keyapis-banner-v1-Banner-Type-TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-banner-v1-Banner-Type-STANDARD"></a> [STANDARD](#keyapis-banner-v1-Banner-Type-STANDARD) | Стандартный баннер |




<a name="keyapis-banner-v1-BannerPaging-DirectionType"></a>

### [BannerPaging.DirectionType](#keyapis-banner-v1-BannerPaging-DirectionType)
 Справочник типов направлений сортировки.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-banner-v1-BannerPaging-DirectionType-DIRECTION_TYPE_UNKNOWN"></a> [DIRECTION_TYPE_UNKNOWN](#keyapis-banner-v1-BannerPaging-DirectionType-DIRECTION_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-banner-v1-BannerPaging-DirectionType-DESC"></a> [DESC](#keyapis-banner-v1-BannerPaging-DirectionType-DESC) | От большего к меньшему |
| 2 | <a id="keyapis-banner-v1-BannerPaging-DirectionType-ASC"></a> [ASC](#keyapis-banner-v1-BannerPaging-DirectionType-ASC) | От меньшего к большему |




<a name="keyapis-banner-v1-BannerPaging-OrderByType"></a>

### [BannerPaging.OrderByType](#keyapis-banner-v1-BannerPaging-OrderByType)
 Справочник типов значений сортировки.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-banner-v1-BannerPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN"></a> [ORDER_BY_TYPE_UNKNOWN](#keyapis-banner-v1-BannerPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-banner-v1-BannerPaging-OrderByType-CHANGED_AT"></a> [CHANGED_AT](#keyapis-banner-v1-BannerPaging-OrderByType-CHANGED_AT) | Дата последнего изменения |
| 2 | <a id="keyapis-banner-v1-BannerPaging-OrderByType-PRIORITY_THEN_SHOW_START_AT"></a> [PRIORITY_THEN_SHOW_START_AT](#keyapis-banner-v1-BannerPaging-OrderByType-PRIORITY_THEN_SHOW_START_AT) | По приоритету, затем по дате начала показа |
| 3 | <a id="keyapis-banner-v1-BannerPaging-OrderByType-CREATED_AT"></a> [CREATED_AT](#keyapis-banner-v1-BannerPaging-OrderByType-CREATED_AT) | Дата создания |
| 4 | <a id="keyapis-banner-v1-BannerPaging-OrderByType-SHOW_START_AT"></a> [SHOW_START_AT](#keyapis-banner-v1-BannerPaging-OrderByType-SHOW_START_AT) | Дата начала показа |
| 5 | <a id="keyapis-banner-v1-BannerPaging-OrderByType-SHOW_ENDED_AT"></a> [SHOW_ENDED_AT](#keyapis-banner-v1-BannerPaging-OrderByType-SHOW_ENDED_AT) | Дата конца показа |
| 6 | <a id="keyapis-banner-v1-BannerPaging-OrderByType-RANK"></a> [RANK](#keyapis-banner-v1-BannerPaging-OrderByType-RANK) | По рангу для поиска по тексту. Применяется когда передано поле для поиска по тексту. В случае если текстовое поле не передано, применяется значение по умолчанию |


 <!-- end enums -->

 <!-- end HasExtensions -->



## Скалярные типы значений
<a id="scalar-types"></a>

| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
| ----------- | ---------- | ------ | -- | ---- | -- | --- | ---- | --- |
| [double](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float64 | Float | double | double | double | float |
| [float](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float32 | Float | float | float | float | float |
| [int32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [int64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [uint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [uint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| [sint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [fixed32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | int | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [fixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | int/long | uint64 | Bignum | ulong | uint64 | long | integer/string |
| [sfixed32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sfixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [bool](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean |
| [string](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| [bytes](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |

