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

Протокол

Оглавление

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

/svg/protos/key/keyapis/preset/v1/keyapis_preset_preset_v1.proto.svg

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