Протокол¶
Оглавление¶
-
keyapis/access_control/v1/keyapis_access_control_entrance_v1.proto
- DeleteEntranceResponse
- DeleteEntranceResponse.Error
- DeleteEntranceResponse.Error.LinkedDevicesExists
- Entrance
- EntranceDevice
- EntranceDeviceFilter
- EntranceDevicePaging
- EntranceFilter
- EntrancePaging
- GetEntranceDeviceListRequest
- GetEntranceDeviceListResponse
- GetEntranceDeviceListResponse.Error
- GetEntranceListRequest
- GetEntranceListResponse
- GetEntranceListResponse.Error
- PostEntranceRequest
- PostEntranceResponse
- PostEntranceResponse.Error
- PutEntranceDeviceAttachRequest
- PutEntranceDeviceAttachResponse
- PutEntranceDeviceAttachResponse.Error
- PutEntranceDeviceDetachRequest
- PutEntranceDeviceDetachResponse
- EntranceDevicePaging.DirectionType
- EntranceDevicePaging.OrderByType
- EntranceFilter.CompanyRelationType
- EntrancePaging.DirectionType
- EntrancePaging.OrderByType
Схема классов¶
keyapis/access_control/v1/keyapis_access_control_entrance_v1.proto¶
Сервис подъездов
EntranceService¶
Сервис подъездов
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| PostEntrance | Метод создания подъезда. Для ролей employee, owner можно сохранять только подъезды квартирограмм, привязанные к домофонной компании пользователя (привязка компании с типом dc_company_flatgramm.type = DEVICE_SERVICE). Метод доступен для: admin, service, owner, employee | keyapis.access_control.v1.PostEntranceRequest | keyapis.access_control.v1.PostEntranceResponse |
| DeleteEntrance | Метод удаления подъезда. Реализуется как удаление квартир по указанному дому и номеру подъезда. Для ролей employee, owner можно удалять только подъезды квартирограмм, привязанные к домофонной компании пользователя (привязка компании с типом dc_company_flatgramm.type = DEVICE_SERVICE). Метод доступен для: admin, service, owner, employee | keyapis.access_control.v1.DeleteEntranceRequest | keyapis.access_control.v1.DeleteEntranceResponse |
| GetEntranceList | Метод получения списка подъездов. При переданном company_ids учитывается тип связи компании и квартирограммы. Если EntranceFilter.CompanyRelationType = DEVICE_SERVICE, то проверяется связка компании с типом dc_company_flatgramm.type = DEVICE_SERVICE. Если EntranceFilter.CompanyRelationType = MANAGEMENT, то проверяется связка в flatgramm_companies. Если EntranceFilter.CompanyRelationType = DEFAULT, то проверяется связка компании с типом dc_company_flatgramm.type = DEVICE_SERVICE. Если EntranceFilter.CompanyRelationType = COMPANY_RELATION_TYPE_UNKNOWN, вернется ошибка валидации. При не переданном company_ids поле EntranceFilter.CompanyRelationType вызовет ошибку валидации. Для ролей employee, owner можно получать только подъезды квартирограмм, привязанные к домофонной компании пользователя (привязка компании с типом dc_company_flatgramm.type = DEVICE_SERVICE). Метод доступен для: admin, service, owner, employee | keyapis.access_control.v1.GetEntranceListRequest | keyapis.access_control.v1.GetEntranceListResponse stream |
| PutEntranceDeviceAttach | Метод создания связи подъезда и устройства. Для ролей employee, owner можно сохранять только связи с подъездами квартирограмм, привязанным к домофонной компании пользователя (привязка компании с типом dc_company_flatgramm.type = DEVICE_SERVICE). EntranceDevice.RelationType в данном методе не используется. Метод доступен для: admin, service, owner, employee | keyapis.access_control.v1.PutEntranceDeviceAttachRequest | keyapis.access_control.v1.PutEntranceDeviceAttachResponse |
| PutEntranceDeviceDetach | Метод удаления связи подъезда и устройства. Для ролей employee, owner можно удалять только связи с подъездами квартирограмм, привязанным к домофонной компании пользователя (привязка компании с типом dc_company_flatgramm.type = DEVICE_SERVICE). EntranceDevice.RelationType в данном методе не используется. Метод доступен для: admin, service, owner, employee | keyapis.access_control.v1.PutEntranceDeviceDetachRequest | keyapis.access_control.v1.PutEntranceDeviceDetachResponse |
| GetEntranceDeviceList | Метод получения списка связок подъезд-устройство. Для ролей employee, owner можно получать только связи с подъездами квартирограмм, привязанным к домофонной компании пользователя (привязка компании с типом dc_company_flatgramm.type = DEVICE_SERVICE). Метод доступен для: admin, service, owner, employee | keyapis.access_control.v1.GetEntranceDeviceListRequest | keyapis.access_control.v1.GetEntranceDeviceListResponse stream |
DeleteEntranceRequest¶
Запрос на удаление подъезда
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| orpon | ОРПОН дома | int64 | REQUIRED |
| entrance_number | Номер подъезда. # Диапазон: 1..100 | int32 | REQUIRED |
DeleteEntranceResponse¶
Ответ на запрос удаления подъезда
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| error | Ошибка при удалении | optional keyapis.access_control.v1.DeleteEntranceResponse.Error |
DeleteEntranceResponse.Error¶
Ошибка удаления подъезда
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError | |
| linked_devices_exists | Существуют связанные устройства | optional keyapis.access_control.v1.DeleteEntranceResponse.Error.LinkedDevicesExists |
DeleteEntranceResponse.Error.LinkedDevicesExists¶
Существуют устройства, связанные с квартирами данного подъезда. Следует отвязать устройства перед удалением подъезда
Entrance¶
Подъезд
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| orpon | ОРПОН дома | int64 | REQUIRED |
| entrance_number | Номер подъезда. # Диапазон: 1..100 | int32 | REQUIRED |
| start_room_number | Номер начального помещения. # Диапазон: 1..9999 | int32 | REQUIRED |
| rooms_count_per_floor | Количество помещений на этаже. # Диапазон: 1..1000 | int32 | REQUIRED |
| floors_count | Количество этажей. # Диапазон: 1..100 | int32 | REQUIRED |
EntranceDevice¶
Связка подъезда и устройства. Реализуется через связь всех помещений в подъезде и устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| orpon | ОРПОН дома | int64 | REQUIRED |
| entrance_number | Номер подъезда. # Диапазон: 1..100 | int32 | REQUIRED |
| device_id | Идентификатор устройства. # Диапазон: 1..2147483647 | int32 | REQUIRED |
| relation_type | Тип связки. Игнорируется в методах создания и удаления связи | keyapis.access_control.v1.EntranceDevice.RelationType | OUTPUT_ONLY |
EntranceDeviceFilter¶
Фильтр связок подъезд-устройство
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| flatgramm_ids | По идентификаторам квартирограмм | repeated int32 | |
| orpons | По ОРПОН | repeated int64 | |
| entrance_numbers | По номерам подъезда | repeated int32 | |
| device_ids | По идентификаторам привязанных устройств | repeated int32 |
EntranceDevicePaging¶
Постраничный вывод
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: ORPON_THEN_ENTRANCE_NUMBER | keyapis.access_control.v1.EntranceDevicePaging.OrderByType | |
| direction_type | Тип направления сортировки. # По умолчанию: DESC | keyapis.access_control.v1.EntranceDevicePaging.DirectionType | |
| limit | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 | int32 | |
| offset | Сдвиг. # Диапазон: 0..2147483647 | int32 |
EntranceFilter¶
Фильтр подъездов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| flatgramm_ids | По идентификаторам квартирограмм | repeated int32 | |
| orpons | По ОРПОН | repeated int64 | |
| company_ids | По идентификаторам компаний | repeated int32 | |
| company_relation_type | Тип связи компании с подъездами | keyapis.access_control.v1.EntranceFilter.CompanyRelationType |
EntrancePaging¶
Постраничный вывод
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: ORPON_THEN_ENTRANCE_NUMBER | keyapis.access_control.v1.EntrancePaging.OrderByType | |
| direction_type | Тип направления сортировки. # По умолчанию: DESC | keyapis.access_control.v1.EntrancePaging.DirectionType | |
| limit | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 | int32 | |
| offset | Сдвиг. # Диапазон: 0..2147483647 | int32 |
GetEntranceDeviceListRequest¶
Запрос на получение связок подъезд-устройство
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр по связкам подъезд-устройство | keyapis.access_control.v1.EntranceDeviceFilter | |
| paging | Стандартный постраничный вывод | optional keyapis.access_control.v1.EntranceDevicePaging |
GetEntranceDeviceListResponse¶
Ответ на запрос на получение списка связок подъезд-устройство
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Связка подъезд-устройство | optional keyapis.access_control.v1.EntranceDevice | |
| error | Ошибка | optional keyapis.access_control.v1.GetEntranceDeviceListResponse.Error |
GetEntranceDeviceListResponse.Error¶
Ошибка запроса на получение списка связок подъезд-устройство
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
GetEntranceListRequest¶
Запрос получения списка подъездов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр по подъездам | keyapis.access_control.v1.EntranceFilter | |
| paging | Стандартный постраничный вывод | optional keyapis.access_control.v1.EntrancePaging |
GetEntranceListResponse¶
Ответ на запрос на получение списка подъездов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Подъезд | optional keyapis.access_control.v1.Entrance | |
| error | Ошибка | optional keyapis.access_control.v1.GetEntranceListResponse.Error |
GetEntranceListResponse.Error¶
Ошибка запроса на получение списка подъездов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
PostEntranceRequest¶
Запрос сохранения подъезда
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Подъезд | keyapis.access_control.v1.Entrance | REQUIRED |
PostEntranceResponse¶
Ответ на запрос сохранения подъезда
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Подъезд | optional keyapis.access_control.v1.Entrance | |
| error | Ошибка при удалении | optional keyapis.access_control.v1.PostEntranceResponse.Error |
PostEntranceResponse.Error¶
Ошибка сохранения подъезда
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
PutEntranceDeviceAttachRequest¶
Запрос создания связи подъезда и устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| entrance_device | Связь подъезда и устройства | keyapis.access_control.v1.EntranceDevice | REQUIRED |
PutEntranceDeviceAttachResponse¶
Ответ на запрос сохранения связи подъезда и устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| error | Ошибка | optional keyapis.access_control.v1.PutEntranceDeviceAttachResponse.Error |
PutEntranceDeviceAttachResponse.Error¶
Ошибка запроса на создание связи подъезда и устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
PutEntranceDeviceDetachRequest¶
Запрос удаления связи подъезда и устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| entrance_device | Связь подъезда и устройства | keyapis.access_control.v1.EntranceDevice | REQUIRED |
PutEntranceDeviceDetachResponse¶
Ответ на запрос удаления связи подъезда и устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| error | Ошибка | optional keyapis.access_control.v1.PutEntranceDeviceDetachResponse.Error |
PutEntranceDeviceDetachResponse.Error¶
Ошибка запроса на удаления связи подъезда и устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
EntranceDevice.RelationType¶
Тип связки
| Номер | Тип | Название |
|---|---|---|
| 0 | RELATION_TYPE_UNKNOWN | Значение не указано |
| 1 | FULL | Полная связь |
| 2 | PARTIAL | Частичная связь |
EntranceDevicePaging.DirectionType¶
Справочник типов направлений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
EntranceDevicePaging.OrderByType¶
Справочник типов значений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | ORPON_THEN_ENTRANCE_NUMBER | По ОРПОНу и номеру подъезда |
| 2 | DEVICE_ID | По идентификатору устройства |
EntranceFilter.CompanyRelationType¶
Справочник типов связи компании с подъездами
| Номер | Тип | Название |
|---|---|---|
| 0 | COMPANY_RELATION_TYPE_UNKNOWN | Значение не указано |
| 1 | DEFAULT | Значение по умолчанию |
| 2 | MANAGEMENT | Управляющая компания владеет квартирограммой |
| 3 | DEVICE_SERVICE | Домофонная компания обслуживает квартирограмму |
EntrancePaging.DirectionType¶
Справочник типов направлений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
EntrancePaging.OrderByType¶
Справочник типов значений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | ORPON_THEN_ENTRANCE_NUMBER | По ОРПОНу и номеру подъезда |
Скалярные типы значений¶
| .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 |