Протокол¶
Оглавление¶
-
keyapis/subscription/v1/keyapis_subscription_privilege_v1.proto
- GetPrivilegeCheckResponse
- GetPrivilegeCountRequest
- GetPrivilegeCountResponse
- GetPrivilegeCountResponse.Error
- GetPrivilegeListRequest
- GetPrivilegeListResponse
- GetPrivilegeListResponse.Error
- Privilege
- PrivilegeFilter
- PrivilegeFilter.ValidationError
- PrivilegeFilter.ValidationError.FlatNumbersInvalid
- PrivilegeFilter.ValidationError.OrponsInvalid
- PrivilegePaging
- PrivilegePaging.ValidationError
- PrivilegePaging.ValidationError.LimitInvalid
- Privilege.Type
- PrivilegePaging.DirectionType
- PrivilegePaging.OrderByType
Схема классов¶
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 |