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

Протокол

Оглавление

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

/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto.svg

keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto

Спецификация для работы с видеоданными камер

CameraVideoDataService

Сервис управления видеоданными камер

Название метода Описание Тип запроса Тип ответа
GetCameraVideoDataCount Метод получения количества камер. Для master это камеры, привязанные к пользователю, используем поля токена vc_user_id, user_id, company_id. Для owner, employee это камеры, привязанные к компании, используем поле токена company_id. Для admin, service, bti, ltp_first это камеры, привязанные к компании, используем поле scope.company_id. Для admin, service, bti, ltp_first это камеры, привязанные к пользователю, используем поле scope.user_id. Метод доступен для: admin, service, bti, ltp_first, master, owner, employee keyapis.vc.v1.GetCameraVideoDataCountRequest keyapis.vc.v1.GetCameraVideoDataCountResponse
GetCameraVideoDataList Метод получения списка камер. Для master это камеры, привязанные к пользователю, используем поля токена vc_user_id, user_id, company_id. Для owner, employee это камеры, привязанные к компании, используем поле токена company_id. Для admin, service, bti, ltp_first это камеры, привязанные к компании, используем поле scope.company_id. Для admin, service, bti, ltp_first это камеры, привязанные к пользователю, используем поле scope.user_id. Метод доступен для: admin, service, bti, ltp_first, master, owner, employee keyapis.vc.v1.GetCameraVideoDataListRequest keyapis.vc.v1.GetCameraVideoDataListResponse

CameraVideoData

Камера

Поле Описание Тип Признак
uid Идентификатор камеры в системе Видеокомфорт. Тип: Guid string REQUIRED
category Категория камеры keyapis.vc.v1.CameraVideoData.Category
title Наименование камеры string REQUIRED
serial_number Серийный номер камеры string REQUIRED
ip IP камеры string REQUIRED
streamer_url Адрес видео-потока (https соединение) string REQUIRED
mac MAC-адрес камеры string REQUIRED
model Модель камеры string
vendor Производитель камеры string
status Статус камеры keyapis.vc.v1.CameraVideoData.Status REQUIRED
screenshot_url_template URL скриншотов разных размеров в JPG-формате string REQUIRED
screenshot_precise_url_template Шаблон для “точных” скриншотов. Выдаёт скриншоты всех размеров string REQUIRED
user_token U-Токен, кука, которая выдается Умному Дому string REQUIRED
streamer_token Токен для воспроизведения видео с камеры string REQUIRED
screenshot_token Токен для получения контента с cdn (например, файлов изображений) string REQUIRED
archive_length Глубина хранения видео в минутах int32
location Координаты месторасположения keyapis.vc.v1.CameraVideoData.Location
created_at Дата создания google.protobuf.Timestamp OUTPUT_ONLY
updated_at Дата обновления google.protobuf.Timestamp OUTPUT_ONLY
utc_offset Смещение таймзоны в минутах. # Диапазон: -720..840 int32

CameraVideoData.Category

Категория камеры

Поле Описание Тип Признак
id Идентификатор группы int32 REQUIRED
type Тип группы string REQUIRED
title Имя группы string REQUIRED

CameraVideoData.Location

Координаты месторасположения

Поле Описание Тип Признак
lat Широта double REQUIRED
lng Долгота double REQUIRED

CameraVideoData.Status

Статус камеры

Поле Описание Тип Признак
id Идентификатор статуса int32 REQUIRED
type online/offline string REQUIRED
title Доступна/Не доступна string REQUIRED

CameraVideoDataFilter

Фильтр камер

Поле Описание Тип Признак
uids Идентификатор камеры в системе Видеокомфорт. Тип: Guid repeated string
title Наименование камеры repeated string
mac MAC-адрес камеры repeated string
ip IP камеры repeated string
serial_number Серийный номер камеры repeated string
category Категория камеры repeated string

CameraVideoDataPaging

Постраничный вывод

Поле Описание Тип Признак
order_by_type Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. По умолчанию: UID keyapis.vc.v1.CameraVideoDataPaging.OrderByType
direction_type Тип направления сортировки. # По умолчанию: DESC keyapis.vc.v1.CameraVideoDataPaging.DirectionType
limit Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 int32
offset Сдвиг. # Диапазон: 0..2147483647 int32

CameraVideoDataScope

Ограничение выборки камер

Поле Описание Тип Признак
company_id Идентификатор компании optional int64
user_id Идентификатор пользователя optional int32

GetCameraVideoDataCountRequest

Запрос на получение количества камер

Поле Описание Тип Признак
scope Ограничение выборки keyapis.vc.v1.CameraVideoDataScope
filter Фильтр keyapis.vc.v1.CameraVideoDataFilter

GetCameraVideoDataCountResponse

Ответ на получение количества камер

Поле Описание Тип Признак
data Всего количество optional int32
error Ошибка optional keyapis.vc.v1.GetCameraVideoDataCountResponse.Error

GetCameraVideoDataCountResponse.Error

Ошибка запроса

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.vc.v1.ValidationError

GetCameraVideoDataListRequest

Запрос на получение списка камер

Поле Описание Тип Признак
scope Ограничение выборки keyapis.vc.v1.CameraVideoDataScope
filter Фильтр keyapis.vc.v1.CameraVideoDataFilter
paging Постраничный вывод optional keyapis.vc.v1.CameraVideoDataPaging

GetCameraVideoDataListResponse

Ответ на получение списка камер

Поле Описание Тип Признак
data Камера repeated keyapis.vc.v1.CameraVideoData
error Ошибка keyapis.vc.v1.GetCameraVideoDataListResponse.Error

GetCameraVideoDataListResponse.Error

Ошибка запроса

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.vc.v1.ValidationError

CameraVideoDataPaging.DirectionType

Справочник типов направлений сортировки.

Тип: byte

Номер Тип Название
0 DIRECTION_TYPE_UNKNOWN Значение не указано
1 DESC От большего к меньшему
2 ASC От меньшего к большему

CameraVideoDataPaging.OrderByType

Справочник типов значений сортировки.

Тип: byte

Номер Тип Название
0 ORDER_BY_TYPE_UNKNOWN Значение не указано
1 CREATED_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