Перейти к содержанию

Протокол

Оглавление

Схема классов

/svg/protos/key/keyapis/subscription/v1/keyapis_subscription_privilege_v1.proto.svg

keyapis/subscription/v1/keyapis_subscription_privilege_v1.proto

Сервис реализует функционал управления привилегиями. Привилегии это услуги на квартиру со статусами, в их число входят привилегии которые можно подключить, но ещё не приобретены

PrivilegeService

Сервис привилегий

Название метода Описание Тип запроса Тип ответа
GetPrivilegeList Метод получения привилегий. Метод доступен для: admin, master, service, ltp_first, application(subscription:read или subscription:edit) keyapis.subscription.v1.GetPrivilegeListRequest keyapis.subscription.v1.GetPrivilegeListResponse stream
GetPrivilegeCount Метод получения количества привилегий. Метод доступен для: admin, master, service, ltp_first, application(subscription:read или subscription:edit) keyapis.subscription.v1.GetPrivilegeCountRequest keyapis.subscription.v1.GetPrivilegeCountResponse
GetPrivilegeCheck Метод проверки привилегии. Метод доступен для: admin, master, service, ltp_first, application(subscription:read или subscription:edit) keyapis.subscription.v1.GetPrivilegeCheckRequest keyapis.subscription.v1.GetPrivilegeCheckResponse

GetPrivilegeCheckRequest

Запрос проверки предоставленной привилегии

Поле Описание Тип Признак
orpon ОРПОН. Идентификатор дома int64 REQUIRED
flat_number Номер квартиры string REQUIRED
privilege_type Тип привилегии keyapis.subscription.v1.Privilege.Type REQUIRED

GetPrivilegeCheckResponse

Результат запроса метода проверки предоставленной привилегии

Поле Описание Тип Признак
data Доступна ли привилегия на квартире. Вернётся true если статусы: - PROMO; - PAID; - TURNS_OFF. Вернётся false если статусы: - NOT_PAID; - CAN_BE_PAID; - STATE_TYPE_UNKNOWN; - Не найден optional bool

GetPrivilegeCountRequest

Запрос получения количества привилегий

Поле Описание Тип Признак
filter Фильтр keyapis.subscription.v1.PrivilegeFilter

GetPrivilegeCountResponse

Ответ на запрос получения количества привилегий

Поле Описание Тип Признак
data Всего привилегий optional int32
error Ошибка optional keyapis.subscription.v1.GetPrivilegeCountResponse.Error

GetPrivilegeCountResponse.Error

Ошибка запроса получения количества привилегий

Поле Описание Тип Признак
privilege_filter_validation Ошибка фильтрации по страницам по привилегиям optional keyapis.subscription.v1.PrivilegeFilter.ValidationError

GetPrivilegeListRequest

Запрос получения привилегий

Поле Описание Тип Признак
filter Фильтр keyapis.subscription.v1.PrivilegeFilter
paging Пагинация optional keyapis.subscription.v1.PrivilegePaging

GetPrivilegeListResponse

Ответ на запрос получения привилегий

Поле Описание Тип Признак
data Предоставленная привилегия optional keyapis.subscription.v1.Privilege
error Ошибка optional keyapis.subscription.v1.GetPrivilegeListResponse.Error

GetPrivilegeListResponse.Error

Ошибка запроса получения привилегий

Поле Описание Тип Признак
privilege_filter_validation Ошибка фильтрации по страницам optional keyapis.subscription.v1.PrivilegeFilter.ValidationError
privilege_paging_validation Ошибка пагинации по страницам optional keyapis.subscription.v1.PrivilegePaging.ValidationError

Privilege

Привилегия

Поле Описание Тип Признак
orpon ОРПОН. Идентификатор дома. Уникальный ключ: поля в порядке 1,2,3 int64 REQUIRED
flat_number Номер квартиры string REQUIRED
type Тип привилегии keyapis.subscription.v1.Privilege.Type REQUIRED
state_type Состояние привилегии keyapis.subscription.v1.Privilege.StateType REQUIRED

PrivilegeFilter

Фильтр по привилегиям

