Протокол¶
Оглавление¶
-
keyapis/preset/v1/keyapis_preset_preset_v1.proto
- DeletePresetResponse
- DeletePresetResponse.Error
- DeletePresetResponse.Error.NotAllowedForDefault
- GetPresetCountRequest
- GetPresetCountResponse
- GetPresetCountResponse.Error
- GetPresetDefaultRequest
- GetPresetDefaultResponse
- GetPresetListRequest
- GetPresetListResponse
- GetPresetListResponse.Error
- GetPresetRequest
- GetPresetResponse
- PostPresetRequest
- PostPresetResponse
- PostPresetResponse.Error
- Preset
- Preset.Dtmf
- Preset.FaceRecognition
- Preset.Ntp
- Preset.Room
- Preset.SavingError
- Preset.SavingError.Conflict
- Preset.SavingError.NotAllowedForDefault
- Preset.Sip
- Preset.Syslog
- Preset.VideoConfig
- Preset.VideoConfig.RtspUser
- PresetFilter
- PresetPaging
- Preset.StatusType
- Preset.Syslog.ProtocolType
- Preset.VideoConfig.QualityType
- PresetPaging.DirectionType
- PresetPaging.OrderByType
Схема классов¶
keyapis/preset/v1/keyapis_preset_preset_v1.proto¶
Сервис реализует функционал хранения пресетов устройств
PresetService¶
Сервис пресетов
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| PostPreset | Метод сохранения пресетов. Поддерживает создание и обновление. При обновлении пресета посылается задача PresetInstallTask в очередь key.preset.install. Данное сообщение должно отправляться только если изменению подверглось одно из следующих полей: - Sip; - Ntp; - Syslog; - Room; - VideoConfig; - Dtmf. Метод доступен для: admin, service | keyapis.preset.v1.PostPresetRequest | keyapis.preset.v1.PostPresetResponse |
| GetPreset | Метод получения пресета по идентификатору. Метод доступен для: admin, service, bti, ltp_first, owner, employee | keyapis.preset.v1.GetPresetRequest | keyapis.preset.v1.GetPresetResponse |
| GetPresetDefault | Метод получения дефолтного пресета. Метод доступен для: admin, service, bti, ltp_first, owner, employee | keyapis.preset.v1.GetPresetDefaultRequest | keyapis.preset.v1.GetPresetDefaultResponse |
| GetPresetList | Метод получения пресетов. Метод доступен для: admin, service, bti, ltp_first, owner, employee | keyapis.preset.v1.GetPresetListRequest | keyapis.preset.v1.GetPresetListResponse stream |
| GetPresetCount | Метод получения количества пресетов. Метод доступен для: admin, service, bti, ltp_first, owner, employee | keyapis.preset.v1.GetPresetCountRequest | keyapis.preset.v1.GetPresetCountResponse |
| DeletePreset | Метод удаления пресета. Нельзя удалить пресет, если он используется на устройстве. Нельзя удалить дефолтный пресет. Метод доступен для: admin, service | keyapis.preset.v1.DeletePresetRequest | keyapis.preset.v1.DeletePresetResponse |
DeletePresetRequest¶
Запрос удаления пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор пресета | int32 | REQUIRED |
DeletePresetResponse¶
Ответ на запрос удаления пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| error | Ошибка при удалении | optional keyapis.preset.v1.DeletePresetResponse.Error |
DeletePresetResponse.Error¶
Ошибка при удалении
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| not_allowed_for_default | Запрещено для дефолтного пресета | optional keyapis.preset.v1.DeletePresetResponse.Error.NotAllowedForDefault |
DeletePresetResponse.Error.NotAllowedForDefault¶
Недоступно для дефолтного пресета
GetPresetCountRequest¶
Запрос получения количества пресетов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.preset.v1.PresetFilter |
GetPresetCountResponse¶
Ответ на запрос получения количества пресетов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Всего пресетов | optional int32 | |
| error | Ошибка | optional keyapis.preset.v1.GetPresetCountResponse.Error |
GetPresetCountResponse.Error¶
Ошибка запроса получения количества пресетов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.preset.v1.ValidationError |
GetPresetDefaultRequest¶
Запрос получения дефолтного пресета
GetPresetDefaultResponse¶
Ответ на запрос получения дефолтного пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Пресет | optional keyapis.preset.v1.Preset |
GetPresetListRequest¶
Запрос на получение списка пресетов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.preset.v1.PresetFilter | |
| paging | Стандартный постраничный вывод | optional keyapis.preset.v1.PresetPaging |
GetPresetListResponse¶
Ответ на получение списка пресетов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Пресет | optional keyapis.preset.v1.Preset | |
| error | Ошибка | optional keyapis.preset.v1.GetPresetListResponse.Error |
GetPresetListResponse.Error¶
Ошибка запроса получения списка пресетов
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.preset.v1.ValidationError |
GetPresetRequest¶
Запрос получения пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор | int32 | REQUIRED |
GetPresetResponse¶
Ответ на запрос получения пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Пресет | optional keyapis.preset.v1.Preset |
PostPresetRequest¶
Запрос на создание/изменение пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Пресет | keyapis.preset.v1.Preset | REQUIRED |
PostPresetResponse¶
Ответ на запрос на создание/изменение пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Пресет | optional keyapis.preset.v1.Preset | |
| error | Ошибка | optional keyapis.preset.v1.PostPresetResponse.Error |
PostPresetResponse.Error¶
Ошибка запроса сохранения пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.preset.v1.ValidationError | |
| saving | Ошибка сохранения | optional keyapis.preset.v1.Preset.SavingError |
Preset¶
Пресет. Пресет с id=1 является дефолтным пресетом.
Описание модели¶
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор. # Диапазон: 0..2147483647 | int32 | |
| title | Наименование. # Диапазон: 3..256 | string | REQUIRED |
| mrf_ids | Идентификатор МРФ. # Диапазон: 0..10 | repeated int32 | REQUIRED |
| rf_ids | Идентификатор РФ. # Диапазон: 0..100 | repeated int32 | REQUIRED |
| description | Описание. # Диапазон: 3..1024 | google.protobuf.StringValue | OPTIONAL |
| created_at | Дата и время создания. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| changed_at | Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| status_type | Статус | keyapis.preset.v1.Preset.StatusType | REQUIRED |
| sip | Параметр SIP | keyapis.preset.v1.Preset.Sip | REQUIRED |
| ntp | Параметр NTP | keyapis.preset.v1.Preset.Ntp | REQUIRED |
| syslog | Параметр Syslog | keyapis.preset.v1.Preset.Syslog | REQUIRED |
| rooms | Помещения. # Диапазон: 0..10000 | repeated keyapis.preset.v1.Preset.Room | REQUIRED |
| video_config | Параметры конфигурации видео | keyapis.preset.v1.Preset.VideoConfig | REQUIRED |
| dtmf | Параметр DTMF. # Диапазон: 0..64 | repeated keyapis.preset.v1.Preset.Dtmf | REQUIRED |
| face_recognition | Распознование лиц | keyapis.preset.v1.Preset.FaceRecognition |
Preset.Dtmf¶
Параметр DTMF
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| code | Код. # Диапазон: 1..1 | string | REQUIRED |
| relay_index | Индекс реле. # Диапазон: 0..64 | int32 |
Preset.FaceRecognition¶
Распознование лиц
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| host | Адрес | string | REQUIRED |
| alt_host | Альтернативный адрес | string | |
| endpoint | Путь запроса к серверу | string | REQUIRED |
| auth_token | Токен | string | REQUIRED |
| configuration_type | Тип конфигурации | keyapis.preset.v1.Preset.FaceRecognition.ConfigurationType | REQUIRED |
| origin_id | Идентификатор источника в identix | string | REQUIRED |
| group_ids | Идентификаторы групп профилей в identix | repeated int32 |
Preset.Ntp¶
Параметр NTP
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| host | Хост. # Диапазон: 5..256 | string | REQUIRED |
| port | Порт. # Диапазон: 1..65536 | int32 | REQUIRED |
Preset.Room¶
Помещение
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| phone | Номер телефона. # Диапазон: 5..14 | string | REQUIRED |
| num | Номер помещения. # Диапазон: 1..10000 | int32 | REQUIRED |
Preset.SavingError¶
Ошибка сохранения. Эти проверки выполняются при работе с базой данных и сторонними сервисами
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| conflict | Конфликт версий | optional keyapis.preset.v1.Preset.SavingError.Conflict | |
| not_allowed_for_default | Запрещено для дефолтного пресета | optional keyapis.preset.v1.Preset.SavingError.NotAllowedForDefault |
Preset.SavingError.Conflict¶
Конфликт версий. Причины: - В базе хранится другая версия строки, значения changed_at отличаются
Preset.SavingError.NotAllowedForDefault¶
Недоступно для дефолтного пресета. Причины: - Смена статуса на Архивный
Preset.Sip¶
Параметр SIP
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| host | Хост. # Диапазон: 5..256 | string | REQUIRED |
| port | Порт. # Диапазон: 1..65536 | int32 | REQUIRED |
| reg_host | Хост reg. # Диапазон: 5..256 | string | REQUIRED |
| reg_port | Порт reg. # Диапазон: 1..65536 | int32 | REQUIRED |
| proxy_host | Хост proxy. # Диапазон: 5..256 | string | REQUIRED |
| proxy_port | Порт proxy. # Диапазон: 1..65536 | int32 | REQUIRED |
Preset.Syslog¶
Параметр Syslog
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| host | Хост. # Диапазон: 5..256 | string | REQUIRED |
| port | Порт. # Диапазон: 1..65536 | int32 | REQUIRED |
| protocol_type | Протокол | keyapis.preset.v1.Preset.Syslog.ProtocolType | REQUIRED |
Preset.VideoConfig¶
Параметры конфигурации видео
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| quality_type | Тип пресета | keyapis.preset.v1.Preset.VideoConfig.QualityType | REQUIRED |
| rtsp_user | Пользователь | keyapis.preset.v1.Preset.VideoConfig.RtspUser | REQUIRED |
Preset.VideoConfig.RtspUser¶
Пользователь
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| username | Имя пользователя. # Диапазон: 3..256 | string | REQUIRED |
| password | Пароль. # Диапазон: 3..256 | string | REQUIRED |
PresetFilter¶
Фильтр по пресетам
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| mrf_ids | По идентификаторам МРФ | repeated int32 | |
| rf_ids | По идентификаторам РФ | repeated int32 | |
| text | Поиск по тексту. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64. # Поиск производится по полям: # - Наименование; # - Описание | google.protobuf.StringValue | OPTIONAL |
| title | Поиск по наименованию. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64. # Поиск производится по полям: # - Наименование | google.protobuf.StringValue | OPTIONAL |
| status_types | По статусам | repeated keyapis.preset.v1.Preset.StatusType | OPTIONAL |
PresetPaging¶
Постраничный вывод
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: CHANGED_AT | keyapis.preset.v1.PresetPaging.OrderByType | |
| direction_type | Тип направления сортировки. # По умолчанию: DESC | keyapis.preset.v1.PresetPaging.DirectionType | |
| limit | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 | int32 | |
| offset | Сдвиг. # Диапазон: 0..2147483647 | int32 |
ValidationError¶
Ошибки валидации. Эти проверки выполняются до обращения в базу данных
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| path | Путь к полю в формате наименования прото | string | REQUIRED |
| message | Валидационное сообщение | string | REQUIRED |
Preset.FaceRecognition.ConfigurationType¶
Тип конфигурации
| Номер | Тип | Название |
|---|---|---|
| 0 | CONFIGURATION_TYPE_UNKNOWN | Значение не указано |
| 1 | DEFAULT | По умолчанию |
Preset.StatusType¶
Справочник статусов.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | ACTIVE | Активный |
| 2 | ARCHIVE | Архивный |
Preset.Syslog.ProtocolType¶
Тип протокола.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | PROTOCOL_TYPE_UNKNOWN | Значение не указано |
| 1 | UDP | Протокол UDP |
| 2 | TCP | Протокол TCP |
Preset.VideoConfig.QualityType¶
Справочник качеств.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | QUALITY_TYPE_UNKNOWN | Значение не указано |
| 1 | HIGH | Высокое качество |
| 2 | MEDIUM | Среднее качество |
PresetPaging.DirectionType¶
Справочник типов направлений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
PresetPaging.OrderByType¶
Справочник типов значений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | ID | По идентификатору |
| 2 | CREATED_AT | По времени создания |
| 3 | CHANGED_AT | По времени изменения |
| 4 | RANK | По рангу для поиска по тексту. Применяется когда передано поле для поиска по тексту. В случае если текстовое поле не передано, применяется значение по умолчанию |
Скалярные типы значений¶
| .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 |