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

Протокол

Оглавление

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

/svg/protos/key/keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto.svg

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