Протокол¶
Оглавление¶
-
keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto
- DeleteRfidResponse
- DeleteRfidResponse.Error
- GetRfidCountRequest
- GetRfidCountResponse
- GetRfidCountResponse.Error
- GetRfidListRequest
- GetRfidListResponse
- GetRfidListResponse.Error
- GetRfidRequest
- GetRfidResponse
- GetRfidResponse.Error
- PostRfidRequest
- PostRfidResponse
- PostRfidResponse.Error
- Rfid
- Rfid.SavingError
- Rfid.SavingError.Conflict
- Rfid.SavingError.ExceededQuantityOfKeysForRoom
- Rfid.SavingError.HolderTypeForbidden
- Rfid.SavingError.KeyCodeCannotBeChanged
- Rfid.SavingError.KeyExist
- Rfid.SavingError.KeyIsUsed
- RfidFilter
- Rfid.PayType
- RfidPaging.DirectionType
- RfidPaging.OrderByType
Схема классов¶
keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto¶
Сервис ключей
RfidService¶
Сервис ключей
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| GetRfid | Метод получения ключа. Метод доступен для: admin, service, ltp_first, owner, employee | keyapis.access_control.v1.GetRfidRequest | keyapis.access_control.v1.GetRfidResponse |
| GetRfidList | Метод получения списка ключей. Метод доступен для: admin, service, ltp_first, owner, employee | keyapis.access_control.v1.GetRfidListRequest | keyapis.access_control.v1.GetRfidListResponse stream |
| GetRfidCount | Метод получения количества ключей. Метод доступен для: admin, service, ltp_first, owner, employee | keyapis.access_control.v1.GetRfidCountRequest | keyapis.access_control.v1.GetRfidCountResponse |
| PostRfid | Метод создания ключа. Метод доступен для: admin, service, ltp_first, owner, employee | keyapis.access_control.v1.PostRfidRequest | keyapis.access_control.v1.PostRfidResponse |
| DeleteRfid | Метод удаления ключа. Метод доступен для: admin, service, ltp_first, owner, employee | keyapis.access_control.v1.DeleteRfidRequest | keyapis.access_control.v1.DeleteRfidResponse |
DeleteRfidRequest¶
Запрос удаления ключа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор ключа. # Диапазон: 0..2147483647 | int32 | REQUIRED |
| is_force_delete | Флаг принудительного удаления ключа. При принудительном удалении не гарантируется удаление ключа со всех физических устройств | bool |
DeleteRfidResponse¶
Ответ на запрос удаления ключа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| error | Ошибка | optional keyapis.access_control.v1.DeleteRfidResponse.Error |
DeleteRfidResponse.Error¶
Ошибка запроса на удаление ключа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
GetRfidCountRequest¶
Запрос получения количества ключей
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.access_control.v1.RfidFilter |
GetRfidCountResponse¶
Ответ на запрос получения количества ключей
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Количество | optional int32 | |
| error | Ошибка | optional keyapis.access_control.v1.GetRfidCountResponse.Error |
GetRfidCountResponse.Error¶
Ошибка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
GetRfidListRequest¶
Запрос получения списка ключей
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.access_control.v1.RfidFilter | |
| paging | Стандартный постраничный вывод | optional keyapis.access_control.v1.RfidPaging |
GetRfidListResponse¶
Ответ на запрос получения списка ключей
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Ключ | optional keyapis.access_control.v1.Rfid | |
| error | Ошибка | optional keyapis.access_control.v1.GetRfidListResponse.Error |
GetRfidListResponse.Error¶
Ошибка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
GetRfidRequest¶
Запрос получения ключа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор ключа. # Диапазон: 0..2147483647 | int32 | REQUIRED |
GetRfidResponse¶
Ответ на запрос получения ключа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Ключ | optional keyapis.access_control.v1.Rfid | |
| error | Ошибка | optional keyapis.access_control.v1.GetRfidResponse.Error |
GetRfidResponse.Error¶
Ошибка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError |
PostRfidRequest¶
Запрос создания ключа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Ключ | keyapis.access_control.v1.Rfid | REQUIRED |
PostRfidResponse¶
Ответ на запрос создания ключа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Ключ | optional keyapis.access_control.v1.Rfid | |
| error | Ошибка | optional keyapis.access_control.v1.PostRfidResponse.Error |
PostRfidResponse.Error¶
Ошибка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.access_control.v1.ValidationError | |
| saving | Ошибка сохранения | optional keyapis.access_control.v1.Rfid.SavingError |
Rfid¶
Ключ.
Описание модели¶
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор ключа. # Диапазон: 0..2147483647 | int32 | |
| user_id | Идентификатор пользователя | google.protobuf.Int32Value | |
| description | Системное описание. Обычно оставляет УК/Админ, пользователь его не видет | google.protobuf.StringValue | |
| company_id | Идентификатор компании | google.protobuf.Int32Value | |
| creator_id | Идентификатор создателя | google.protobuf.Int32Value | |
| key | Код ключа (UID). Уникальное значение. # Паттерн: /^[0-9a-fA-F]{1,14}$/ | string | REQUIRED |
| pay_type | Тип оплаты | keyapis.access_control.v1.Rfid.PayType | REQUIRED |
| holder_type | Тип владельца ключа | keyapis.access_control.v1.Rfid.HolderType | REQUIRED |
| created_at | Дата создания. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| changed_at | Дата обновления. # Тип: DateTime? | google.protobuf.Timestamp | |
| orpon | ОРПОН дома. # Диапазон: 1..9223372036854775807 | int64 | REQUIRED |
| room_number | Номер квартиры. # Диапазон: 1..4 | string | REQUIRED |
Rfid.SavingError¶
Ошибка сохранения ключа. Эти проверки выполняются при работе с базой данных и сторонними сервисами
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| conflict | Конфликт версий | optional keyapis.access_control.v1.Rfid.SavingError.Conflict | |
| key_exist | Данный ключ уже существует | optional keyapis.access_control.v1.Rfid.SavingError.KeyExist | |
| key_code_cannot_be_changed | Нельзя изменить код ключа | optional keyapis.access_control.v1.Rfid.SavingError.KeyCodeCannotBeChanged | |
| exceeded_quantity_of_keys_for_room | Превышено максимально допустимое количество ключей (16) для квартиры | optional keyapis.access_control.v1.Rfid.SavingError.ExceededQuantityOfKeysForRoom | |
| key_is_used | Ключ используется на другой квартире | optional keyapis.access_control.v1.Rfid.SavingError.KeyIsUsed | |
| holder_type_forbidden | Нельзя создавать / изменять ключ с переданным типом владельца | optional keyapis.access_control.v1.Rfid.SavingError.HolderTypeForbidden |
Rfid.SavingError.Conflict¶
Конфликт версий. Причины: - В базе хранится другая версия строки, значения changed_at отличаются
Rfid.SavingError.ExceededQuantityOfKeysForRoom¶
Превышено максимально допустимое количество ключей (16) для квартиры
Rfid.SavingError.HolderTypeForbidden¶
Нельзя создавать / изменять ключ с переданным типом владельца. Доступные типы владельца: - Жилец (мастер)
Rfid.SavingError.KeyCodeCannotBeChanged¶
Нельзя изменить код ключа. Причины: - При изменении ключа нельзя менять поле key (код ключа)
Rfid.SavingError.KeyExist¶
Данный ключ уже существует. Причины: - При попытке создания ключа в системе уже существует ключ с таким же кодом
Rfid.SavingError.KeyIsUsed¶
Ключ используется на другой квартире
RfidFilter¶
Фильтр по ключам
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| holder_types | По типам владельца | repeated keyapis.access_control.v1.Rfid.HolderType | |
| pay_types | По типам оплаты | repeated keyapis.access_control.v1.Rfid.PayType | |
| orpons | По ОРПОНам | repeated int64 | |
| room_numbers | По номерам квартир | repeated string | |
| user_ids | По идентификаторам пользователей | repeated int32 | |
| company_ids | По идентификаторам компаний | repeated int32 | |
| keys | По кодам ключа | repeated string |
RfidPaging¶
Постраничный вывод
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: CHANGED_AT | keyapis.access_control.v1.RfidPaging.OrderByType | |
| direction_type | Тип направления сортировки. # По умолчанию: DESC | keyapis.access_control.v1.RfidPaging.DirectionType | |
| limit | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 | int32 | |
| offset | Сдвиг. # Диапазон: 0..2147483647 | int32 |
Rfid.HolderType¶
Тип владельца ключа
| Номер | Тип | Название |
|---|---|---|
| 0 | HOLDER_TYPE_UNKNOWN | Значение не указано |
| 1 | MASTER | Жилец |
| 2 | COMPANY | Сотрудник УК |
| 3 | EXTERNAL_SELLER | Ключ сотрудника ГАП |
| 4 | SYSTEM | Системный ключ |
Rfid.PayType¶
Тип оплаты
| Номер | Тип | Название |
|---|---|---|
| 0 | PAY_TYPE_UNKNOWN | Значение не указано |
| 1 | PAID | Платный |
| 2 | FREE | Бесплатный |
RfidPaging.DirectionType¶
Справочник типов направлений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
RfidPaging.OrderByType¶
Справочник типов значений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | CREATED_AT | По времени создания |
| 2 | CHANGED_AT | По времени изменения |
Скалярные типы значений¶
| .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 |