Поле Описание Тип Признак
orpons По ОРПОНам repeated int64
flat_numbers Номера квартир repeated string
types По типам привилегий repeated keyapis.subscription.v1.Privilege.Type
state_types По состояниям привилегий repeated keyapis.subscription.v1.Privilege.StateType

PrivilegeFilter.ValidationError

Ошибка валидации фильтра по привилегиям. Эти проверки выполняются до обращения в базу данных

Поле Описание Тип Признак
orpons Формат ОРПОН некорректен optional keyapis.subscription.v1.PrivilegeFilter.ValidationError.OrponsInvalid
flat_numbers Формат квартиры некорректен optional keyapis.subscription.v1.PrivilegeFilter.ValidationError.FlatNumbersInvalid

PrivilegeFilter.ValidationError.FlatNumbersInvalid

Причины: - Формат квартиры некорректен (например, длина номера квартира более 4 знаков); - Номер квартиры содержит буквы

PrivilegeFilter.ValidationError.OrponsInvalid

Причины: - Формат ОРПОН некорректен; - Передано отрицательное значение

PrivilegePaging

Пагинация по привилегиям

Поле Описание Тип Признак
order_by_type Тип значения сортировки. По умолчанию: KEY keyapis.subscription.v1.PrivilegePaging.OrderByType
direction_type Тип направления сортировки. По умолчанию: DESC keyapis.subscription.v1.PrivilegePaging.DirectionType
limit Количество записей на страницу. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию int32
offset Сдвиг. По умолчанию: 0 int32

PrivilegePaging.ValidationError

Ошибка валидации постраничной пагинации по привилегиям. Эти проверки выполняются до обращения в базу данных

Поле Описание Тип Признак
limit Количество передано некорректно optional keyapis.subscription.v1.PrivilegePaging.ValidationError.LimitInvalid
offset Сдвиг передан некорректно optional keyapis.subscription.v1.PrivilegePaging.ValidationError.OffsetInvalid

PrivilegePaging.ValidationError.LimitInvalid

Причины: - Значение количества < 0 или > 100

PrivilegePaging.ValidationError.OffsetInvalid

Причины: - Значение сдвига < 0

Privilege.StateType

Типы состояний привилегий

Номер Тип Название
0 STATE_TYPE_UNKNOWN Значение не указано
1 CAN_BE_PAID Услуга доступная для подключения на доме пользователя, но не активна. Услуга есть в доступных КВ на ОРПОН, но её нет у пользователя
2 NOT_PAID Услуга не оплачена и не активна. Услуга есть в подписке в статусе: BLOCKED
3 TURNS_OFF Услуга отключается, но ещё активна. Услуга есть в подписке в статусе: SCHEDULED_CANCELED
4 PROMO Услуга в промо-периоде и активна. Услуга есть в подписке в статусе: SETUP. Обычно так создают промоподписки
5 PAID Услуга оплачена и активна. Услуга есть в подписке в статусе: ACTIVE. Либо услуга есть в подписке с неблокируемой услугой

Privilege.Type

Типы привилегий

Номер Тип Название
0 TYPE_UNKNOWN Значение не указано
1 INTERCOM_USE Умный домофон. Базовые функции. Право доступа к разделу с домофонами и калиткаи. Действие. Закрывает услуги: get_devices_intercom
2 INTERCOM_OPEN Умный домофон. Базовые функции. Право использовать функционал открытия двери домофона и калитки. Действие. Закрывает услуги: post_devices_open_intercom
3 INTERCOM_CODE_USE Умный домофон. Коды. Право использовать функционал кодов домофонов и калиток. Действие. Закрывает услуги: get_devices_codes_intercom, post_devices_codes_intercom, delete_devices_codes_intercom
4 INTERCOM_RFID_USE Умный домофон. Ключи. Право использовать функционал физических ключей домофонов и калиток. Действие. Закрывает услуги: get_devices_rfids_intercom, post_devices_rfids_barrier, delete_devices_rfids_barrier
5 INTERCOM_EVENT_USE Умный домофон. События. Право использовать функционал журнала событий домофонов и калиток. Действие. Закрывает услуги: get_events_intercom
6 INTERCOM_CAMERA_USE Умный домофон. Камеры. Право использовать функционал просмотра камер и лайв видео с домофонов и калиток. Действие. Закрывает услуги: get_devices_camera_intercom
7 INTERCOM_CAMERA_ARCHIVE Умный домофон. Камеры. Право использовать функционал архива видео с камер домофонов и калиток. Действие. Закрывает услуги: get_video_archive_intercom
8 INTERCOM_CALLREDIRECT_APP Умный домофон. Переадресация. Право перенаправления входящих вызова от домофона в приложения, используется только на сервере. Поведение. Закрывает услуги: devices_call_redirect_to_mobile_app_behavior
9 INTERCOM_CALLREDIRECT_PSTN Умный домофон. Переадресация. Право перенаправление входящих вызовов от домофона на номера ТФОП, используется только на сервере. Поведение. Закрывает услуги: devices_call_redirect_to_pstn_behavior
10 INTERCOM_CALLREDIRECT_SIP Умный домофон. Переадресация. Право перенаправление входящих вызовов от домофона на номера SIP, используется только на сервере. Поведение. Закрывает услуги: devices_call_redirect_to_sip_behavior
11 BARRIER_USE Умный шлагбаум. Базовые функции. Право доступа к разделу шлагбаумов. Действие. Закрывает услуги: get_devices_barrier
12 BARRIER_OPEN Умный шлагбаум. Базовые функции. Право использовать функционала поднятия стрелы шлагбаума. Действие. Закрывает услуги: post_devices_open_barrier
13 BARRIER_CODE_USE Умный шлагбаум. Коды. Право использовать функционал открытия шлагбаума по звонку на короткий номер. Действие. Закрывает услуги: get_devices_codes_barrier, post_devices_codes_barrier, delete_devices_codes_barrier
14 BARRIER_EVENT_USE Умный шлагбаум. События. Право использовать функционал журнала событий шлагбаума. Действие. Закрывает услуги: get_events_barrier
15 BARRIER_CAMERA_USE Умный шлагбаум. Камеры. Право использовать функционал просмотра камер и лайв видео с шлагбаумов. Действие. Закрывает услуги: get_devices_camera_barrier
16 BARRIER_CAMERA_ARCHIVE Умный шлагбаум. Камеры. Право использовать функционал архива видео с камер, направленных на шлагбаум. Действие. Закрывает услуги: get_video_archive_barrier
17 FR_USE Распознавание лица. Фото. Право доступа к разделу распознавания лиц. Действие. Закрывает услуги: get_photo_fr_intercom, fr_intercom_access_behavior, post_photo_fr_intercom, delete_photo_fr_intercom
18 TELEMETRY_USE Телеметрия. Базовые функции. Право доступа к разделу показаний приборов учёта. Действие. Закрывает услуги: get_telemetry_rooms_layout
19 CAMERA_USE Камеры. Базовые функции. Право доступа к разделу камер и лайв видео с них. Действие. Закрывает услуги: get_devices_camera, get_events_camera, get_devices_camera_access_control_panel, get_devices_camera_barrier, get_devices_camera_intercom
20 CAMERA_ARCHIVE Камеры. Базовые функции. Право использовать функционал архива видео с камер видеонаблюдения. Действие. Закрывает услуги: get_video_archive, get_video_archive_access_control_panel
21 INTERCOM_CMS_PHONES_USE Умный домофон. Переадресация. Право приёма входящих вызовов от домофона на аналоговую трубку, используется только на сервере. Поведение. Закрывает услуги: devices_call_to_cms_phones_behavior
22 CAMERA_EVENT_USE Умный домофон. Переадресация. Право приёма входящих вызовов от домофона на аналоговую трубку, используется только на сервере. Поведение. Закрывает услуги: get_events_camera

PrivilegePaging.DirectionType

Справочник типов направлений сортировки

Номер Тип Название
0 DIRECTION_TYPE_UNKNOWN Значение не указано
1 DESC От большего к меньшему
2 ASC От меньшего к большему

PrivilegePaging.OrderByType

Справочник типов значений сортировки

Номер Тип Название
0 ORDER_BY_TYPE_UNKNOWN Значение не указано
1 KEY По уникальному ключу: orpon+flat_number+type

Скалярные типы значений

.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