# Протокол

## Оглавление

- [keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto](#keyapis_access_control_v1_keyapis_access_control_rfid_v1-proto)
    - [RfidService](#keyapis-access_control-v1-RfidService)
  
    - [DeleteRfidRequest](#keyapis-access_control-v1-DeleteRfidRequest)
    - [DeleteRfidResponse](#keyapis-access_control-v1-DeleteRfidResponse)
    - [DeleteRfidResponse.Error](#keyapis-access_control-v1-DeleteRfidResponse-Error)
    - [GetRfidCountRequest](#keyapis-access_control-v1-GetRfidCountRequest)
    - [GetRfidCountResponse](#keyapis-access_control-v1-GetRfidCountResponse)
    - [GetRfidCountResponse.Error](#keyapis-access_control-v1-GetRfidCountResponse-Error)
    - [GetRfidListRequest](#keyapis-access_control-v1-GetRfidListRequest)
    - [GetRfidListResponse](#keyapis-access_control-v1-GetRfidListResponse)
    - [GetRfidListResponse.Error](#keyapis-access_control-v1-GetRfidListResponse-Error)
    - [GetRfidRequest](#keyapis-access_control-v1-GetRfidRequest)
    - [GetRfidResponse](#keyapis-access_control-v1-GetRfidResponse)
    - [GetRfidResponse.Error](#keyapis-access_control-v1-GetRfidResponse-Error)
    - [PostRfidRequest](#keyapis-access_control-v1-PostRfidRequest)
    - [PostRfidResponse](#keyapis-access_control-v1-PostRfidResponse)
    - [PostRfidResponse.Error](#keyapis-access_control-v1-PostRfidResponse-Error)
    - [Rfid](#keyapis-access_control-v1-Rfid)
    - [Rfid.SavingError](#keyapis-access_control-v1-Rfid-SavingError)
    - [Rfid.SavingError.Conflict](#keyapis-access_control-v1-Rfid-SavingError-Conflict)
    - [Rfid.SavingError.ExceededQuantityOfKeysForRoom](#keyapis-access_control-v1-Rfid-SavingError-ExceededQuantityOfKeysForRoom)
    - [Rfid.SavingError.HolderTypeForbidden](#keyapis-access_control-v1-Rfid-SavingError-HolderTypeForbidden)
    - [Rfid.SavingError.KeyCodeCannotBeChanged](#keyapis-access_control-v1-Rfid-SavingError-KeyCodeCannotBeChanged)
    - [Rfid.SavingError.KeyExist](#keyapis-access_control-v1-Rfid-SavingError-KeyExist)
    - [Rfid.SavingError.KeyIsUsed](#keyapis-access_control-v1-Rfid-SavingError-KeyIsUsed)
    - [RfidFilter](#keyapis-access_control-v1-RfidFilter)
    - [RfidPaging](#keyapis-access_control-v1-RfidPaging)
  
    - [Rfid.HolderType](#keyapis-access_control-v1-Rfid-HolderType)
    - [Rfid.PayType](#keyapis-access_control-v1-Rfid-PayType)
    - [RfidPaging.DirectionType](#keyapis-access_control-v1-RfidPaging-DirectionType)
    - [RfidPaging.OrderByType](#keyapis-access_control-v1-RfidPaging-OrderByType)
  


## [Схема классов](/svg/protos/key/keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto.svg)
<a href="/svg/protos/key/keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto.svg"><img src="/svg/protos/key/keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto.svg" alt="/svg/protos/key/keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto.svg" style="height:100%;"></a>




<a name="keyapis_access_control_v1_keyapis_access_control_rfid_v1-proto"></a>

## [keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto](/protos/key/keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto)
Сервис ключей


<a name="keyapis-access_control-v1-RfidService"></a>

### RfidService
 Сервис ключей

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="keyapis-access_control-v1-GetRfid"></a> [GetRfid](#keyapis-access_control-v1-GetRfid) | Метод получения ключа. Метод доступен для: admin, service, ltp_first, owner, employee | [keyapis.access_control.v1.GetRfidRequest](#keyapis-access_control-v1-GetRfidRequest) | [keyapis.access_control.v1.GetRfidResponse](#keyapis-access_control-v1-GetRfidResponse) |
| <a id="keyapis-access_control-v1-GetRfidList"></a> [GetRfidList](#keyapis-access_control-v1-GetRfidList) | Метод получения списка ключей. Метод доступен для: admin, service, ltp_first, owner, employee | [keyapis.access_control.v1.GetRfidListRequest](#keyapis-access_control-v1-GetRfidListRequest) | [keyapis.access_control.v1.GetRfidListResponse](#keyapis-access_control-v1-GetRfidListResponse) stream |
| <a id="keyapis-access_control-v1-GetRfidCount"></a> [GetRfidCount](#keyapis-access_control-v1-GetRfidCount) | Метод получения количества ключей. Метод доступен для: admin, service, ltp_first, owner, employee | [keyapis.access_control.v1.GetRfidCountRequest](#keyapis-access_control-v1-GetRfidCountRequest) | [keyapis.access_control.v1.GetRfidCountResponse](#keyapis-access_control-v1-GetRfidCountResponse) |
| <a id="keyapis-access_control-v1-PostRfid"></a> [PostRfid](#keyapis-access_control-v1-PostRfid) | Метод создания ключа. Метод доступен для: admin, service, ltp_first, owner, employee | [keyapis.access_control.v1.PostRfidRequest](#keyapis-access_control-v1-PostRfidRequest) | [keyapis.access_control.v1.PostRfidResponse](#keyapis-access_control-v1-PostRfidResponse) |
| <a id="keyapis-access_control-v1-DeleteRfid"></a> [DeleteRfid](#keyapis-access_control-v1-DeleteRfid) | Метод удаления ключа. Метод доступен для: admin, service, ltp_first, owner, employee | [keyapis.access_control.v1.DeleteRfidRequest](#keyapis-access_control-v1-DeleteRfidRequest) | [keyapis.access_control.v1.DeleteRfidResponse](#keyapis-access_control-v1-DeleteRfidResponse) |

 <!-- end services -->


<a name="keyapis-access_control-v1-DeleteRfidRequest"></a>


### [DeleteRfidRequest](#keyapis-access_control-v1-DeleteRfidRequest)
 Запрос удаления ключа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-DeleteRfidRequest-id"></a> [id](#keyapis-access_control-v1-DeleteRfidRequest-id) | Идентификатор ключа. # Диапазон: 0..2147483647 |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-access_control-v1-DeleteRfidRequest-is_force_delete"></a> [is_force_delete](#keyapis-access_control-v1-DeleteRfidRequest-is_force_delete) | Флаг принудительного удаления ключа. При принудительном удалении не гарантируется удаление ключа со всех физических устройств |    [bool](#scalar-types) | <nil>|






<a name="keyapis-access_control-v1-DeleteRfidResponse"></a>


### [DeleteRfidResponse](#keyapis-access_control-v1-DeleteRfidResponse)
 Ответ на запрос удаления ключа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-DeleteRfidResponse-error"></a> [error](#keyapis-access_control-v1-DeleteRfidResponse-error) | Ошибка |  optional  [keyapis.access_control.v1.DeleteRfidResponse.Error](#keyapis-access_control-v1-DeleteRfidResponse-Error) | <nil>|






<a name="keyapis-access_control-v1-DeleteRfidResponse-Error"></a>


### [DeleteRfidResponse.Error](#keyapis-access_control-v1-DeleteRfidResponse-Error)
 Ошибка запроса на удаление ключа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-DeleteRfidResponse-Error-validation"></a> [validation](#keyapis-access_control-v1-DeleteRfidResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.access_control.v1.ValidationError](#keyapis-access_control-v1-ValidationError) | <nil>|






<a name="keyapis-access_control-v1-GetRfidCountRequest"></a>


### [GetRfidCountRequest](#keyapis-access_control-v1-GetRfidCountRequest)
 Запрос получения количества ключей


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidCountRequest-filter"></a> [filter](#keyapis-access_control-v1-GetRfidCountRequest-filter) | Фильтр |    [keyapis.access_control.v1.RfidFilter](#keyapis-access_control-v1-RfidFilter) | <nil>|






<a name="keyapis-access_control-v1-GetRfidCountResponse"></a>


### [GetRfidCountResponse](#keyapis-access_control-v1-GetRfidCountResponse)
 Ответ на запрос получения количества ключей


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidCountResponse-data"></a> [data](#keyapis-access_control-v1-GetRfidCountResponse-data) | Количество |  optional  [int32](#scalar-types) | <nil>|
| <a id="keyapis-access_control-v1-GetRfidCountResponse-error"></a> [error](#keyapis-access_control-v1-GetRfidCountResponse-error) | Ошибка |  optional  [keyapis.access_control.v1.GetRfidCountResponse.Error](#keyapis-access_control-v1-GetRfidCountResponse-Error) | <nil>|






<a name="keyapis-access_control-v1-GetRfidCountResponse-Error"></a>


### [GetRfidCountResponse.Error](#keyapis-access_control-v1-GetRfidCountResponse-Error)
 Ошибка


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidCountResponse-Error-validation"></a> [validation](#keyapis-access_control-v1-GetRfidCountResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.access_control.v1.ValidationError](#keyapis-access_control-v1-ValidationError) | <nil>|






<a name="keyapis-access_control-v1-GetRfidListRequest"></a>


### [GetRfidListRequest](#keyapis-access_control-v1-GetRfidListRequest)
 Запрос получения списка ключей


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidListRequest-filter"></a> [filter](#keyapis-access_control-v1-GetRfidListRequest-filter) | Фильтр |    [keyapis.access_control.v1.RfidFilter](#keyapis-access_control-v1-RfidFilter) | <nil>|
| <a id="keyapis-access_control-v1-GetRfidListRequest-paging"></a> [paging](#keyapis-access_control-v1-GetRfidListRequest-paging) | Стандартный постраничный вывод |  optional  [keyapis.access_control.v1.RfidPaging](#keyapis-access_control-v1-RfidPaging) | <nil>|






<a name="keyapis-access_control-v1-GetRfidListResponse"></a>


### [GetRfidListResponse](#keyapis-access_control-v1-GetRfidListResponse)
 Ответ на запрос получения списка ключей


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidListResponse-data"></a> [data](#keyapis-access_control-v1-GetRfidListResponse-data) | Ключ |  optional  [keyapis.access_control.v1.Rfid](#keyapis-access_control-v1-Rfid) | <nil>|
| <a id="keyapis-access_control-v1-GetRfidListResponse-error"></a> [error](#keyapis-access_control-v1-GetRfidListResponse-error) | Ошибка |  optional  [keyapis.access_control.v1.GetRfidListResponse.Error](#keyapis-access_control-v1-GetRfidListResponse-Error) | <nil>|






<a name="keyapis-access_control-v1-GetRfidListResponse-Error"></a>


### [GetRfidListResponse.Error](#keyapis-access_control-v1-GetRfidListResponse-Error)
 Ошибка


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidListResponse-Error-validation"></a> [validation](#keyapis-access_control-v1-GetRfidListResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.access_control.v1.ValidationError](#keyapis-access_control-v1-ValidationError) | <nil>|






<a name="keyapis-access_control-v1-GetRfidRequest"></a>


### [GetRfidRequest](#keyapis-access_control-v1-GetRfidRequest)
 Запрос получения ключа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidRequest-id"></a> [id](#keyapis-access_control-v1-GetRfidRequest-id) | Идентификатор ключа. # Диапазон: 0..2147483647 |    [int32](#scalar-types) | REQUIRED|






<a name="keyapis-access_control-v1-GetRfidResponse"></a>


### [GetRfidResponse](#keyapis-access_control-v1-GetRfidResponse)
 Ответ на запрос получения ключа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidResponse-data"></a> [data](#keyapis-access_control-v1-GetRfidResponse-data) | Ключ |  optional  [keyapis.access_control.v1.Rfid](#keyapis-access_control-v1-Rfid) | <nil>|
| <a id="keyapis-access_control-v1-GetRfidResponse-error"></a> [error](#keyapis-access_control-v1-GetRfidResponse-error) | Ошибка |  optional  [keyapis.access_control.v1.GetRfidResponse.Error](#keyapis-access_control-v1-GetRfidResponse-Error) | <nil>|






<a name="keyapis-access_control-v1-GetRfidResponse-Error"></a>


### [GetRfidResponse.Error](#keyapis-access_control-v1-GetRfidResponse-Error)
 Ошибка


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-GetRfidResponse-Error-validation"></a> [validation](#keyapis-access_control-v1-GetRfidResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.access_control.v1.ValidationError](#keyapis-access_control-v1-ValidationError) | <nil>|






<a name="keyapis-access_control-v1-PostRfidRequest"></a>


### [PostRfidRequest](#keyapis-access_control-v1-PostRfidRequest)
 Запрос создания ключа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-PostRfidRequest-data"></a> [data](#keyapis-access_control-v1-PostRfidRequest-data) | Ключ |    [keyapis.access_control.v1.Rfid](#keyapis-access_control-v1-Rfid) | REQUIRED|






<a name="keyapis-access_control-v1-PostRfidResponse"></a>


### [PostRfidResponse](#keyapis-access_control-v1-PostRfidResponse)
 Ответ на запрос создания ключа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-PostRfidResponse-data"></a> [data](#keyapis-access_control-v1-PostRfidResponse-data) | Ключ |  optional  [keyapis.access_control.v1.Rfid](#keyapis-access_control-v1-Rfid) | <nil>|
| <a id="keyapis-access_control-v1-PostRfidResponse-error"></a> [error](#keyapis-access_control-v1-PostRfidResponse-error) | Ошибка |  optional  [keyapis.access_control.v1.PostRfidResponse.Error](#keyapis-access_control-v1-PostRfidResponse-Error) | <nil>|






<a name="keyapis-access_control-v1-PostRfidResponse-Error"></a>


### [PostRfidResponse.Error](#keyapis-access_control-v1-PostRfidResponse-Error)
 Ошибка


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-PostRfidResponse-Error-validation"></a> [validation](#keyapis-access_control-v1-PostRfidResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.access_control.v1.ValidationError](#keyapis-access_control-v1-ValidationError) | <nil>|
| <a id="keyapis-access_control-v1-PostRfidResponse-Error-saving"></a> [saving](#keyapis-access_control-v1-PostRfidResponse-Error-saving) | Ошибка сохранения |  optional  [keyapis.access_control.v1.Rfid.SavingError](#keyapis-access_control-v1-Rfid-SavingError) | <nil>|






<a name="keyapis-access_control-v1-Rfid"></a>


### [Rfid](#keyapis-access_control-v1-Rfid)
 Ключ.
# Описание модели


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-Rfid-id"></a> [id](#keyapis-access_control-v1-Rfid-id) | Идентификатор ключа. # Диапазон: 0..2147483647 |    [int32](#scalar-types) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-user_id"></a> [user_id](#keyapis-access_control-v1-Rfid-user_id) | Идентификатор пользователя |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-description"></a> [description](#keyapis-access_control-v1-Rfid-description) | Системное описание. Обычно оставляет УК/Админ, пользователь его не видет |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-company_id"></a> [company_id](#keyapis-access_control-v1-Rfid-company_id) | Идентификатор компании |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-creator_id"></a> [creator_id](#keyapis-access_control-v1-Rfid-creator_id) | Идентификатор создателя |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-key"></a> [key](#keyapis-access_control-v1-Rfid-key) | Код ключа (UID). Уникальное значение. # Паттерн: /^[0-9a-fA-F]{1,14}$/ |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-access_control-v1-Rfid-pay_type"></a> [pay_type](#keyapis-access_control-v1-Rfid-pay_type) | Тип оплаты |    [keyapis.access_control.v1.Rfid.PayType](#keyapis-access_control-v1-Rfid-PayType) | REQUIRED|
| <a id="keyapis-access_control-v1-Rfid-holder_type"></a> [holder_type](#keyapis-access_control-v1-Rfid-holder_type) | Тип владельца ключа |    [keyapis.access_control.v1.Rfid.HolderType](#keyapis-access_control-v1-Rfid-HolderType) | REQUIRED|
| <a id="keyapis-access_control-v1-Rfid-created_at"></a> [created_at](#keyapis-access_control-v1-Rfid-created_at) | Дата создания. # Тип: DateTime |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|
| <a id="keyapis-access_control-v1-Rfid-changed_at"></a> [changed_at](#keyapis-access_control-v1-Rfid-changed_at) | Дата обновления. # Тип: DateTime? |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-orpon"></a> [orpon](#keyapis-access_control-v1-Rfid-orpon) | ОРПОН дома. # Диапазон: 1..9223372036854775807 |    [int64](#scalar-types) | REQUIRED|
| <a id="keyapis-access_control-v1-Rfid-room_number"></a> [room_number](#keyapis-access_control-v1-Rfid-room_number) | Номер квартиры. # Диапазон: 1..4 |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-access_control-v1-Rfid-SavingError"></a>


### [Rfid.SavingError](#keyapis-access_control-v1-Rfid-SavingError)
 Ошибка сохранения ключа.
Эти проверки выполняются при работе с базой данных и сторонними сервисами


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-Rfid-SavingError-conflict"></a> [conflict](#keyapis-access_control-v1-Rfid-SavingError-conflict) | Конфликт версий |  optional  [keyapis.access_control.v1.Rfid.SavingError.Conflict](#keyapis-access_control-v1-Rfid-SavingError-Conflict) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-SavingError-key_exist"></a> [key_exist](#keyapis-access_control-v1-Rfid-SavingError-key_exist) | Данный ключ уже существует |  optional  [keyapis.access_control.v1.Rfid.SavingError.KeyExist](#keyapis-access_control-v1-Rfid-SavingError-KeyExist) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-SavingError-key_code_cannot_be_changed"></a> [key_code_cannot_be_changed](#keyapis-access_control-v1-Rfid-SavingError-key_code_cannot_be_changed) | Нельзя изменить код ключа |  optional  [keyapis.access_control.v1.Rfid.SavingError.KeyCodeCannotBeChanged](#keyapis-access_control-v1-Rfid-SavingError-KeyCodeCannotBeChanged) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-SavingError-exceeded_quantity_of_keys_for_room"></a> [exceeded_quantity_of_keys_for_room](#keyapis-access_control-v1-Rfid-SavingError-exceeded_quantity_of_keys_for_room) | Превышено максимально допустимое количество ключей (16) для квартиры |  optional  [keyapis.access_control.v1.Rfid.SavingError.ExceededQuantityOfKeysForRoom](#keyapis-access_control-v1-Rfid-SavingError-ExceededQuantityOfKeysForRoom) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-SavingError-key_is_used"></a> [key_is_used](#keyapis-access_control-v1-Rfid-SavingError-key_is_used) | Ключ используется на другой квартире |  optional  [keyapis.access_control.v1.Rfid.SavingError.KeyIsUsed](#keyapis-access_control-v1-Rfid-SavingError-KeyIsUsed) | <nil>|
| <a id="keyapis-access_control-v1-Rfid-SavingError-holder_type_forbidden"></a> [holder_type_forbidden](#keyapis-access_control-v1-Rfid-SavingError-holder_type_forbidden) | Нельзя создавать / изменять ключ с переданным типом владельца |  optional  [keyapis.access_control.v1.Rfid.SavingError.HolderTypeForbidden](#keyapis-access_control-v1-Rfid-SavingError-HolderTypeForbidden) | <nil>|






<a name="keyapis-access_control-v1-Rfid-SavingError-Conflict"></a>


### [Rfid.SavingError.Conflict](#keyapis-access_control-v1-Rfid-SavingError-Conflict)
 Конфликт версий.
Причины:
- В базе хранится другая версия строки, значения changed_at отличаются






<a name="keyapis-access_control-v1-Rfid-SavingError-ExceededQuantityOfKeysForRoom"></a>


### [Rfid.SavingError.ExceededQuantityOfKeysForRoom](#keyapis-access_control-v1-Rfid-SavingError-ExceededQuantityOfKeysForRoom)
 Превышено максимально допустимое количество ключей (16) для квартиры






<a name="keyapis-access_control-v1-Rfid-SavingError-HolderTypeForbidden"></a>


### [Rfid.SavingError.HolderTypeForbidden](#keyapis-access_control-v1-Rfid-SavingError-HolderTypeForbidden)
 Нельзя создавать / изменять ключ с переданным типом владельца.
Доступные типы владельца:
- Жилец (мастер)






<a name="keyapis-access_control-v1-Rfid-SavingError-KeyCodeCannotBeChanged"></a>


### [Rfid.SavingError.KeyCodeCannotBeChanged](#keyapis-access_control-v1-Rfid-SavingError-KeyCodeCannotBeChanged)
 Нельзя изменить код ключа.
Причины:
- При изменении ключа нельзя менять поле key (код ключа)






<a name="keyapis-access_control-v1-Rfid-SavingError-KeyExist"></a>


### [Rfid.SavingError.KeyExist](#keyapis-access_control-v1-Rfid-SavingError-KeyExist)
 Данный ключ уже существует.
Причины:
- При попытке создания ключа в системе уже существует ключ с таким же кодом






<a name="keyapis-access_control-v1-Rfid-SavingError-KeyIsUsed"></a>


### [Rfid.SavingError.KeyIsUsed](#keyapis-access_control-v1-Rfid-SavingError-KeyIsUsed)
 Ключ используется на другой квартире






<a name="keyapis-access_control-v1-RfidFilter"></a>


### [RfidFilter](#keyapis-access_control-v1-RfidFilter)
 Фильтр по ключам


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-RfidFilter-holder_types"></a> [holder_types](#keyapis-access_control-v1-RfidFilter-holder_types) | По типам владельца |  repeated  [keyapis.access_control.v1.Rfid.HolderType](#keyapis-access_control-v1-Rfid-HolderType) | <nil>|
| <a id="keyapis-access_control-v1-RfidFilter-pay_types"></a> [pay_types](#keyapis-access_control-v1-RfidFilter-pay_types) | По типам оплаты |  repeated  [keyapis.access_control.v1.Rfid.PayType](#keyapis-access_control-v1-Rfid-PayType) | <nil>|
| <a id="keyapis-access_control-v1-RfidFilter-orpons"></a> [orpons](#keyapis-access_control-v1-RfidFilter-orpons) | По ОРПОНам |  repeated  [int64](#scalar-types) | <nil>|
| <a id="keyapis-access_control-v1-RfidFilter-room_numbers"></a> [room_numbers](#keyapis-access_control-v1-RfidFilter-room_numbers) | По номерам квартир |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-access_control-v1-RfidFilter-user_ids"></a> [user_ids](#keyapis-access_control-v1-RfidFilter-user_ids) | По идентификаторам пользователей |  repeated  [int32](#scalar-types) | <nil>|
| <a id="keyapis-access_control-v1-RfidFilter-company_ids"></a> [company_ids](#keyapis-access_control-v1-RfidFilter-company_ids) | По идентификаторам компаний |  repeated  [int32](#scalar-types) | <nil>|
| <a id="keyapis-access_control-v1-RfidFilter-keys"></a> [keys](#keyapis-access_control-v1-RfidFilter-keys) | По кодам ключа |  repeated  [string](#scalar-types) | <nil>|






<a name="keyapis-access_control-v1-RfidPaging"></a>


### [RfidPaging](#keyapis-access_control-v1-RfidPaging)
 Постраничный вывод


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-access_control-v1-RfidPaging-order_by_type"></a> [order_by_type](#keyapis-access_control-v1-RfidPaging-order_by_type) | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: CHANGED_AT |    [keyapis.access_control.v1.RfidPaging.OrderByType](#keyapis-access_control-v1-RfidPaging-OrderByType) | <nil>|
| <a id="keyapis-access_control-v1-RfidPaging-direction_type"></a> [direction_type](#keyapis-access_control-v1-RfidPaging-direction_type) | Тип направления сортировки. # По умолчанию: DESC |    [keyapis.access_control.v1.RfidPaging.DirectionType](#keyapis-access_control-v1-RfidPaging-DirectionType) | <nil>|
| <a id="keyapis-access_control-v1-RfidPaging-limit"></a> [limit](#keyapis-access_control-v1-RfidPaging-limit) | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 |    [int32](#scalar-types) | <nil>|
| <a id="keyapis-access_control-v1-RfidPaging-offset"></a> [offset](#keyapis-access_control-v1-RfidPaging-offset) | Сдвиг. # Диапазон: 0..2147483647 |    [int32](#scalar-types) | <nil>|





 <!-- end messages -->



<a name="keyapis-access_control-v1-Rfid-HolderType"></a>

### [Rfid.HolderType](#keyapis-access_control-v1-Rfid-HolderType)
 Тип владельца ключа

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-access_control-v1-Rfid-HolderType-HOLDER_TYPE_UNKNOWN"></a> [HOLDER_TYPE_UNKNOWN](#keyapis-access_control-v1-Rfid-HolderType-HOLDER_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-access_control-v1-Rfid-HolderType-MASTER"></a> [MASTER](#keyapis-access_control-v1-Rfid-HolderType-MASTER) | Жилец |
| 2 | <a id="keyapis-access_control-v1-Rfid-HolderType-COMPANY"></a> [COMPANY](#keyapis-access_control-v1-Rfid-HolderType-COMPANY) | Сотрудник УК |
| 3 | <a id="keyapis-access_control-v1-Rfid-HolderType-EXTERNAL_SELLER"></a> [EXTERNAL_SELLER](#keyapis-access_control-v1-Rfid-HolderType-EXTERNAL_SELLER) | Ключ сотрудника ГАП |
| 4 | <a id="keyapis-access_control-v1-Rfid-HolderType-SYSTEM"></a> [SYSTEM](#keyapis-access_control-v1-Rfid-HolderType-SYSTEM) | Системный ключ |




<a name="keyapis-access_control-v1-Rfid-PayType"></a>

### [Rfid.PayType](#keyapis-access_control-v1-Rfid-PayType)
 Тип оплаты

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-access_control-v1-Rfid-PayType-PAY_TYPE_UNKNOWN"></a> [PAY_TYPE_UNKNOWN](#keyapis-access_control-v1-Rfid-PayType-PAY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-access_control-v1-Rfid-PayType-PAID"></a> [PAID](#keyapis-access_control-v1-Rfid-PayType-PAID) | Платный |
| 2 | <a id="keyapis-access_control-v1-Rfid-PayType-FREE"></a> [FREE](#keyapis-access_control-v1-Rfid-PayType-FREE) | Бесплатный |




<a name="keyapis-access_control-v1-RfidPaging-DirectionType"></a>

### [RfidPaging.DirectionType](#keyapis-access_control-v1-RfidPaging-DirectionType)
 Справочник типов направлений сортировки.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-access_control-v1-RfidPaging-DirectionType-DIRECTION_TYPE_UNKNOWN"></a> [DIRECTION_TYPE_UNKNOWN](#keyapis-access_control-v1-RfidPaging-DirectionType-DIRECTION_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-access_control-v1-RfidPaging-DirectionType-DESC"></a> [DESC](#keyapis-access_control-v1-RfidPaging-DirectionType-DESC) | От большего к меньшему |
| 2 | <a id="keyapis-access_control-v1-RfidPaging-DirectionType-ASC"></a> [ASC](#keyapis-access_control-v1-RfidPaging-DirectionType-ASC) | От меньшего к большему |




<a name="keyapis-access_control-v1-RfidPaging-OrderByType"></a>

### [RfidPaging.OrderByType](#keyapis-access_control-v1-RfidPaging-OrderByType)
 Справочник типов значений сортировки.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-access_control-v1-RfidPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN"></a> [ORDER_BY_TYPE_UNKNOWN](#keyapis-access_control-v1-RfidPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-access_control-v1-RfidPaging-OrderByType-CREATED_AT"></a> [CREATED_AT](#keyapis-access_control-v1-RfidPaging-OrderByType-CREATED_AT) | По времени создания |
| 2 | <a id="keyapis-access_control-v1-RfidPaging-OrderByType-CHANGED_AT"></a> [CHANGED_AT](#keyapis-access_control-v1-RfidPaging-OrderByType-CHANGED_AT) | По времени изменения |


 <!-- end enums -->

 <!-- end HasExtensions -->



## Скалярные типы значений
<a id="scalar-types"></a>

| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
| ----------- | ---------- | ------ | -- | ---- | -- | --- | ---- | --- |
| [double](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float64 | Float | double | double | double | float |
| [float](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float32 | Float | float | float | float | float |
| [int32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [uint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| [sint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sfixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [bool](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean |
| [string](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| [bytes](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |

