Протокол¶
Оглавление¶
-
keyapis/banner/v1/keyapis_banner_banner_v1.proto
- Banner.Gradient
- Banner.Gradient.Linear
- Banner.Gradient.Linear.Point
- Banner.Image
- Banner.Link
- Banner.SavingError
- Banner.SavingError.Conflict
- BannerFilter
- BannerLite
- BannerLite.ImageLite
- BannerLite.LinkLite
- BannerLiteFilter
- BannerPaging
- GetBannerCountRequest
- GetBannerCountResponse
- GetBannerCountResponse.Error
- GetBannerListRequest
- GetBannerListResponse
- GetBannerListResponse.Error
- GetBannerLiteListRequest
- GetBannerLiteListResponse
- GetBannerLiteListResponse.Error
- GetBannerLiteRequest
- GetBannerLiteResponse
- GetBannerLiteResponse.Error
- GetBannerRequest
- GetBannerResponse
- GetBannerResponse.Error
- PostBannerRequest
- PostBannerResponse
- PostBannerResponse.Error
- PostBannerUploadImageRequest
- PostBannerUploadImageResponse
- PostBannerUploadImageResponse.Error
- UploadImage
- Banner.Link.Type
- Banner.PlatformType
- Banner.PriorityType
- Banner.StatusType
- Banner.Type
- BannerPaging.DirectionType
- BannerPaging.OrderByType
Схема классов¶
keyapis/banner/v1/keyapis_banner_banner_v1.proto¶
Сервис реализует функционал управления баннерами. Используются как источник Критичнх уведомления, White label компаний и объявления рекламных акций
BannerService¶
Сервис управления баннерами
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| PostBanner | Метод сохранения баннера. Поддерживает создание и обновление. Метод доступен для: admin, manager, service | keyapis.banner.v1.PostBannerRequest | keyapis.banner.v1.PostBannerResponse |
| GetBanner | Метод получения баннера. Метод доступен для: admin, manager, service | keyapis.banner.v1.GetBannerRequest | keyapis.banner.v1.GetBannerResponse |
| GetBannerLite | Метод получения упрощённого баннера. Не требует авторизации | keyapis.banner.v1.GetBannerLiteRequest | keyapis.banner.v1.GetBannerLiteResponse |
| GetBannerList | Метод получения списка баннеров. Метод доступен для: admin, manager, service | keyapis.banner.v1.GetBannerListRequest | keyapis.banner.v1.GetBannerListResponse stream |
| GetBannerLiteList | Метод получения списка упрощённых баннеров. Возвращает всегда активные баннеры. По умолчанию возвращает первые 20 баннеров осортированных по приоритету, затем по дате начала акции(от самых важных к не важным, затем от самых новых акций к самым старым). Если запрос выполнен хотя бы без одного изпризнака приложения возвращает пустой список. Если запрос выполнен без признаков пользователя метод возвращает пустой список. Не требует авторизации | keyapis.banner.v1.GetBannerLiteListRequest | keyapis.banner.v1.GetBannerLiteListResponse stream |
| GetBannerCount | Метод получения количества баннеров. Метод доступен для: admin, manager, service | keyapis.banner.v1.GetBannerCountRequest | keyapis.banner.v1.GetBannerCountResponse |
| PostBannerUploadImage | Метод загрузки картинки баннера. Метод доступен для: admin, manager, service | keyapis.banner.v1.PostBannerUploadImageRequest | keyapis.banner.v1.PostBannerUploadImageResponse |
Banner¶
Баннер.
Описание модели¶
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор. Если не передан создаётся сервером. # Тип: Guid | string | |
| type | Тип баннера. Обязательное | keyapis.banner.v1.Banner.Type | REQUIRED |
| priority | Приоритет. Обязательное. # Диапазон: 1..255 | int32 | REQUIRED |
| priority_type | Тип приоритета. # Поле вычисляется в коде приложения | keyapis.banner.v1.Banner.PriorityType | OUTPUT_ONLY |
| title | Название. Обязательное. Обычно это название рекламной компании. Не отображается пользователям. # Диапазон: 3..256 | string | REQUIRED |
| header | Заголовок. # Диапазон: 3..64 | google.protobuf.StringValue | |
| header_color | Цвет текста заголовка. Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ | google.protobuf.StringValue | |
| subtitle | Подзаголовок. # Диапазон: 3..256 | google.protobuf.StringValue | |
| subtitle_color | Цвет текста подзаголовка. Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ | google.protobuf.StringValue | |
| background_color | Цвет заднего плана(подложки). Отрисовывается до загрузки картинки и градиента. Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ | google.protobuf.StringValue | |
| background_gradient | Градиент | keyapis.banner.v1.Banner.Gradient | |
| repeat_after_days | Количество дней через которое можно повторно показать баннер. Если null, то закрыть нельзя, баннер повторно выводится каждый раз. # Диапазон: 0..366 | google.protobuf.Int32Value | |
| show_start_at | Дата начала показа. Обязательное. Бессрочно если значение 2000-01-01. # Тип: DateOnly. # Диапазон: 730119..1095362 | google.protobuf.Timestamp | REQUIRED |
| show_ended_at | Дата конца показа. Обязательное. Бессрочно если значение 3000-01-01. # Тип: DateOnly. # Диапазон: 730119..1095362 | google.protobuf.Timestamp | REQUIRED |
| status_type | Статус баннера. # Поле вычисляется в коде приложения | keyapis.banner.v1.Banner.StatusType | OUTPUT_ONLY |
| images | Картинки. # Диапазон: 0..20 | repeated keyapis.banner.v1.Banner.Image | |
| links | Ссылки для переходов. # Диапазон: 0..100 | repeated keyapis.banner.v1.Banner.Link | |
| 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 | REQUIRED |
| 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 | REQUIRED |
| created_at | Дата создания. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| changed_at | Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
Banner.Gradient¶
Градиент
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| linear | Линейный градиент | optional keyapis.banner.v1.Banner.Gradient.Linear |
Banner.Gradient.Linear¶
Линейный градиент
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| angle | Угол направления линейного градиента в градусах. # Диапазон: 0..360 | float | |
| points | Точки градиента. Обязательное. # Диапазон: 2..20 | repeated keyapis.banner.v1.Banner.Gradient.Linear.Point | REQUIRED |
Banner.Gradient.Linear.Point¶
Точка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| color | Цвет линейного градиента. Обязательное. Отрисовывается до загрузки картинки и градиента. Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ | string | REQUIRED |
| stop | Стоп линейного градиента. Записывается в процентах. # Диапазон: 0..100 | float |
Banner.Image¶
Объект картинки
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| type | Тип картинки. Обязательное | keyapis.banner.v1.Banner.Image.Type | REQUIRED |
| url | Значение ссылки на картинку. Обязательное. # Диапазон: 12..512 | string | REQUIRED |
Banner.Link¶
Ссылка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| platform_type | Тип платформы. Обязательное | keyapis.banner.v1.Banner.PlatformType | REQUIRED |
| type | Тип ссылки. Обязательное | keyapis.banner.v1.Banner.Link.Type | REQUIRED |
| url | Значение ссылки для перехода. Обязательное. # Диапазон: 12..512 | string | REQUIRED |
| packages | Список пакетов. Если пусто попытка перехода осуществляется безусловно. Если заполнено, то переход осуществляется только в случае если хоть один пакет есть на устройстве, иначе обработка переходит к следующей ссылке. # Диапазон: 0..20 | repeated string |
Banner.SavingError¶
Ошибка сохранения. Эти проверки выполняются при работе с базой данных и сторонними сервисами
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| conflict | Конфликт версий | optional keyapis.banner.v1.Banner.SavingError.Conflict |
Banner.SavingError.Conflict¶
Конфликт версий. Причины: - В базе хранится другая версия строки, значения changed_at отличаются
BannerFilter¶
Фильтр баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| text | По тексту. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64. # Поиск производится по полям: # - Название; # - Заголовок; # - Подзаголовок; # - Список тегов пользователей; # - Список тегов приложений | google.protobuf.StringValue | |
| types | По типам баннеров | repeated keyapis.banner.v1.Banner.Type | |
| begin_priority | От приоритета включительно (больше или равно) | google.protobuf.Int32Value | |
| end_priority | До приоритета (меньше) | google.protobuf.Int32Value | |
| priority_types | По типам приоритетов. Переписывает значения фильтров по приоритету. Если переданы все типы, то фильтр игнорируется(так как нужно вернуть всё) | repeated keyapis.banner.v1.Banner.PriorityType | |
| begin_show_start_at | От даты начала показа включительно (больше или равно) | google.protobuf.Timestamp | |
| end_show_start_at | До даты начала показа (меньше) | google.protobuf.Timestamp | |
| begin_show_ended_at | От даты конца показа включительно (больше или равно) | google.protobuf.Timestamp | |
| end_show_ended_at | До даты конца показа (меньше) | google.protobuf.Timestamp | |
| status_types | По статусам баннеров. Переписывает значения фильтров по датам. Если переданы все типы, то фильтр игнорируется(так как нужно вернуть всё) | repeated keyapis.banner.v1.Banner.StatusType | |
| 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 | |
| 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 |
BannerLite¶
Облегчённый баннер
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор. # Тип: Guid | string | |
| repeat_after_days | Количество дней через которое можно повторно показать баннер. Если Значение не указано то повторного показа баннера не будет | google.protobuf.Int32Value | |
| images | Картинки | repeated keyapis.banner.v1.BannerLite.ImageLite | |
| links | Ссылки для переходов. Возвращаются отфильтрованные по платформе | repeated keyapis.banner.v1.BannerLite.LinkLite |
BannerLite.ImageLite¶
Упрощённый объект картинки
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| type | Тип картинки. Обязательное | keyapis.banner.v1.Banner.Image.Type | REQUIRED |
| url | Значение ссылки на картинку. Обязательное | string | REQUIRED |
BannerLite.LinkLite¶
Упрощённая ссылка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| type | Тип ссылки. Обязательное | keyapis.banner.v1.Banner.Link.Type | REQUIRED |
| url | Значение ссылки. Обязательное | string | REQUIRED |
| packages | Список пакетов. Если пусто попытка перехода осуществляется безусловно. Если заполнено, то переход осуществляется только в случае если хоть один пакет есть на устройстве иначе обработка переходит к следующей ссылке | repeated string | |
| platform_type | Тип платформы. Обязательное | keyapis.banner.v1.Banner.PlatformType | REQUIRED |
BannerLiteFilter¶
Упрощённый фильтр по баннерам
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| types | По типам баннеров | repeated keyapis.banner.v1.Banner.Type | |
| app_name | Название приложения. # Диапазон: 1..19. # Паттерн: /^[0-9A-Z-]{1,19}$/ | google.protobuf.StringValue | |
| platform_type | Тип платформы | keyapis.banner.v1.Banner.PlatformType | |
| version | Версия приложения. # Диапазон: 1..19. # Паттерн: /^[0-9A-Z-]{1,19}$/ | google.protobuf.StringValue | |
| 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 |
BannerPaging¶
Пагинация баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: CHANGED_AT | keyapis.banner.v1.BannerPaging.OrderByType | |
| direction_type | Тип направления сортировки. # По умолчанию: DESC | keyapis.banner.v1.BannerPaging.DirectionType | |
| limit | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 | int32 | |
| offset | Сдвиг. # Диапазон: 0..2147483647 | int32 |
GetBannerCountRequest¶
Запрос получения количества баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.banner.v1.BannerFilter |
GetBannerCountResponse¶
Ответ на запрос получения количества баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Всего баннеров | optional int32 | |
| error | Ошибка | optional keyapis.banner.v1.GetBannerCountResponse.Error |
GetBannerCountResponse.Error¶
Ошибка запроса получения количества баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.banner.v1.ValidationError |
GetBannerListRequest¶
Запрос получения списка баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.banner.v1.BannerFilter | |
| paging | Пагинация | optional keyapis.banner.v1.BannerPaging |
GetBannerListResponse¶
Ответ на запрос получения списка баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Баннер | optional keyapis.banner.v1.Banner | |
| error | Ошибка | optional keyapis.banner.v1.GetBannerListResponse.Error |
GetBannerListResponse.Error¶
Ошибка запроса получения списка баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.banner.v1.ValidationError |
GetBannerLiteListRequest¶
Запрос получения списка упрощённого баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Упрощённый фильтр | keyapis.banner.v1.BannerLiteFilter | |
| is_link_filter_disabled | Признак отключения фильтрации по типу платформы | bool |
GetBannerLiteListResponse¶
Ответ на запрос получения списка упрощённых баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Упрощённый баннер | optional keyapis.banner.v1.BannerLite | |
| error | Ошибка | optional keyapis.banner.v1.GetBannerLiteListResponse.Error |
GetBannerLiteListResponse.Error¶
Ошибка запроса получения списка баннеров
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.banner.v1.ValidationError |
GetBannerLiteRequest¶
Запрос получения упрощённого баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор баннера. # Тип: Guid | string | REQUIRED |
GetBannerLiteResponse¶
Ответ на запрос получения упрощённого баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Упрощённый баннер | optional keyapis.banner.v1.BannerLite | |
| error | Ошибка | optional keyapis.banner.v1.GetBannerLiteResponse.Error |
GetBannerLiteResponse.Error¶
Ошибка запроса получения упрощённого баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.banner.v1.ValidationError |
GetBannerRequest¶
Запрос получения баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор баннера. # Тип: Guid | string | REQUIRED |
GetBannerResponse¶
Ответ на запрос получения баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Баннер | optional keyapis.banner.v1.Banner | |
| error | Ошибка | optional keyapis.banner.v1.GetBannerResponse.Error |
GetBannerResponse.Error¶
Ошибка запроса получения баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.banner.v1.ValidationError |
PostBannerRequest¶
Запрос сохранения баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Баннер | keyapis.banner.v1.Banner | REQUIRED |
PostBannerResponse¶
Ответ на запрос сохранения баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Баннер | optional keyapis.banner.v1.Banner | |
| error | Ошибка | optional keyapis.banner.v1.PostBannerResponse.Error |
PostBannerResponse.Error¶
Ошибка запроса сохранения баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.banner.v1.ValidationError | |
| saving | Ошибка сохранения | optional keyapis.banner.v1.Banner.SavingError |
PostBannerUploadImageRequest¶
Запрос загрузки картинки баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| banner_id | Идентификатор баннера. Используется для складывания картинок баннера в папку баннера в бакете. Название картинки в папке создаётся из случайного Guid. # Тип: Guid | string | REQUIRED |
| upload_image | Загружаемая картинка | keyapis.banner.v1.UploadImage | REQUIRED |
PostBannerUploadImageResponse¶
Ответ на запрос загрузки картинки баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Ссылка на баннер на imageproxy cdn сервер. Общедоступна в интернете | optional string | |
| error | Ошибка | optional keyapis.banner.v1.PostBannerUploadImageResponse.Error |
PostBannerUploadImageResponse.Error¶
Ошибка запроса загрузки картинки баннера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.banner.v1.ValidationError |
UploadImage¶
Объект загружаемой картинки
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| base64 | Картинка в формате инлайн base64. Обязательное. Пример: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...". # Паттерн: /^data:\s*image\/(png | jpeg | jpg);\s*base64/ |
ValidationError¶
Ошибки валидации. Эти проверки выполняются до обращения в базу данных
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| path | Путь к полю в формате наименования прото | string | REQUIRED |
| message | Валидационное сообщение | string | REQUIRED |
Banner.Image.Type¶
Справочник типов картинок.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | TYPE_UNKNOWN | Значение не указано |
| 1 | PORTRAIT | Пререндеренный баннер в портретном режиме. В портретном режиме ширина меньше или равна высоте. Представление характерно для телефонов. Может содержать дополнительные параметры запроса в ссылке(https://docs.imgproxy.net/generating_the_url?id=processing-options). После загрузки изображения отрисовывается поверх цвета и градиента. Если ссылки нет то нужно использовать ссылку из ландшафтного режима |
| 2 | LANDSCAPE | Пререндеренный баннер в ландшафтном режиме. В ландшафтном режиме ширина больше высоты. Представление характерно для планшетов и декстопа. Может содержать дополнительные параметры запроса в ссылке(https://docs.imgproxy.net/generating_the_url?id=processing-options). После загрузки изображения отрисовывается поверх цвета и градиента. Если ссылки нет то нужно использовать ссылку из портретного режима |
| 3 | ICON | Иконка. Может содержать дополнительные параметры запроса в ссылке(https://docs.imgproxy.net/generating_the_url?id=processing-options). После загрузки изображения отрисовывается поверх цвета и градиента |
Banner.Link.Type¶
Справочник типов ссылок.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | TYPE_UNKNOWN | Значение не указано |
| 1 | INTERNAL_APP | Ссылка для перехода на раздел текущего приложения |
| 2 | EXTERNAL_APP | Ссылка для перехода на стороннее приложение |
| 3 | WEB_VIEW | Ссылка для перехода на веб-вью внутренних (своих) приложений. В окне отсутствует адресаная строка. Для iOS используется WKWebView, для Android используется WebView |
| 4 | WEB_BROWSER | Ссылка для перехода на веб-браузер |
| 5 | EXTERNAL_WEB_VIEW | Ссылка для перехода на веб-вью внешних (партнёрских) приложений. В окне присутствует адресаная строка. Для iOS используется SFSafariViewController, для Android используется ChromeCustomTabs |
Banner.PlatformType¶
Справочник платформ.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | PLATFORM_TYPE_UNKNOWN | Значение не указано |
| 1 | IOS | Платформа iOS. Приложение размещается в App Store |
| 2 | ANDROID | Платформа Android. Приложение размещается в Google Play, App Gallery или прочих сторах |
| 3 | WEB | Платформа Web. Приложение размещается по интернет адресу |
Banner.PriorityType¶
Справочник типов приоритетов.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | PRIORITY_TYPE_UNKNOWN | Значение не указано |
| 1 | NORMAL | Обычный. Приоритет 31. Вычисляется в логике приложения как priority меньше 64. Извлекаются из базы по фильтру end_priority = 64 |
| 2 | WHITE_LABEL | Вайт-лейбл. Приоритет 127. Вычисляется в логике приложения как priority больше или равно 64 и priority меньше 160. Извлекаются из базы по фильтру begin_priority = 64 и end_priority = 160 |
| 3 | CRITICAL | Критикл. Приоритет 191. Вычисляется в логике приложения как priority больше или равно 160. Извлекаются из базы по фильтру begin_priority = 160 |
Banner.StatusType¶
Справочник статусов баннеров.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | DEFERRED | Отложен. Вычисляется в логике приложения как сurr_date меньше show_start_at. Извлекаются из базы по фильтру end_show_start_at = сurr_date |
| 2 | ACTIVE | Активен. Вычисляется в логике приложения как сurr_date больше или равно show_start_at и сurr_date меньше show_ended_at. Извлекаются из базы по фильтру begin_show_start_at = сurr_date и end_show_ended_at = сurr_date |
| 3 | EXPIRED | Истёк. Вычисляется в логике приложения как сurr_date больше или равно show_ended_at. Извлекаются из базы по фильтру begin_show_ended_at = сurr_date |
Banner.Type¶
Справочник типов баннеров.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | TYPE_UNKNOWN | Значение не указано |
| 1 | STANDARD | Стандартный баннер |
BannerPaging.DirectionType¶
Справочник типов направлений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
BannerPaging.OrderByType¶
Справочник типов значений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | CHANGED_AT | Дата последнего изменения |
| 2 | PRIORITY_THEN_SHOW_START_AT | По приоритету, затем по дате начала показа |
| 3 | CREATED_AT | Дата создания |
| 4 | SHOW_START_AT | Дата начала показа |
| 5 | SHOW_ENDED_AT | Дата конца показа |
| 6 | RANK | По рангу для поиска по тексту. Применяется когда передано поле для поиска по тексту. В случае если текстовое поле не передано, применяется значение по умолчанию |
Скалярные типы значений¶
| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
|---|---|---|---|---|---|---|---|---|
| double | float | float64 | Float | double | double | double | float | |
| float | float | float32 | Float | float | float | float | float | |
| int32 | 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 | 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 | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| uint64 | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| sint32 | 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 | 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 | 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 | 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 | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sfixed64 | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| bool | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| bytes | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |